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, persona_interview, 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/update field description_long).
Free-text candidate expectations. Null for multi-stage positions.
Department the position belongs to.
"Engineering"
Salary range shown for the position.
"$80k - $100k"
ISO date/time after which the interview is no longer available to candidates. Null means always available.
Profile id of the recruiter owning this interview/position.
URL slug of the public listing, when one was generated.
Free-form tags. Also the coaching-catalogue mapping key: a catalogue directory lists this session when its tags_interview_set_filter is a subset of these tags. Null for multi-stage positions.
Coaching-plan stage this session belongs to. Null for multi-stage positions and for sessions outside any plan.
demo, screening, 2nd, 3rd, closing, job-specific, other Conversation pace of the AI avatar (slower/normal/faster). Null keeps the template default. Null for multi-stage positions.
Maximum number of AI follow-up questions; null uses the template default. Null for multi-stage positions.
Live session limit in seconds. Null for multi-stage positions.
Fraction of the questions actually asked (0.01-0.9); null asks all of them. Null for multi-stage positions.
Whether a pronunciation assessment is required. Null for multi-stage positions.
Whether the candidate may edit the transcript on the result view. Null for multi-stage positions.
The compiled interview definition JSON (structure varies by interview type).
Structured candidate expectations JSON — the scoring rubric. Null for multi-stage positions.
Resolved result-scoring config (update field custom_scoring; its max_retries is the update field interview_attempts). Null means the platform defaults apply. 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, hiring_for_company).
Auto-PDF-report options applied when the interview completes; null when auto-export is off. Null for multi-stage positions.