POST requests with Content-Type: application/json. Your endpoint must return a 2xx response within 10 seconds for the delivery to be considered successful.
Every payload includes:
| Field | Type | Description |
|---|---|---|
event | string | The event type identifier |
occurred_at | string | ISO 8601 timestamp of when the event occurred |
candidate.applied
Sent when a candidate submits a self-serve application.Payload
Fields
Unique candidate identifier.
Full name of the candidate.
Email address.
Phone number in E.164 format.
AI-generated fit score (0–100). May be
null if scoring has not completed.ISO 8601 timestamp of when the candidate applied.
Signed URL to the candidate’s resume file, if one was uploaded. Expires after 24 hours.
Parsed resume data, if available.
Direct link to the candidate’s profile in the Outhire app.
ID of the job the candidate applied to.
Title of the job.
ID of the company that owns the job.
candidate.stage_changed
Sent when a candidate moves from one pipeline stage to another. The event is not fired if the previous and new stage are the same.Trigger sources
Stage changes can originate from:- A user moving a candidate in the UI (single or bulk)
- Joel (Outhire’s AI agent) updating a candidate’s stage
- The public API (
PATCH /api/v1/candidates/:id)
Payload
Fields
Unique candidate identifier.
Public-facing candidate ID (prefixed with
cand_).Full name of the candidate.
Email address.
Direct link to the candidate’s profile in the Outhire app.
ID of the job the candidate is associated with.
Title of the job.
ID of the company.
The stage the candidate was in before the change.
The stage the candidate moved to.
Who initiated the change. One of:
user, joel, or api.UUID of the user who made the change, when applicable.
null for non-user actors.