Withdraw a candidate
Withdraws the candidate’s open application from your side (for example the applicant withdrew on your platform). Any in-flight screening attempts are cancelled, the screening status becomes withdrawn, and a candidate.withdrawn webhook is emitted. Returns 409 if the candidate has no open application to withdraw.
Authentication
Path parameters
Organization ID (org_...).
Candidate ID (cand_...).
Headers
Unique key (e.g. a UUID) making this POST safe to retry. Replays within 24 hours return the original response without repeating side effects.
Request
Optional free-text reason recorded on the candidate timeline.
Response
Candidate ID (cand_...).
Your platform’s identifier for this applicant; echoed on every related API response and webhook.
Simplified partner-facing screening status. Flow: pending_contact → contacting → terminal (completed, no_answer_exhausted, declined_recording, opted_out, withdrawn). When completed, see outcome for passed vs failed_knockout. The candidate’s full v4 stage slug rides along as stage.
Candidate lifecycle stage slug (v4). Rides along on screenings as stage for partners who want full lifecycle granularity; most integrations only need the simplified partner screening status.
Flat string-to-string map of your own data, up to 20 keys. Stored verbatim and echoed back on the candidate and in webhook payloads.

