Status
The record
- Your own fields. Send up to 10 fields of your own as
metadata(withexternal_id) when you add a candidate: they come back unchanged on every result. - Sections. A section of
outputappears only once its data exists and only if that check ran for the job. - Screening answers are keyed by the question text.
qualifiedistruewhen every yes/no answer is the wanted one (the opposite of itsknockout, oryeswhen no knockout is set), andnullwhen there is no yes/no answer to judge.answers_nativeholds the original-language text of voice answers. - Skill verification gives the
verdict,total_score, aratingper skill, how many questions wereansweredoftotal, and recordings: one video per question, orcall_recording_urlwhen the candidate verified by phone. - Location.
location_nameis the town the candidate was in when they allowed location on the verification link (nullwhen they denied it, it could not be looked up, or they verified by phone call); coordinates are never returned. - Privacy. Phone numbers are never returned.
Endpoints
List mandate campaigns
GET /mandates/{mandate_id}/campaigns
List the campaigns that were sent for one job.
Scope: results:read
Can also return the common errors. Full schema
List campaign results
GET /campaigns/{campaign_id}/results
One record per candidate: status (pending, completed, declined, failed) and output with what Record collected. Prefer the webhook; use this to catch up or check.
Scope: results:read
data.items[0].candidate_id for the next step.
Can also return the common errors. Full schema
Get a result
GET /results/{candidate_id}
The same record the webhook delivers for this candidate.
Scope: results:read
Can also return the common errors. Full schema
Candidate rows and verdicts
One row per candidate with progress, verdict and score, and one candidate’s full result with a rating per skill.List campaign candidates
GET /campaigns/{campaign_id}/candidates
One row per candidate: candidate_id, interested or not, progress, verdict and score, plus delivery (queued, sent, failed) and can_resend, so you can see who needs their link sent again. Phone numbers are never returned. A key with only campaigns:write gets the rows with verdict, total_score and report_url left null.
Scope: results:read or campaigns:write
Can also return the common errors. Full schema
Get a candidate verdict
GET /candidates/{candidate_id}/result
Verdict, score, a rating per skill and a report link. Add include=answers to also get what they said.
Scope: results:read
Can also return the common errors. Full schema

