Get interview definition
Retrieves the interview definition for a given interview-definition id or position id. Returns the compiled calc_definition_json plus basic metadata. Access is subject to the caller’s row-level security.
Authorizations
Supabase JWT — Authorization: Bearer <token>.
Query Parameters
Identifier of either an interview definition (single-stage) or a position definition (multi-stage). The function resolves whichever matches.
1"00000000-0000-0000-0000-000000000000"
Response
The resolved interview definition.
Interview or position name.
"2026-01-15T09:30:00.000Z"
"2026-01-20T14:05:00.000Z"
True when the id resolved to a multi-stage position rather than a single interview.
Lifecycle status of the interview/position.
draft, active, archived, deleted, preparing, completed Who can see and access the interview/position.
public, merchant_public, merchant_invite, merchant_unlisted, sub_item Hiring-pipeline stage. Null for multi-stage positions.
Interest, Application submitted, Interview 1st planned, Interview 1st completed, Interview 2nd planned, Interview 2nd completed, Interview 3rd planned, Interview 3rd completed, Offer negotiations, Hired, Rejected, Offer declined, Other Interview type. Null for multi-stage positions.
coaching, interview, persona, public_avatar, assessment Caller-supplied external code/reference.
Location (create field location).
Cover image URL.
Owning merchant id.
Interview template id. For multi-stage positions this is the first interview step's template.
Type of the linked interview template. interactive_elevenlabs is voice-only; the others (interactive_heygen, offline_heygen, offline_elai, offline_synthesia) are avatar-based. Null when the template could not be resolved.
offline_elai, offline_synthesia, interactive_heygen, offline_heygen, interactive_elevenlabs Convenience flag derived from interview_template_type: true when voice-only (interactive_elevenlabs), false when avatar-based, null when the template type could not be resolved.
Linked knowledge base store id. Null for multi-stage positions.
Platform (mojito) language code.
"en"
Azure speech language code. Null for multi-stage positions.
Azure speech language display name. Null for multi-stage positions.
Per-answer recording mode. Null for multi-stage positions.
audio_first_5_answers, audio_all, video_all, video_first_5_answers Full-session recording mode. Null for multi-stage positions.
audio_first_5_answers, audio_all, video_all, video_first_5_answers Credit bucket the interview draws from. Null for multi-stage positions.
resume_check, interview_coach_starter, interview_coach_contributor, interview_coach_manager, cover_letter Result view level. Null for multi-stage positions.
minimal, advanced, full, full_expand_scores, minimal_with_score, none Whether a candidate video introduction is hidden/optional/required. Null for multi-stage positions.
hidden, optional, required Short description.
Long description (create field description_long).
Free-text candidate expectations. Null for multi-stage positions.
The compiled interview definition JSON (structure varies by interview type).
Structured candidate expectations JSON. Null for multi-stage positions.
Resolved result-scoring config. Null for multi-stage positions.
The creation parameters recorded at build time (interview_type, interview_tone, interview_length, additional_context, include_rapport_question, include_closing_prompt, knowledge_base_store_id, seniority_level).