Screening interview
https://api.curriculo.me/public/screening-interviewhttps://api.curriculo.me/public/screening-interview/{screening_id}On this page
Send candidate email addresses, questions, job metadata and a callback URL. Curriculo emails each candidate a link to the interview, hosts the recording, and POSTs each answer to your callback_url as it comes in, with the transcript captured on the interview page (empty when none was captured). A failed address does not cancel the others.
Price: $0.02 per invite actually sent. Failed invites are not charged.
Call these endpoints directly with your Console key.
Request
application/json
| Field | Required | Notes |
|---|---|---|
candidate_emails | Yes | 1 to 50 plain email addresses. |
questions | Yes | 1 to 10 questions. The candidate answers them in order. |
callback_url | Yes | https URL on your server. We POST each answer here. No user name, password or # fragment in the URL. |
job_title | No | Shown in the invite. Defaults to "Screening". |
company | No | Shown in the invite. Defaults to "the hiring team". |
curl -X POST https://api.curriculo.me/public/screening-interview \
-H 'Authorization: Bearer key_abc123_yoursecret' \
-H 'Content-Type: application/json' \
-d '{
"candidate_emails": ["ada@example.com"],
"questions": ["Tell us about a system you shipped."],
"callback_url": "https://example.com/screening",
"job_title": "Backend engineer"
}'Response
The call answers 202 with a screening_id, a callback_secret shown once, sent_count, and an invites list. Each invite is sent or failed. Store the callback_secret.
Callbacks
Each answer is one signed POST to your server. X-Curriculo-Signature is sha256= plus the lowercase hex HMAC-SHA256 of the raw body, keyed with the callback_secret from the 202 (used as-is). Verify it exactly as for background task callbacks.
{
"screening_id": "...",
"email": "ada@example.com",
"question": "Tell us about a system you shipped.",
"question_index": 0,
"transcript": "I shipped the billing service.",
"recording_url": "https://api.curriculo.me/api/v2/ats/media/v1/assets/...",
"media_kind": "video",
"duration_seconds": 142,
"completed": false
}question_indexstarts at 0.completedstaysfalseuntil that candidate has a final answer for every question.- The
recording_urlis a private Curriculo media link, meant for your ATS result page, where recruiters can watch the answer beside the transcript.
The callback URL is your backend URL, not a candidate page and not a recruiter dashboard. Curriculo sends signed, machine-readable results there; your product decides how recruiters see them.
Get a screening
curl https://api.curriculo.me/public/screening-interview/<screening_id> \
-H 'Authorization: Bearer key_abc123_yoursecret'Read a screening's results at any time. If an old recording link has expired, request the screening again to receive a fresh media URL.
Data handling
Screening interviews keep invites, candidate answers and recordings so your ATS can retrieve completed recordings and transcripts. See Data handling.
New to the Curriculo API? Start with the Quickstart.
Updated