Skip to main content
A result is what Record collected from the candidate: the answers to your screening questions, the skill-verification verdict and score, and other roles they are open to. It comes as one record per candidate. The best way to get it is the webhook; these endpoints are for catching up and checking.

Status

The record

  • Your own fields. Send up to 10 fields of your own as metadata (with external_id) when you add a candidate: they come back unchanged on every result.
  • Sections. A section of output appears only once its data exists and only if that check ran for the job.
  • Screening answers are keyed by the question text. qualified is true when every yes/no answer is the wanted one (the opposite of its knockout, or yes when no knockout is set), and null when there is no yes/no answer to judge. answers_native holds the original-language text of voice answers.
  • Skill verification gives the verdict, total_score, a rating per skill, how many questions were answered of total, and recordings: one video per question, or call_recording_url when the candidate verified by phone.
  • Location. location_name is the town the candidate was in when they allowed location on the verification link (null when 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
Save 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