Skip to main content
GET
List interview results

Authorizations

Authorization
string
header
required

Supabase JWT — Authorization: Bearer <token>.

Query Parameters

merchant_id
string<uuid>

Optional merchant to scope to. Admins and sub-merchant operators only; other callers always use their token's merchant.

Example:

"28106cba-1c27-4e53-b149-32113e5e8e31"

type
enum<string>
default:interview

Product type of results to list. Multi-stage applications count as interview.

Available options:
interview,
coaching,
assessment,
public_avatar,
persona,
persona_interview
Example:

"interview"

tab
enum<string>

Filter by decision/completion state, as the admin results tabs do. Omit (or empty) to include all. undecided: completed and waiting for a recruiter decision, not shortlisted (undecided-interview, undecided-pre-screening and undecided-meeting narrow it to the current step type; undecided-pre-screening and undecided-meeting match multi-stage applications only); shortlist: waiting for a decision and shortlisted; decided: decided either way; decided-selected / decided-rejected: accepted / rejected (by a recruiter or the AI); submitted: the interview was submitted; completed: the candidate is done; incomplete: the candidate still has something to do; failed: the interview or its processing failed; abandoned: abandoned or stopped without speech; archived-interview: archived results; public_avatar / archived-public_avatar: public avatar sessions (single-stage only).

Available options:
undecided,
undecided-interview,
undecided-pre-screening,
undecided-meeting,
shortlist,
decided,
decided-selected,
decided-rejected,
submitted,
completed,
incomplete,
failed,
abandoned,
archived-interview,
public_avatar,
archived-public_avatar,
Example:

"undecided"

step
enum<string>

Filter by the type of the current pipeline step. A single-stage interview counts as interview. Omit for all. Use position_def_step_id instead to filter by one step of a position.

Available options:
pre-screening,
interview,
invited,
meeting,
external_assessment,
certo_verification
Example:

"interview"

position_def_step_id
string<uuid>

Filter to the applications whose current step is this step of a position (position_def_step.id). Matches multi-stage applications only. Not together with step.

interview_id
string<uuid>

Filter to one interview (interview_def_set.id) or position (position_def_set.id).

profile_interview_id
string<uuid>

Filter to a single candidate (profile_interview.id).

owner
string

Filter by the candidate owner: staff profile ids (profile.id) and/or the word unassigned, comma-separated (a row matches any of them). The owner is the person assigned to the result, else the recruiter of its interview or position. Needs the candidate_assignment switch (else 403).

Example:

"unassigned"

has_introduction_video
enum<string>

true: only results with a candidate video introduction; false: only results without one. Omit for all.

Available options:
true,
false
Example:

"true"

risks
string

Comma-separated list of recruiter-risk keys to filter by (matches any).

order_by
enum<string>
default:created_at_newest

Sort order of the result set.

Available options:
score,
created_at_newest,
created_at_oldest,
updated_at_newest
Example:

"created_at_newest"

filter_text
string

Case-insensitive search on candidate name or email, or the interview / position name.

filter_emoji
string

Filter by the candidate emoji marker.

extended
enum<string>
default:false

When true, each row also carries its owner (assigned_profile_id, owner_profile_id, owner_name), step_since, the questionnaire score and the decision (outcome, outcome_at, hire_start_date, decision_reason_id, decision_reason_label, decision_reason_note, withdrawn_at). Costs one extra read per page.

Available options:
true,
false
Example:

"false"

limit
integer
default:50

Maximum number of records to return (1–1000).

Required range: 1 <= x <= 1000
Example:

50

offset
integer | null
default:0

Number of records to skip from the start of the result set.

Required range: x >= 0
Example:

0

Response

A page of interview results with pagination metadata.

data
object[]
required

The merchant's interview results for this page.

pagination
object
required