Greenhouse · AsyncAPI Specification

Greenhouse Webhooks

Version

View Spec View on GitHub Human ResourcesGreenhouseApplicant TrackingRecruitingCandidatesJobOnboardingHiringTalent AcquisitionEnterprise SaasAsyncAPIEvents

AsyncAPI Specification

Raw ↑
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.
All 92 tools →

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.