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:
candidate.applied
Sent when a candidate submits a self-serve application.Payload
Fields
integer
Unique candidate identifier.
string
Full name of the candidate.
string
Email address.
string
Phone number in E.164 format.
integer | null
AI-generated fit score (0–100). May be
null if scoring has not completed.string
ISO 8601 timestamp of when the candidate applied.
string | null
Signed URL to the candidate’s resume file, if one was uploaded. Expires after 24 hours.
object | null
Parsed resume data, if available.
string
Direct link to the candidate’s profile in the Outhire app.
integer
ID of the job the candidate applied to.
string
Title of the job.
integer
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
integer
Unique candidate identifier.
string
Public-facing candidate ID (prefixed with
cand_).string
Full name of the candidate.
string
Email address.
string
Direct link to the candidate’s profile in the Outhire app.
integer
ID of the job the candidate is associated with.
string
Title of the job.
integer
ID of the company.
string
The stage the candidate was in before the change.
string
The stage the candidate moved to.
string
Who initiated the change. One of:
user, joel, or api.string | null
UUID of the user who made the change, when applicable.
null for non-user actors.