Results
Scores and the evidence behind them. Never a hiring verdict.
A result describes what a candidate showed in a completed interview. It never recommends hiring or rejecting anyone. Scope: results:read.
The result object
| Field | Type | |
|---|---|---|
id | string | res_… |
object | "result" | |
status | "ready" or "pending" | pending until scoring finishes |
session_id, invitation_id, interviewer_id, candidate_id | string | |
overall_score | number or null | Null until scored, or when the interview could not be scored |
dimension_scores | object | technical and communication, each a number or null |
low_confidence | boolean or null | true when the interview was too short or disrupted to score reliably |
low_confidence_reason | string or null | |
summary | string or null | A short, factual account of the interview |
evidence.strengths | string[] | What the candidate did well |
evidence.improvements | string[] | Gaps the interviewer observed |
evidence.questions | object[] | source, prompt, score, max_score per question |
integrity | object | level (none, minor, major), flagged, major_count, minor_count, tab_switches, fullscreen_exits, focus_losses, window_resizes |
quality | object | reconnects, technical_issue, events: connection problems during the interview |
report_url | string | The full report in the dashboard, for signed-in team members |
completed_at | timestamp or null | |
livemode | boolean | |
updated_at | timestamp |
A result can change after it is first ready, for example when a reviewer rescores it. Listen for result.updated or compare updated_at.
List results
GET /results lists scored sessions, newest first. Filters: interviewer_id, candidate_id, created_gte, created_lt.
Retrieve a result
GET /results/{id}. You can also reach it from the session with GET /sessions/{id}/result.