Greenhouse · AsyncAPI Specification
Greenhouse Webhooks
Version
View Spec
View on GitHub
Human ResourcesGreenhouseApplicant TrackingRecruitingCandidatesJobOnboardingHiringTalent AcquisitionEnterprise SaasAsyncAPIEvents
AsyncAPI Specification
generated: '2026-11-05'
method: searched
source: https://developers.greenhouse.io/webhooks.html (served from https://docs.greenhouse.io/webhooks.html); https://developers.greenhouse.io/onboarding_webhooks.html;
openapi/_original/greenhouse-harvest-v3-openapi.json (/v3/webhooks event_action_type enum); https://harvestdocs.greenhouse.io/changelog/cc9538d7fbd83b1aa2ec654d29e8a3a0a12b2449
name: Greenhouse Recruiting Webhooks
docs: https://developers.greenhouse.io/webhooks.html
delivery:
transport: HTTPS POST of a JSON payload to the configured endpoint URL
headers:
Greenhouse-Event-ID: unique id associated with this delivery
Signature: '"<sha algorithm> <hex digest>", e.g. "sha256 37d2..." -- HMAC of the raw request body with the webhook
secret key'
signature:
algorithm: HMAC-SHA256
header: Signature
secret: the secret key entered when creating the webhook
note: Greenhouse will escape Unicode characters when they are encoded as JSON before computing the signature.
retries:
policy: In the event of a failed webhook request (due to timeout, a non HTTP 200 response, or network issues),
Greenhouse will make up to 7 attempts over the course of 15 hours.
attempts: 7
duration: 15 hours
disabling: Webhooks become disabled automatically if a ping event fails on create or update. They need to be manually
re-enabled if this occurs.
management: 'Configured in Greenhouse Recruiting (Dev Center) and, for partners, via the Harvest v3 API: GET/POST
/v3/webhooks and PATCH/DELETE /v3/webhooks/{id} ("Greenhouse Partners Exclusive").'
events:
- name: Application created
source: https://developers.greenhouse.io/webhooks.html
- name: Application deleted
source: https://developers.greenhouse.io/webhooks.html
- name: Application updated
source: https://developers.greenhouse.io/webhooks.html
- name: Offer created
source: https://developers.greenhouse.io/webhooks.html
- name: Offer approved
source: https://developers.greenhouse.io/webhooks.html
- name: Offer updated
source: https://developers.greenhouse.io/webhooks.html
- name: Offer deleted
source: https://developers.greenhouse.io/webhooks.html
- name: Prospect created
source: https://developers.greenhouse.io/webhooks.html
- name: Candidate deleted
source: https://developers.greenhouse.io/webhooks.html
- name: Candidate hired
source: https://developers.greenhouse.io/webhooks.html
- name: Candidate merged
source: https://developers.greenhouse.io/webhooks.html
- name: Candidate stage change
source: https://developers.greenhouse.io/webhooks.html
- name: Candidate unhired
source: https://developers.greenhouse.io/webhooks.html
- name: Candidate/Prospect rejected
source: https://developers.greenhouse.io/webhooks.html
- name: Candidate/Prospect unrejected
source: https://developers.greenhouse.io/webhooks.html
- name: Candidate/Prospect updated
source: https://developers.greenhouse.io/webhooks.html
- name: Candidate anonymized
source: https://developers.greenhouse.io/webhooks.html
- name: Interview deleted
source: https://developers.greenhouse.io/webhooks.html
- name: Scorecard deleted
source: https://developers.greenhouse.io/webhooks.html
- name: Job created
source: https://developers.greenhouse.io/webhooks.html
- name: Job deleted
source: https://developers.greenhouse.io/webhooks.html
- name: Job updated
source: https://developers.greenhouse.io/webhooks.html
- name: Job Approved
source: https://developers.greenhouse.io/webhooks.html
- name: Job Post created
source: https://developers.greenhouse.io/webhooks.html
- name: Job Post updated
source: https://developers.greenhouse.io/webhooks.html
- name: Job Post deleted
source: https://developers.greenhouse.io/webhooks.html
- name: Job Stage deleted
source: https://developers.greenhouse.io/webhooks.html
- name: Department deleted
source: https://developers.greenhouse.io/webhooks.html
- name: Office deleted
source: https://developers.greenhouse.io/webhooks.html
event_action_types_v3:
- application_updated
- candidate_anonymized
- candidate_stage_change
- delete_application
- delete_candidate
- department_deleted
- hire_candidate
- interview_deleted
- job_approved
- job_created
- job_deleted
- job_interview_stage_deleted
- job_post_created
- job_post_deleted
- job_post_updated
- job_updated
- merge_candidate
- new_candidate_application
- new_prospect_application
- offer_approved
- offer_created
- offer_deleted
- offer_updated
- office_deleted
- reject_candidate
- scorecard_deleted
- unhire_candidate
- unreject_candidate
- update_candidate
- interview_scheduled
event_count: 29
onboarding_webhooks:
docs: https://developers.greenhouse.io/onboarding_webhooks.html
product: Greenhouse Onboarding (separate product)
asyncapi: null
asyncapi_note: Greenhouse publishes no AsyncAPI document; this file is the webhook catalog read from the docs and
the v3 contract.
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/greenhouse-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.