{
"error": "Field is required.",
"name": "interview_result_id"
}
{
"error": "Field is required.",
"name": "interview_result_id"
}
{
"error": "Field is required.",
"name": "interview_result_id"
}
{
"error": "Field is required.",
"name": "interview_result_id"
}
Interviews
Create a new interview
Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With questions, your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.
Lifecycle status of the interview. Options — draft: Created but not published — not visible to candidates and cannot be run yet. Use to stage an interview before going live. | active: Published and live — candidates can run it.
Product type of the interview. Options — interview: Standard candidate interview for a role — answers are AI-scored as input for the reviewer's decision. | coaching: Practice/coaching session — candidate-facing feedback to help them improve; not a hiring evaluation. Only available on the coaching portal, NOT the interview portal. | assessment: Skills/knowledge assessment — evaluates competencies and is scored like an interview.
Who can discover and access the interview. Options — merchant_public: Listed on the merchant's public interview list — anyone with the merchant link can find and start it. | merchant_invite: Invite-only — only candidates explicitly invited (by email/link) can access it; not listed anywhere. | merchant_unlisted: Reachable only via a direct link — not listed anywhere; share the link manually.
Cheating/proctoring detection mode for candidate answers — this is NOT a full session recording. Video options also record the candidate. Omit, null or none to disable. Options — audio_first_5_answers: Audio-only cheating detection, first 5 answers only. | audio_all: Audio-only cheating detection on every answer. | video_all: Audio + video cheating detection on every answer (candidate is recorded for all answers). | video_first_5_answers: Audio + video cheating detection, first 5 answers only. | none: No cheating detection.
Full interview-session recording (includes the avatar and voice) produced as a single file. Independent of recording. Omit, null or none to disable. Options — audio_all: Record the whole session audio (avatar + candidate voice) into a single file. Adds +0.2 credits. | video_all: Record the whole session video + audio (avatar + candidate) into a single file. Adds +0.4 credits. | none: No full-session recording.
Which of your webhook environments results from this interview are delivered to. Defaults to production. Options — production: Live hiring. Results reach the webhooks configured as production. This is the default when the field is omitted. | uat: User-acceptance testing - an isolated environment for pre-release verification. | development: Development/testing. Use for interviews created by a test or preview app so their results never reach the production webhook. | demo: Demonstrations and sales trials.
Interview style — configures the AI avatar and shapes both the AI-generated questions and the follow-up questions asked during the interview. Defaults to pre-screening when omitted. Options — pre-screening: Pre-screening — quick qualification check focusing on basic requirements and availability. | pre-screening-with-test-questions: Pre-screening with test questions — pre-screening plus practical questions to test relevant skills. | second-interview: Second round interview — deeper dive for candidates who passed initial screening. | remote-freelancer-verification: Remote worker verification — verify remote work capabilities and communication skills. | strength-based-interview: Strength-based interview — focus on what candidates enjoy and excel at to predict job satisfaction. | potential-based-interview: Potential-based interview — assess learning ability and growth potential rather than past experience. | process-verification-from-knowledge-base: Knowledge Base interview — generate questions from your knowledge base documents. | knockout-screening: Knock-out screening — a short (about 5 minute) check of the role's must-haves with closed questions; ends early, politely, when a must-have is clearly not met. On creation it defaults custom_scoring.early_stop to true (where the avatar supports early stop) and max_followups to 1 unless you send them.
Target seniority level for the role; auto-detected from the job description when omitted. Options — entry-level: Early-career or graduate roles. | intermediate: Some experience required. | senior: Experienced professional. | managerial: Team or department lead. | director: Director-level responsibility. | executive: C-suite or executive role.
Result screen shown to the candidate after finishing. With any value other than none, the candidate sees a results screen where they can provide feedback, record an intro video and edit the transcript, and must then submit the result; the value sets how much score/result detail is shown. Options — none: No results screen at all — the interview is submitted immediately when the candidate finishes (no feedback, intro video, transcript edit or manual submit step). | minimal: Minimal results layout, no score shown. | minimal_with_score: Minimal results layout including the overall score. | advanced: Advanced results layout with more detail. | full: Full results layout with all sections. | full_expand_scores: Full results with every score breakdown expanded.
Conversation pace of the AI avatar. Omit/null keeps the template default pace. Options — slower: The avatar speaks more slowly — easier to follow for non-native speakers. | normal: Default speaking pace. | faster: The avatar speaks more quickly for a snappier conversation. | fluent: Talking pace: the avatar answers 300 ms after the candidate stops speaking. A pause mid-sentence also ends their turn.
Interview tone — configures the AI avatar's speaking style and the tone of the AI-generated questions and follow-ups. Case-insensitive; omit to default to relaxed. Options — relaxed: Friendly and conversational tone that helps candidates feel at ease. | simple: Plain language at CEFR A2 level — short sentences and simple words. | professional: Formal and business-like approach suitable for senior roles. | persuasive: Engaging style that encourages candidates to elaborate. | exact: Asks the questions exactly as provided, without rephrasing — for interviews built from your own questions where the wording is a script.
Number of questions to generate (1-40). Also capped by max_duration, which allows one question per 2 minutes: 20 min -> 10 questions, 30 min -> 15, 45 min -> 22, 60 min -> 30, 80 min -> 40. Asking for more than the cap is not an error — you get the cap, and the response reports the real count in questions_generated. Omit this field to let the AI pick 5-8.
Maximum interview duration in seconds. Scopes how many questions are generated (see interview_length) and is stored on the interview as the live session limit and the basis for the credit multiplier. Defaults to 1200 (20 minutes) when omitted.
Maximum number of AI follow-up questions. 0 disables follow-ups; presets are 0-3 (none/low/normal/high) and custom values start at 4; null uses the template default (Normal).
Who the position is really for. Omit/null (or an object with name null/blank) when hiring for yourself; { name: 'undisclosed' } for an unnamed external client; or { name: '' } plus optional description/location/sector/company_size for a named client. Stored in creation_parameters.hiring_for_company.
Free-form tags stored on the interview. Tags are also the coaching-catalogue mapping key: a catalogue directory (see the catalogue-tag-create / catalogue-tag-update endpoints) lists a coaching or persona session when the session's tags contain EVERY tag in that directory's tags_interview_set_filter. Only active sessions with visibility merchant_public (or the platform's own public) are listed.
Knowledge base store id to source additional context from. Documents limited to chosen interviews are left out, because a new interview is on no list yet.
Short, two-sentence job description shown to the candidate. Required with questions. Without questions, provide it to use it as-is, or leave it null/blank and it is AI-generated from the position name and any other context.
Example:
"Backend role focused on Python, async APIs, and AWS."
Full job description in Markdown (Job Purpose, Responsibilities, Required & Preferred Qualifications). Provide it to use it as-is; leave it null/blank and it is AI-generated (interview and assessment types only). Rendered as Markdown on the candidate-facing position page, including chips, callouts, cards, columns and buttons — formatting guide: https://developer.jobmojito.com/cookbooks/format-content-with-markdown
Custom microphone-test instruction for a recorded (offline avatar) interview, spoken by the avatar and shown on screen before the first question. Omitted uses the default prompt in the interview language.
Example:
"Before we start, let's check your microphone. Say \"Hello, I'm ready.\""
Set true when the interview will be embedded as an iframe on an external page. Provisions an embed key and returns embed_id / embed_signing_key, which are used to authenticate/sign the iframe embed. Where it runs depends on the type: interviews, assessments and interview role-plays embed on the interview portal (https://<interview portal domain>/embed?embed_id=...); coaching sessions and coaching personas embed on the consumer (coaching) portal (https://<coaching portal domain>/embed?embed_id=..., a link built on the interview portal is forwarded there). A signed coaching embed (name, email, signature) signs the visitor in as a learner of that portal, and the session is charged to the merchant's interview credits on completion, not to the learner's coaching credits; it cannot start while the merchant has none.
OPTIONAL: your own ordered list of questions, in the format job-interview-get returns. When given, they are stored as written and nothing is generated by AI except the candidate expectations (type interview, unless candidate_expectations_json is given); in the session the avatar still says each question in the interview tone unless interview_tone is exact. With questions, description becomes required; interview_length and include_closing_prompt are ignored; include_rapport_question defaults to true; max_duration keeps its meaning here (stored, 1200 when omitted). Omit to have the AI generate the description and questions.
With questions only: pre-generated candidate expectations, bucketed by requirement level (weak/moderate/strong); generated from your questions when omitted for type interview. Ignored without questions.
Which countries the interview / position is open to on the candidate portal, judged by the IP address the candidate opens it from (an unknown location only passes when countries_allowed / countries_allowed_eu are empty). From a closed country it is left out of the portal listings, and a direct link shows "not available in your region". Invited candidates (personal invitation links) and candidates who already started keep access; API and MCP calls themselves are never restricted. Null = not used, every country.
SMS / WhatsApp notifications to the candidate, sent alongside the e-mails: "reminders" = with both e-mail reminders (day 1 and day 3); "last_reminder" = only with the final day-3 reminder; "all" = invitation, both reminders and the pre-screening-accepted step. null switches them off. WhatsApp is tried first, SMS when the number is not on WhatsApp. Available on paid plans (Starter and above) and needs a phone number on the candidate.
Number of questions actually generated (with questions: the number of questions you sent). May be lower than the requested interview_length, which is capped by max_duration.
Embed signing key, present only when is_embedded=true.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"JobMojito Developer / Agent","description":"AI Interview and assessment conversational platform documentation","colors":{"primary":"#639C42","light":"#ACCC37","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/jobmojito/DU7xAw61G9kqV1zG/images/jobmojito-light.svg?fit=max\u0026auto=format\u0026n=DU7xAw61G9kqV1zG\u0026q=85\u0026s=6c00cb5f3104ffb6325dacc0818bba69","dark":"https://mintcdn.com/jobmojito/DU7xAw61G9kqV1zG/images/jobmojito-dark.svg?fit=max\u0026auto=format\u0026n=DU7xAw61G9kqV1zG\u0026q=85\u0026s=a05ab0ca109d7a225b08ccac00f9c486","href":"https://jobmojito.com"},"favicon":{"light":"https://mintcdn.com/jobmojito/DU7xAw61G9kqV1zG/images/favicon-light.svg?fit=max\u0026auto=format\u0026n=DU7xAw61G9kqV1zG\u0026q=85\u0026s=f300813ab120824238a790b6905dceee","dark":"https://mintcdn.com/jobmojito/DU7xAw61G9kqV1zG/images/favicon-dark.svg?fit=max\u0026auto=format\u0026n=DU7xAw61G9kqV1zG\u0026q=85\u0026s=2104ff9e7b9fd23fbe5954886c0aafbe"},"navbar":{"links":[{"href":"https://jobmojito.com/support","label":"Support"},{"href":"https://jobmojito.com","label":"Homepage"},{"href":"https://app.jobmojito.com","label":"App"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.mintlify.com"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/jobmojito"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"toc"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"jobmojito","hasAudioNarration":false,"actualSubdomain":"jobmojito","customDomains":["developer.jobmojito.com"],"gitSource":{"type":"github","owner":"mintlify-community","repo":"docs-jobmojito-fee23398","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af1dfb6ee06d45cdd87d014","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"API Reference","count":82},{"language":"default","tag":"Admin","count":19},{"language":"default","tag":"Cookbooks","count":17},{"language":"default","tag":"Webhooks","count":14},{"language":"default","tag":"MCP","count":13},{"language":"default","tag":"Candidates","count":12},{"language":"default","tag":"Interviews","count":10},{"language":"default","tag":"Connect","count":8},{"language":"default","tag":"Reports","count":7},{"language":"default","tag":"Results","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/interviews/create-a-new-interview","slug":"/api-reference/interviews/create-a-new-interview","pageMetadata":{"title":"Create a new interview","description":"Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With `questions`, your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-create","href":"/api-reference/interviews/create-a-new-interview","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With \", _jsx(_components.code, {\n children: \"questions\"\n }), \", your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a new interview","description":"Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With `questions`, your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-create","href":"/api-reference/interviews/create-a-new-interview","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Interviews"],"summary":"Create a new interview","description":"Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With `questions`, your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.","security":["60c47f11-7be7-4c57-a776-96dcb0ae977f"],"requestBody":"3f6e92b9-220f-49c3-9786-da5abe53af5f","responses":{"200":"fc1d0fe3-536d-4797-9adb-5bf7315b18a3","401":"b3f50290-f435-449f-afb9-2c506ca940af","403":"c15d8fcc-d743-454e-99c4-c27a0f516cdb","422":"19fecbd3-027b-4da0-b333-814e79e412a8","500":"7784feb2-12d5-43a7-84e3-094ea561e9bb"},"method":"post","type":"path","servers":["454fcb62-7052-4847-a728-ecf5ade065a6"],"path":"/job-interview-create","baseUrlOptions":["https://cool.jobmojito.com/functions/v1"],"title":"Create a new interview","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Interview / position name.","example":"Project manager","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"location":{"type":"string","minLength":1,"description":"Job location — a city/country, or `remote`. Required and must not be empty: when the job description gives no location, pass `Not specified`.","example":"remote","isRequired":true,"uniqueKey":"location","typeLabel":"string"},"interview_template_id":{"type":"string","minLength":1,"format":"uuid","description":"Id of the interview template to base this interview on.","example":"baa3bf7c-6926-46fd-9005-16738a31f72d","isRequired":true,"uniqueKey":"interview_template_id","typeLabel":"string\u003cuuid>"},"mojito_language_code":{"type":"string","enum":["ar","bg","zh","hr","cs","da","nl","en","fil","fi","fr","de","el","hi","hu","id","it","ja","ko","ms","no","pl","pt","br","ro","ru","sk","es","sv","ta","th","tr","uk","vi"],"description":"Platform language code used for the interview. One of the listed codes.","example":"en","isRequired":true,"uniqueKey":"mojito_language_code","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["draft","active"],"description":"Lifecycle status of the interview. Options — `draft`: Created but not published — not visible to candidates and cannot be run yet. Use to stage an interview before going live. | `active`: Published and live — candidates can run it.","example":"active","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["interview","coaching","assessment"],"description":"Product type of the interview. Options — `interview`: Standard candidate interview for a role — answers are AI-scored as input for the reviewer's decision. | `coaching`: Practice/coaching session — candidate-facing feedback to help them improve; not a hiring evaluation. Only available on the coaching portal, NOT the interview portal. | `assessment`: Skills/knowledge assessment — evaluates competencies and is scored like an interview.","example":"interview","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"visibility":{"type":"string","enum":["merchant_public","merchant_invite","merchant_unlisted"],"description":"Who can discover and access the interview. Options — `merchant_public`: Listed on the merchant's public interview list — anyone with the merchant link can find and start it. | `merchant_invite`: Invite-only — only candidates explicitly invited (by email/link) can access it; not listed anywhere. | `merchant_unlisted`: Reachable only via a direct link — not listed anywhere; share the link manually.","example":"merchant_public","isRequired":true,"uniqueKey":"visibility","typeLabel":"enum\u003cstring>"},"recording":{"oneOf":[{"type":"string","enum":["audio_first_5_answers","audio_all","video_all","video_first_5_answers","none"],"description":"Cheating/proctoring detection mode for candidate answers — this is NOT a full session recording. Video options also record the candidate. Omit, null or `none` to disable. Options — `audio_first_5_answers`: Audio-only cheating detection, first 5 answers only. | `audio_all`: Audio-only cheating detection on every answer. | `video_all`: Audio + video cheating detection on every answer (candidate is recorded for all answers). | `video_first_5_answers`: Audio + video cheating detection, first 5 answers only. | `none`: No cheating detection.","example":"video_all","uniqueKey":"recording.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["audio_first_5_answers","audio_all","video_all","video_first_5_answers","none"],"description":"Cheating/proctoring detection mode for candidate answers — this is NOT a full session recording. Video options also record the candidate. Omit, null or `none` to disable. Options — `audio_first_5_answers`: Audio-only cheating detection, first 5 answers only. | `audio_all`: Audio-only cheating detection on every answer. | `video_all`: Audio + video cheating detection on every answer (candidate is recorded for all answers). | `video_first_5_answers`: Audio + video cheating detection, first 5 answers only. | `none`: No cheating detection.","example":"video_all","uniqueKey":"recording.oneOf.1","typeLabel":"null"}],"uniqueKey":"recording","typeLabel":"enum\u003cstring> | null"},"recording_full_session":{"oneOf":[{"type":"string","enum":["audio_all","video_all","none"],"description":"Full interview-session recording (includes the avatar and voice) produced as a single file. Independent of `recording`. Omit, null or `none` to disable. Options — `audio_all`: Record the whole session audio (avatar + candidate voice) into a single file. Adds +0.2 credits. | `video_all`: Record the whole session video + audio (avatar + candidate) into a single file. Adds +0.4 credits. | `none`: No full-session recording.","example":"video_all","uniqueKey":"recording_full_session.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["audio_all","video_all","none"],"description":"Full interview-session recording (includes the avatar and voice) produced as a single file. Independent of `recording`. Omit, null or `none` to disable. Options — `audio_all`: Record the whole session audio (avatar + candidate voice) into a single file. Adds +0.2 credits. | `video_all`: Record the whole session video + audio (avatar + candidate) into a single file. Adds +0.4 credits. | `none`: No full-session recording.","example":"video_all","uniqueKey":"recording_full_session.oneOf.1","typeLabel":"null"}],"uniqueKey":"recording_full_session","typeLabel":"enum\u003cstring> | null"},"environment":{"type":"string","enum":["production","uat","development","demo"],"description":"Which of your webhook environments results from this interview are delivered to. Defaults to production. Options — `production`: Live hiring. Results reach the webhooks configured as production. This is the default when the field is omitted. | `uat`: User-acceptance testing - an isolated environment for pre-release verification. | `development`: Development/testing. Use for interviews created by a test or preview app so their results never reach the production webhook. | `demo`: Demonstrations and sales trials.","example":"production","uniqueKey":"environment","typeLabel":"enum\u003cstring>"},"interview_type":{"type":"string","enum":["pre-screening","pre-screening-with-test-questions","second-interview","remote-freelancer-verification","strength-based-interview","potential-based-interview","process-verification-from-knowledge-base","knockout-screening"],"description":"Interview style — configures the AI avatar and shapes both the AI-generated questions and the follow-up questions asked during the interview. Defaults to pre-screening when omitted. Options — `pre-screening`: Pre-screening — quick qualification check focusing on basic requirements and availability. | `pre-screening-with-test-questions`: Pre-screening with test questions — pre-screening plus practical questions to test relevant skills. | `second-interview`: Second round interview — deeper dive for candidates who passed initial screening. | `remote-freelancer-verification`: Remote worker verification — verify remote work capabilities and communication skills. | `strength-based-interview`: Strength-based interview — focus on what candidates enjoy and excel at to predict job satisfaction. | `potential-based-interview`: Potential-based interview — assess learning ability and growth potential rather than past experience. | `process-verification-from-knowledge-base`: Knowledge Base interview — generate questions from your knowledge base documents. | `knockout-screening`: Knock-out screening — a short (about 5 minute) check of the role's must-haves with closed questions; ends early, politely, when a must-have is clearly not met. On creation it defaults custom_scoring.early_stop to true (where the avatar supports early stop) and max_followups to 1 unless you send them.","example":"pre-screening-with-test-questions","uniqueKey":"interview_type","typeLabel":"enum\u003cstring>"},"seniority_level":{"oneOf":[{"type":"string","enum":["entry-level","intermediate","senior","managerial","director","executive"],"description":"Target seniority level for the role; auto-detected from the job description when omitted. Options — `entry-level`: Early-career or graduate roles. | `intermediate`: Some experience required. | `senior`: Experienced professional. | `managerial`: Team or department lead. | `director`: Director-level responsibility. | `executive`: C-suite or executive role.","example":"senior","uniqueKey":"seniority_level.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["entry-level","intermediate","senior","managerial","director","executive"],"description":"Target seniority level for the role; auto-detected from the job description when omitted. Options — `entry-level`: Early-career or graduate roles. | `intermediate`: Some experience required. | `senior`: Experienced professional. | `managerial`: Team or department lead. | `director`: Director-level responsibility. | `executive`: C-suite or executive role.","example":"senior","uniqueKey":"seniority_level.oneOf.1","typeLabel":"null"}],"uniqueKey":"seniority_level","typeLabel":"enum\u003cstring> | null"},"result_view":{"oneOf":[{"type":"string","enum":["none","minimal","minimal_with_score","advanced","full","full_expand_scores"],"description":"Result screen shown to the candidate after finishing. With any value other than `none`, the candidate sees a results screen where they can provide feedback, record an intro video and edit the transcript, and must then submit the result; the value sets how much score/result detail is shown. Options — `none`: No results screen at all — the interview is submitted immediately when the candidate finishes (no feedback, intro video, transcript edit or manual submit step). | `minimal`: Minimal results layout, no score shown. | `minimal_with_score`: Minimal results layout including the overall score. | `advanced`: Advanced results layout with more detail. | `full`: Full results layout with all sections. | `full_expand_scores`: Full results with every score breakdown expanded.","example":"full","uniqueKey":"result_view.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["none","minimal","minimal_with_score","advanced","full","full_expand_scores"],"description":"Result screen shown to the candidate after finishing. With any value other than `none`, the candidate sees a results screen where they can provide feedback, record an intro video and edit the transcript, and must then submit the result; the value sets how much score/result detail is shown. Options — `none`: No results screen at all — the interview is submitted immediately when the candidate finishes (no feedback, intro video, transcript edit or manual submit step). | `minimal`: Minimal results layout, no score shown. | `minimal_with_score`: Minimal results layout including the overall score. | `advanced`: Advanced results layout with more detail. | `full`: Full results layout with all sections. | `full_expand_scores`: Full results with every score breakdown expanded.","example":"full","uniqueKey":"result_view.oneOf.1","typeLabel":"null"}],"uniqueKey":"result_view","typeLabel":"enum\u003cstring> | null"},"interview_conversation_speed":{"oneOf":[{"type":"string","enum":["slower","normal","faster","fluent"],"description":"Conversation pace of the AI avatar. Omit/null keeps the template default pace. Options — `slower`: The avatar speaks more slowly — easier to follow for non-native speakers. | `normal`: Default speaking pace. | `faster`: The avatar speaks more quickly for a snappier conversation. | `fluent`: Talking pace: the avatar answers 300 ms after the candidate stops speaking. A pause mid-sentence also ends their turn.","example":"normal","uniqueKey":"interview_conversation_speed.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["slower","normal","faster","fluent"],"description":"Conversation pace of the AI avatar. Omit/null keeps the template default pace. Options — `slower`: The avatar speaks more slowly — easier to follow for non-native speakers. | `normal`: Default speaking pace. | `faster`: The avatar speaks more quickly for a snappier conversation. | `fluent`: Talking pace: the avatar answers 300 ms after the candidate stops speaking. A pause mid-sentence also ends their turn.","example":"normal","uniqueKey":"interview_conversation_speed.oneOf.1","typeLabel":"null"}],"uniqueKey":"interview_conversation_speed","typeLabel":"enum\u003cstring> | null"},"candidate_video_introduction":{"oneOf":[{"type":"string","enum":["hidden","optional","required"],"description":"Whether a candidate video introduction is optional or required.","example":"optional","uniqueKey":"candidate_video_introduction.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["hidden","optional","required"],"description":"Whether a candidate video introduction is optional or required.","example":"optional","uniqueKey":"candidate_video_introduction.oneOf.1","typeLabel":"null"}],"uniqueKey":"candidate_video_introduction","typeLabel":"enum\u003cstring> | null"},"interview_tone":{"oneOf":[{"type":"string","enum":["relaxed","simple","professional","persuasive","exact"],"description":"Interview tone — configures the AI avatar's speaking style and the tone of the AI-generated questions and follow-ups. Case-insensitive; omit to default to relaxed. Options — `relaxed`: Friendly and conversational tone that helps candidates feel at ease. | `simple`: Plain language at CEFR A2 level — short sentences and simple words. | `professional`: Formal and business-like approach suitable for senior roles. | `persuasive`: Engaging style that encourages candidates to elaborate. | `exact`: Asks the questions exactly as provided, without rephrasing — for interviews built from your own questions where the wording is a script.","example":"professional","uniqueKey":"interview_tone.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["relaxed","simple","professional","persuasive","exact"],"description":"Interview tone — configures the AI avatar's speaking style and the tone of the AI-generated questions and follow-ups. Case-insensitive; omit to default to relaxed. Options — `relaxed`: Friendly and conversational tone that helps candidates feel at ease. | `simple`: Plain language at CEFR A2 level — short sentences and simple words. | `professional`: Formal and business-like approach suitable for senior roles. | `persuasive`: Engaging style that encourages candidates to elaborate. | `exact`: Asks the questions exactly as provided, without rephrasing — for interviews built from your own questions where the wording is a script.","example":"professional","uniqueKey":"interview_tone.oneOf.1","typeLabel":"null"}],"uniqueKey":"interview_tone","typeLabel":"enum\u003cstring> | null"},"interview_length":{"type":"integer","description":"Number of questions to generate (1-40). Also capped by max_duration, which allows one question per 2 minutes: 20 min -> 10 questions, 30 min -> 15, 45 min -> 22, 60 min -> 30, 80 min -> 40. Asking for more than the cap is not an error — you get the cap, and the response reports the real count in questions_generated. Omit this field to let the AI pick 5-8.","minimum":1,"maximum":40,"example":8,"uniqueKey":"interview_length","typeLabel":"integer"},"interview_attempts":{"oneOf":[{"type":"number","minimum":1,"maximum":20,"description":"Allowed candidate attempts (1-20).","example":1,"uniqueKey":"interview_attempts.oneOf.0","typeLabel":"number"},{"type":"null","minimum":1,"maximum":20,"description":"Allowed candidate attempts (1-20).","example":1,"uniqueKey":"interview_attempts.oneOf.1","typeLabel":"null"}],"uniqueKey":"interview_attempts","typeLabel":"number | null"},"max_duration":{"oneOf":[{"type":"number","description":"Maximum interview duration in seconds. Scopes how many questions are generated (see interview_length) and is stored on the interview as the live session limit and the basis for the credit multiplier. Defaults to 1200 (20 minutes) when omitted.","example":1200,"uniqueKey":"max_duration.oneOf.0","typeLabel":"number"},{"type":"null","description":"Maximum interview duration in seconds. Scopes how many questions are generated (see interview_length) and is stored on the interview as the live session limit and the basis for the credit multiplier. Defaults to 1200 (20 minutes) when omitted.","example":1200,"uniqueKey":"max_duration.oneOf.1","typeLabel":"null"}],"uniqueKey":"max_duration","typeLabel":"number | null"},"max_followups":{"oneOf":[{"type":"integer","minimum":0,"maximum":999,"description":"Maximum number of AI follow-up questions. 0 disables follow-ups; presets are 0-3 (none/low/normal/high) and custom values start at 4; null uses the template default (Normal).","example":2,"uniqueKey":"max_followups.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"maximum":999,"description":"Maximum number of AI follow-up questions. 0 disables follow-ups; presets are 0-3 (none/low/normal/high) and custom values start at 4; null uses the template default (Normal).","example":2,"uniqueKey":"max_followups.oneOf.1","typeLabel":"null"}],"uniqueKey":"max_followups","typeLabel":"integer | null"},"questions_random_subset":{"oneOf":[{"type":"number","minimum":0.01,"maximum":0.9,"description":"Ask only a random subset of the questions, expressed as a fraction between 0.01 and 0.9 (e.g. 0.5 = 50%). null asks all questions.","example":0.5,"uniqueKey":"questions_random_subset.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0.01,"maximum":0.9,"description":"Ask only a random subset of the questions, expressed as a fraction between 0.01 and 0.9 (e.g. 0.5 = 50%). null asks all questions.","example":0.5,"uniqueKey":"questions_random_subset.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions_random_subset","typeLabel":"number | null"},"code":{"oneOf":[{"type":"string","description":"Optional external code/reference for the interview.","example":"my code","uniqueKey":"code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional external code/reference for the interview.","example":"my code","uniqueKey":"code.oneOf.1","typeLabel":"null"}],"uniqueKey":"code","typeLabel":"string | null"},"cover_image_url":{"oneOf":[{"type":"string","description":"Cover image URL.","example":"https://example.com/cover.png","uniqueKey":"cover_image_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Cover image URL.","example":"https://example.com/cover.png","uniqueKey":"cover_image_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"cover_image_url","typeLabel":"string | null"},"interview_department":{"oneOf":[{"type":"string","description":"Department the position belongs to.","example":"Engineering","uniqueKey":"interview_department.oneOf.0","typeLabel":"string"},{"type":"null","description":"Department the position belongs to.","example":"Engineering","uniqueKey":"interview_department.oneOf.1","typeLabel":"null"}],"uniqueKey":"interview_department","typeLabel":"string | null"},"interview_salary":{"oneOf":[{"type":"string","description":"Salary range shown for the position.","example":"$80k - $100k","uniqueKey":"interview_salary.oneOf.0","typeLabel":"string"},{"type":"null","description":"Salary range shown for the position.","example":"$80k - $100k","uniqueKey":"interview_salary.oneOf.1","typeLabel":"null"}],"uniqueKey":"interview_salary","typeLabel":"string | null"},"interview_available_till":{"oneOf":[{"type":"string","description":"ISO date/time after which the interview is no longer available to candidates. null keeps it always available.","example":"2026-12-31","uniqueKey":"interview_available_till.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO date/time after which the interview is no longer available to candidates. null keeps it always available.","example":"2026-12-31","uniqueKey":"interview_available_till.oneOf.1","typeLabel":"null"}],"uniqueKey":"interview_available_till","typeLabel":"string | null"},"recruiter_profile_id":{"oneOf":[{"type":"string","description":"Profile id of the recruiter owning this interview. A user of the company who is not read only: an owner, recruiter or admin from merchant-user-list.","example":"28106cba-1c27-4e53-b149-32113e5e8e31","uniqueKey":"recruiter_profile_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Profile id of the recruiter owning this interview. A user of the company who is not read only: an owner, recruiter or admin from merchant-user-list.","example":"28106cba-1c27-4e53-b149-32113e5e8e31","uniqueKey":"recruiter_profile_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"recruiter_profile_id","typeLabel":"string | null"},"hiring_for_company":{"oneOf":[{"type":"object","properties":{"name":{"oneOf":[{"type":"string","description":"End-employer name. Omit/null when hiring for yourself, 'undisclosed' for an unnamed external client, or the client's company name.","example":"Unimo Enterprises","uniqueKey":"hiring_for_company.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"End-employer name. Omit/null when hiring for yourself, 'undisclosed' for an unnamed external client, or the client's company name.","example":"Unimo Enterprises","uniqueKey":"hiring_for_company.oneOf.0.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"hiring_for_company.oneOf.0.name","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","description":"Short description of the end employer, used as background context by the agent.","example":"Unimo Enterprises is a leading logistics and supply chain solutions provider.","uniqueKey":"hiring_for_company.oneOf.0.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Short description of the end employer, used as background context by the agent.","example":"Unimo Enterprises is a leading logistics and supply chain solutions provider.","uniqueKey":"hiring_for_company.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"hiring_for_company.oneOf.0.description","typeLabel":"string | null"},"location":{"oneOf":[{"type":"string","description":"Primary location of the end employer.","example":"Sri Lanka","uniqueKey":"hiring_for_company.oneOf.0.location.oneOf.0","typeLabel":"string"},{"type":"null","description":"Primary location of the end employer.","example":"Sri Lanka","uniqueKey":"hiring_for_company.oneOf.0.location.oneOf.1","typeLabel":"null"}],"uniqueKey":"hiring_for_company.oneOf.0.location","typeLabel":"string | null"},"sector":{"oneOf":[{"type":"string","description":"Industry / sector of the end employer.","example":"Logistics and Supply Chain","uniqueKey":"hiring_for_company.oneOf.0.sector.oneOf.0","typeLabel":"string"},{"type":"null","description":"Industry / sector of the end employer.","example":"Logistics and Supply Chain","uniqueKey":"hiring_for_company.oneOf.0.sector.oneOf.1","typeLabel":"null"}],"uniqueKey":"hiring_for_company.oneOf.0.sector","typeLabel":"string | null"},"company_size":{"oneOf":[{"type":"string","description":"Approximate headcount of the end employer.","example":"100-200","uniqueKey":"hiring_for_company.oneOf.0.company_size.oneOf.0","typeLabel":"string"},{"type":"null","description":"Approximate headcount of the end employer.","example":"100-200","uniqueKey":"hiring_for_company.oneOf.0.company_size.oneOf.1","typeLabel":"null"}],"uniqueKey":"hiring_for_company.oneOf.0.company_size","typeLabel":"string | null"}},"description":"Who the position is really for. Omit/null (or an object with name null/blank) when hiring for yourself; { name: 'undisclosed' } for an unnamed external client; or { name: '\u003ccompany>' } plus optional description/location/sector/company_size for a named client. Stored in creation_parameters.hiring_for_company.","example":{"name":"undisclosed"},"uniqueKey":"hiring_for_company.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"name":{"oneOf":[{"type":"string","description":"End-employer name. Omit/null when hiring for yourself, 'undisclosed' for an unnamed external client, or the client's company name.","example":"Unimo Enterprises"},{"type":"null","description":"End-employer name. Omit/null when hiring for yourself, 'undisclosed' for an unnamed external client, or the client's company name.","example":"Unimo Enterprises"}]},"description":{"oneOf":[{"type":"string","description":"Short description of the end employer, used as background context by the agent.","example":"Unimo Enterprises is a leading logistics and supply chain solutions provider."},{"type":"null","description":"Short description of the end employer, used as background context by the agent.","example":"Unimo Enterprises is a leading logistics and supply chain solutions provider."}]},"location":{"oneOf":[{"type":"string","description":"Primary location of the end employer.","example":"Sri Lanka"},{"type":"null","description":"Primary location of the end employer.","example":"Sri Lanka"}]},"sector":{"oneOf":[{"type":"string","description":"Industry / sector of the end employer.","example":"Logistics and Supply Chain"},{"type":"null","description":"Industry / sector of the end employer.","example":"Logistics and Supply Chain"}]},"company_size":{"oneOf":[{"type":"string","description":"Approximate headcount of the end employer.","example":"100-200"},{"type":"null","description":"Approximate headcount of the end employer.","example":"100-200"}]}},"description":"Who the position is really for. Omit/null (or an object with name null/blank) when hiring for yourself; { name: 'undisclosed' } for an unnamed external client; or { name: '\u003ccompany>' } plus optional description/location/sector/company_size for a named client. Stored in creation_parameters.hiring_for_company.","example":{"name":"undisclosed"},"uniqueKey":"hiring_for_company.oneOf.1","typeLabel":"null"}],"uniqueKey":"hiring_for_company","typeLabel":"object | null"},"tags":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"tags.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags stored on the interview. Tags are also the coaching-catalogue mapping key: a catalogue directory (see the catalogue-tag-create / catalogue-tag-update endpoints) lists a coaching or persona session when the session's tags contain EVERY tag in that directory's `tags_interview_set_filter`. Only `active` sessions with visibility `merchant_public` (or the platform's own `public`) are listed.","example":["interview-practice","sales"],"uniqueKey":"tags.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Free-form tags stored on the interview. Tags are also the coaching-catalogue mapping key: a catalogue directory (see the catalogue-tag-create / catalogue-tag-update endpoints) lists a coaching or persona session when the session's tags contain EVERY tag in that directory's `tags_interview_set_filter`. Only `active` sessions with visibility `merchant_public` (or the platform's own `public`) are listed.","example":["interview-practice","sales"],"uniqueKey":"tags.oneOf.1","typeLabel":"null"}],"uniqueKey":"tags","typeLabel":"string[] | null"},"merchant_id":{"oneOf":[{"type":"string","description":"Merchant id. Admin / sub-merchant callers only; otherwise taken from your token.","example":"28106cba-1c27-4e53-b149-32113e5e8e31","uniqueKey":"merchant_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Merchant id. Admin / sub-merchant callers only; otherwise taken from your token.","example":"28106cba-1c27-4e53-b149-32113e5e8e31","uniqueKey":"merchant_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"merchant_id","typeLabel":"string | null"},"knowledge_base_store_id":{"oneOf":[{"type":"string","format":"uuid","description":"Knowledge base store id to source additional context from. Documents limited to chosen interviews are left out, because a new interview is on no list yet.","uniqueKey":"knowledge_base_store_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Knowledge base store id to source additional context from. Documents limited to chosen interviews are left out, because a new interview is on no list yet.","uniqueKey":"knowledge_base_store_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"knowledge_base_store_id","typeLabel":"string\u003cuuid> | null"},"description":{"oneOf":[{"type":"string","description":"Short, two-sentence job description shown to the candidate. Required with `questions`. Without `questions`, provide it to use it as-is, or leave it null/blank and it is AI-generated from the position name and any other context.","example":"Backend role focused on Python, async APIs, and AWS.","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Short, two-sentence job description shown to the candidate. Required with `questions`. Without `questions`, provide it to use it as-is, or leave it null/blank and it is AI-generated from the position name and any other context.","example":"Backend role focused on Python, async APIs, and AWS.","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"description_long":{"oneOf":[{"type":"string","description":"Full job description in Markdown (Job Purpose, Responsibilities, Required \u0026 Preferred Qualifications). Provide it to use it as-is; leave it null/blank and it is AI-generated (interview and assessment types only). Rendered as Markdown on the candidate-facing position page, including chips, callouts, cards, columns and buttons — formatting guide: https://developer.jobmojito.com/cookbooks/format-content-with-markdown","uniqueKey":"description_long.oneOf.0","typeLabel":"string"},{"type":"null","description":"Full job description in Markdown (Job Purpose, Responsibilities, Required \u0026 Preferred Qualifications). Provide it to use it as-is; leave it null/blank and it is AI-generated (interview and assessment types only). Rendered as Markdown on the candidate-facing position page, including chips, callouts, cards, columns and buttons — formatting guide: https://developer.jobmojito.com/cookbooks/format-content-with-markdown","uniqueKey":"description_long.oneOf.1","typeLabel":"null"}],"uniqueKey":"description_long","typeLabel":"string | null"},"candidate_expectations":{"oneOf":[{"type":"string","description":"Free-text candidate expectations folded into AI generation.","uniqueKey":"candidate_expectations.oneOf.0","typeLabel":"string"},{"type":"null","description":"Free-text candidate expectations folded into AI generation.","uniqueKey":"candidate_expectations.oneOf.1","typeLabel":"null"}],"uniqueKey":"candidate_expectations","typeLabel":"string | null"},"welcome_message":{"oneOf":[{"type":"string","description":"Custom welcome message shown to the candidate.","uniqueKey":"welcome_message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom welcome message shown to the candidate.","uniqueKey":"welcome_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"welcome_message","typeLabel":"string | null"},"thank_you_message":{"oneOf":[{"type":"string","description":"Custom thank-you message shown after the interview.","uniqueKey":"thank_you_message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom thank-you message shown after the interview.","uniqueKey":"thank_you_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"thank_you_message","typeLabel":"string | null"},"microphone_test_message":{"oneOf":[{"type":"string","description":"Custom microphone-test instruction for a recorded (offline avatar) interview, spoken by the avatar and shown on screen before the first question. Omitted uses the default prompt in the interview language.","example":"Before we start, let's check your microphone. Say \"Hello, I'm ready.\"","uniqueKey":"microphone_test_message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom microphone-test instruction for a recorded (offline avatar) interview, spoken by the avatar and shown on screen before the first question. Omitted uses the default prompt in the interview language.","example":"Before we start, let's check your microphone. Say \"Hello, I'm ready.\"","uniqueKey":"microphone_test_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"microphone_test_message","typeLabel":"string | null"},"microphone_test_no_speech_message":{"oneOf":[{"type":"string","description":"Custom text shown when the microphone test hears nothing. Omitted uses the default text in the candidate's language.","example":"We can't hear you. Check your microphone and try again.","uniqueKey":"microphone_test_no_speech_message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom text shown when the microphone test hears nothing. Omitted uses the default text in the candidate's language.","example":"We can't hear you. Check your microphone and try again.","uniqueKey":"microphone_test_no_speech_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"microphone_test_no_speech_message","typeLabel":"string | null"},"additional_context":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"additional_context.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"additional_context.oneOf.0.additionalProperties","typeLabel":"null"},"description":"Arbitrary additional context object merged into AI generation.","uniqueKey":"additional_context.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"additional_context.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"additional_context.oneOf.1.additionalProperties","typeLabel":"null"},"description":"Arbitrary additional context object merged into AI generation.","uniqueKey":"additional_context.oneOf.1","typeLabel":"null"}],"uniqueKey":"additional_context","typeLabel":"object | null"},"instructional_video_custom_text":{"oneOf":[{"type":"string","description":"Custom narration text for the instructional video.","uniqueKey":"instructional_video_custom_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom narration text for the instructional video.","uniqueKey":"instructional_video_custom_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"instructional_video_custom_text","typeLabel":"string | null"},"is_embedded":{"oneOf":[{"type":"boolean","description":"Set true when the interview will be embedded as an iframe on an external page. Provisions an embed key and returns embed_id / embed_signing_key, which are used to authenticate/sign the iframe embed. Where it runs depends on the type: interviews, assessments and interview role-plays embed on the interview portal (`https://\u003cinterview portal domain>/embed?embed_id=...`); coaching sessions and coaching personas embed on the consumer (coaching) portal (`https://\u003ccoaching portal domain>/embed?embed_id=...`, a link built on the interview portal is forwarded there). A signed coaching embed (name, email, signature) signs the visitor in as a learner of that portal, and the session is charged to the merchant's interview credits on completion, not to the learner's coaching credits; it cannot start while the merchant has none.","example":false,"uniqueKey":"is_embedded.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Set true when the interview will be embedded as an iframe on an external page. Provisions an embed key and returns embed_id / embed_signing_key, which are used to authenticate/sign the iframe embed. Where it runs depends on the type: interviews, assessments and interview role-plays embed on the interview portal (`https://\u003cinterview portal domain>/embed?embed_id=...`); coaching sessions and coaching personas embed on the consumer (coaching) portal (`https://\u003ccoaching portal domain>/embed?embed_id=...`, a link built on the interview portal is forwarded there). A signed coaching embed (name, email, signature) signs the visitor in as a learner of that portal, and the session is charged to the merchant's interview credits on completion, not to the learner's coaching credits; it cannot start while the merchant has none.","example":false,"uniqueKey":"is_embedded.oneOf.1","typeLabel":"null"}],"uniqueKey":"is_embedded","typeLabel":"boolean | null"},"include_rapport_question":{"oneOf":[{"type":"boolean","description":"Include an opening rapport question. Defaults to false (true when questions is given).","example":true,"uniqueKey":"include_rapport_question.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Include an opening rapport question. Defaults to false (true when questions is given).","example":true,"uniqueKey":"include_rapport_question.oneOf.1","typeLabel":"null"}],"uniqueKey":"include_rapport_question","typeLabel":"boolean | null"},"include_closing_prompt":{"oneOf":[{"type":"boolean","description":"Include a closing prompt. Defaults to true.","example":true,"uniqueKey":"include_closing_prompt.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Include a closing prompt. Defaults to true.","example":true,"uniqueKey":"include_closing_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"include_closing_prompt","typeLabel":"boolean | null"},"instructional_video":{"oneOf":[{"type":"boolean","description":"Show an instructional video before approval. Defaults to false.","example":true,"uniqueKey":"instructional_video.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Show an instructional video before approval. Defaults to false.","example":true,"uniqueKey":"instructional_video.oneOf.1","typeLabel":"null"}],"uniqueKey":"instructional_video","typeLabel":"boolean | null"},"required_pronunciation":{"oneOf":[{"type":"boolean","description":"Require pronunciation assessment (restricts to pronunciation-capable languages). Defaults to false.","example":false,"uniqueKey":"required_pronunciation.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Require pronunciation assessment (restricts to pronunciation-capable languages). Defaults to false.","example":false,"uniqueKey":"required_pronunciation.oneOf.1","typeLabel":"null"}],"uniqueKey":"required_pronunciation","typeLabel":"boolean | null"},"result_enable_edit_transcript":{"oneOf":[{"type":"boolean","description":"Allow editing the transcript on the result view. Defaults to true.","example":true,"uniqueKey":"result_enable_edit_transcript.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Allow editing the transcript on the result view. Defaults to true.","example":true,"uniqueKey":"result_enable_edit_transcript.oneOf.1","typeLabel":"null"}],"uniqueKey":"result_enable_edit_transcript","typeLabel":"boolean | null"},"questions":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string","description":"The question text shown to the candidate.","isRequired":true,"uniqueKey":"questions.items.[INDEX].question","typeLabel":"string"},"id":{"type":"string","description":"Identifier for this question. job-interview-get returns the question's real id here; send it back to job-interview-update so an unchanged question keeps its existing record (and with it its answer rules and any rendered avatar video). Also the handle another question references via conditional_question_main_id. On job-interview-create-from-array it is a caller-local value, only needed for those references.","uniqueKey":"questions.items.[INDEX].id","typeLabel":"string"},"duration":{"oneOf":[{"type":"number","description":"Answer duration in seconds for this question.","uniqueKey":"questions.items.[INDEX].duration.oneOf.0","typeLabel":"number"},{"type":"null","description":"Answer duration in seconds for this question.","uniqueKey":"questions.items.[INDEX].duration.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].duration","typeLabel":"number | null"},"mojito_language_code":{"oneOf":[{"type":"string","enum":["ar","bg","zh","hr","cs","da","nl","en","fil","fi","fr","de","el","hi","hu","id","it","ja","ko","ms","no","pl","pt","br","ro","ru","sk","es","sv","ta","th","tr","uk","vi"],"description":"Per-question language override (one of the listed codes). Inherits the interview language when omitted.","example":"en","uniqueKey":"questions.items.[INDEX].mojito_language_code.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["ar","bg","zh","hr","cs","da","nl","en","fil","fi","fr","de","el","hi","hu","id","it","ja","ko","ms","no","pl","pt","br","ro","ru","sk","es","sv","ta","th","tr","uk","vi"],"description":"Per-question language override (one of the listed codes). Inherits the interview language when omitted.","example":"en","uniqueKey":"questions.items.[INDEX].mojito_language_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].mojito_language_code","typeLabel":"enum\u003cstring> | null"},"label":{"oneOf":[{"type":"string","description":"Optional label/tag stored on the question.","uniqueKey":"questions.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional label/tag stored on the question.","uniqueKey":"questions.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].label","typeLabel":"string | null"},"is_conditional":{"oneOf":[{"type":"boolean","description":"A yes/no question that decides which follow-ups are asked (view 'with listening conditional'). Its follow-ups point at it with conditional_question_main_id.","uniqueKey":"questions.items.[INDEX].is_conditional.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"A yes/no question that decides which follow-ups are asked (view 'with listening conditional'). Its follow-ups point at it with conditional_question_main_id.","uniqueKey":"questions.items.[INDEX].is_conditional.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].is_conditional","typeLabel":"boolean | null"},"is_without_scoring":{"oneOf":[{"type":"boolean","description":"Question is asked but not scored (view 'without scoring').","uniqueKey":"questions.items.[INDEX].is_without_scoring.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Question is asked but not scored (view 'without scoring').","uniqueKey":"questions.items.[INDEX].is_without_scoring.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].is_without_scoring","typeLabel":"boolean | null"},"is_candidate_asking_recruiter":{"oneOf":[{"type":"boolean","description":"Candidate-asks-recruiter prompt (view 'candidate asking recruiter').","uniqueKey":"questions.items.[INDEX].is_candidate_asking_recruiter.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Candidate-asks-recruiter prompt (view 'candidate asking recruiter').","uniqueKey":"questions.items.[INDEX].is_candidate_asking_recruiter.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].is_candidate_asking_recruiter","typeLabel":"boolean | null"},"is_expert":{"oneOf":[{"type":"boolean","description":"Expert listening question (view 'with listening expert').","uniqueKey":"questions.items.[INDEX].is_expert.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Expert listening question (view 'with listening expert').","uniqueKey":"questions.items.[INDEX].is_expert.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].is_expert","typeLabel":"boolean | null"},"is_multiple_choice":{"oneOf":[{"type":"boolean","description":"Multiple-choice question (view 'multiple choice').","uniqueKey":"questions.items.[INDEX].is_multiple_choice.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Multiple-choice question (view 'multiple choice').","uniqueKey":"questions.items.[INDEX].is_multiple_choice.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].is_multiple_choice","typeLabel":"boolean | null"},"question_alternatives":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"questions.items.[INDEX].question_alternatives.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Alternative phrasings for the question.","uniqueKey":"questions.items.[INDEX].question_alternatives.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Alternative phrasings for the question.","uniqueKey":"questions.items.[INDEX].question_alternatives.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].question_alternatives","typeLabel":"string[] | null"},"conditional_question_main_id":{"oneOf":[{"type":"string","description":"For a follow-up question, the id (the \"id\" field above) of the yes/no question (is_conditional) in this same array that decides whether it is asked. The yes/no question must appear earlier in the array. Use conditional_question_answer to choose the answer that shows it.","uniqueKey":"questions.items.[INDEX].conditional_question_main_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"For a follow-up question, the id (the \"id\" field above) of the yes/no question (is_conditional) in this same array that decides whether it is asked. The yes/no question must appear earlier in the array. Use conditional_question_answer to choose the answer that shows it.","uniqueKey":"questions.items.[INDEX].conditional_question_main_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].conditional_question_main_id","typeLabel":"string | null"},"conditional_question_answer":{"oneOf":[{"type":"boolean","description":"With conditional_question_main_id: the answer to the yes/no question that shows this follow-up. `true` (the default) asks it after a yes, `false` after a no, so each answer can lead to its own follow-ups. Ignored on a question without conditional_question_main_id.","example":false,"uniqueKey":"questions.items.[INDEX].conditional_question_answer.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"With conditional_question_main_id: the answer to the yes/no question that shows this follow-up. `true` (the default) asks it after a yes, `false` after a no, so each answer can lead to its own follow-ups. Ignored on a question without conditional_question_main_id.","example":false,"uniqueKey":"questions.items.[INDEX].conditional_question_answer.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].conditional_question_answer","typeLabel":"boolean | null"},"is_skippable":{"oneOf":[{"type":"boolean","description":"The candidate may skip this question: the recorded (offline avatar) interview shows a Skip button on it, and a skipped question is saved without an answer. Defaults to false.","example":false,"uniqueKey":"questions.items.[INDEX].is_skippable.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"The candidate may skip this question: the recorded (offline avatar) interview shows a Skip button on it, and a skipped question is saved without an answer. Defaults to false.","example":false,"uniqueKey":"questions.items.[INDEX].is_skippable.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].is_skippable","typeLabel":"boolean | null"},"knowledge_base_id":{"oneOf":[{"type":"string","description":"Knowledge-base store id (uuid) the question draws context from.","uniqueKey":"questions.items.[INDEX].knowledge_base_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Knowledge-base store id (uuid) the question draws context from.","uniqueKey":"questions.items.[INDEX].knowledge_base_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].knowledge_base_id","typeLabel":"string | null"},"external_id":{"oneOf":[{"type":"string","description":"External identifier stored on the question. job-interview-update matches on this first, so an ATS that owns stable ids can send its own array and have the diff line up without round-tripping our ids.","uniqueKey":"questions.items.[INDEX].external_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"External identifier stored on the question. job-interview-update matches on this first, so an ATS that owns stable ids can send its own array and have the diff line up without round-tripping our ids.","uniqueKey":"questions.items.[INDEX].external_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].external_id","typeLabel":"string | null"},"external_data":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"questions.items.[INDEX].external_data.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].external_data.oneOf.0.additionalProperties","typeLabel":"null"},"description":"Arbitrary JSON metadata stored on the question.","uniqueKey":"questions.items.[INDEX].external_data.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"questions.items.[INDEX].external_data.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].external_data.oneOf.1.additionalProperties","typeLabel":"null"},"description":"Arbitrary JSON metadata stored on the question.","uniqueKey":"questions.items.[INDEX].external_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].external_data","typeLabel":"object | null"},"candidate_expectations_json":{"oneOf":[{"type":"object","properties":{"weak":{"type":"array","items":{"type":"string","uniqueKey":"questions.items.[INDEX].candidate_expectations_json.oneOf.0.weak.items.[INDEX]","typeLabel":"string"},"description":"Baseline requirements every viable candidate should meet (table stakes).","uniqueKey":"questions.items.[INDEX].candidate_expectations_json.oneOf.0.weak","typeLabel":"string[]"},"moderate":{"type":"array","items":{"type":"string","uniqueKey":"questions.items.[INDEX].candidate_expectations_json.oneOf.0.moderate.items.[INDEX]","typeLabel":"string"},"description":"Requirements expected of a solid, competent candidate.","uniqueKey":"questions.items.[INDEX].candidate_expectations_json.oneOf.0.moderate","typeLabel":"string[]"},"strong":{"type":"array","items":{"type":"string","uniqueKey":"questions.items.[INDEX].candidate_expectations_json.oneOf.0.strong.items.[INDEX]","typeLabel":"string"},"description":"High-bar requirements only standout candidates clear.","uniqueKey":"questions.items.[INDEX].candidate_expectations_json.oneOf.0.strong","typeLabel":"string[]"}},"description":"Per-question candidate expectations, bucketed by requirement level (weak/moderate/strong). Extra keys are preserved.","uniqueKey":"questions.items.[INDEX].candidate_expectations_json.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"weak":{"type":"array","items":{"type":"string"},"description":"Baseline requirements every viable candidate should meet (table stakes)."},"moderate":{"type":"array","items":{"type":"string"},"description":"Requirements expected of a solid, competent candidate."},"strong":{"type":"array","items":{"type":"string"},"description":"High-bar requirements only standout candidates clear."}},"description":"Per-question candidate expectations, bucketed by requirement level (weak/moderate/strong). Extra keys are preserved.","uniqueKey":"questions.items.[INDEX].candidate_expectations_json.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].candidate_expectations_json","typeLabel":"object | null"}},"required":["question"],"additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"questions.items.[INDEX].additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.items.[INDEX].additionalProperties","typeLabel":"null"},"uniqueKey":"questions.items.[INDEX]","typeLabel":"object"},"minItems":1,"description":"OPTIONAL: your own ordered list of questions, in the format job-interview-get returns. When given, they are stored as written and nothing is generated by AI except the candidate expectations (type interview, unless candidate_expectations_json is given); in the session the avatar still says each question in the interview tone unless interview_tone is exact. With questions, description becomes required; interview_length and include_closing_prompt are ignored; include_rapport_question defaults to true; max_duration keeps its meaning here (stored, 1200 when omitted). Omit to have the AI generate the description and questions.","uniqueKey":"questions","typeLabel":"object[]"},"candidate_expectations_json":{"oneOf":[{"type":"object","properties":{"weak":{"type":"array","items":{"type":"string","uniqueKey":"candidate_expectations_json.oneOf.0.weak.items.[INDEX]","typeLabel":"string"},"description":"Baseline requirements every viable candidate should meet (table stakes).","uniqueKey":"candidate_expectations_json.oneOf.0.weak","typeLabel":"string[]"},"moderate":{"type":"array","items":{"type":"string","uniqueKey":"candidate_expectations_json.oneOf.0.moderate.items.[INDEX]","typeLabel":"string"},"description":"Requirements expected of a solid, competent candidate.","uniqueKey":"candidate_expectations_json.oneOf.0.moderate","typeLabel":"string[]"},"strong":{"type":"array","items":{"type":"string","uniqueKey":"candidate_expectations_json.oneOf.0.strong.items.[INDEX]","typeLabel":"string"},"description":"High-bar requirements only standout candidates clear.","uniqueKey":"candidate_expectations_json.oneOf.0.strong","typeLabel":"string[]"}},"description":"With questions only: pre-generated candidate expectations, bucketed by requirement level (weak/moderate/strong); generated from your questions when omitted for type interview. Ignored without questions.","uniqueKey":"candidate_expectations_json.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"weak":{"type":"array","items":{"type":"string"},"description":"Baseline requirements every viable candidate should meet (table stakes)."},"moderate":{"type":"array","items":{"type":"string"},"description":"Requirements expected of a solid, competent candidate."},"strong":{"type":"array","items":{"type":"string"},"description":"High-bar requirements only standout candidates clear."}},"description":"With questions only: pre-generated candidate expectations, bucketed by requirement level (weak/moderate/strong); generated from your questions when omitted for type interview. Ignored without questions.","uniqueKey":"candidate_expectations_json.oneOf.1","typeLabel":"null"}],"uniqueKey":"candidate_expectations_json","typeLabel":"object | null"},"disable_deduplication":{"oneOf":[{"type":"boolean","description":"With questions only: when true, every question is stored as a new record instead of reusing an identical one. Ignored without questions.","uniqueKey":"disable_deduplication.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"With questions only: when true, every question is stored as a new record instead of reusing an identical one. Ignored without questions.","uniqueKey":"disable_deduplication.oneOf.1","typeLabel":"null"}],"uniqueKey":"disable_deduplication","typeLabel":"boolean | null"},"interview_category":{"oneOf":[{"type":"string","description":"Job category shown on public listings, above the department (free text, e.g. \"Ashore\"). Blank is stored as null.","example":"Ashore","uniqueKey":"interview_category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Job category shown on public listings, above the department (free text, e.g. \"Ashore\"). Blank is stored as null.","example":"Ashore","uniqueKey":"interview_category.oneOf.1","typeLabel":"null"}],"uniqueKey":"interview_category","typeLabel":"string | null"},"country_availability":{"oneOf":[{"type":"object","properties":{"countries_allowed":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z]{2}$","uniqueKey":"country_availability.oneOf.0.countries_allowed.items.[INDEX]","typeLabel":"string"},"description":"Available ONLY to candidates in these countries (ISO 3166-1 alpha-2).","example":["PH","IN"],"uniqueKey":"country_availability.oneOf.0.countries_allowed","typeLabel":"string[]"},"countries_allowed_eu":{"type":"boolean","description":"Adds every EU country (plus EEA and Switzerland) to countries_allowed.","uniqueKey":"country_availability.oneOf.0.countries_allowed_eu","typeLabel":"boolean"},"countries_blocked":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z]{2}$","uniqueKey":"country_availability.oneOf.0.countries_blocked.items.[INDEX]","typeLabel":"string"},"description":"NOT available to candidates in these countries (ISO 3166-1 alpha-2). Wins over the allowed side.","example":["US"],"uniqueKey":"country_availability.oneOf.0.countries_blocked","typeLabel":"string[]"},"countries_blocked_eu":{"type":"boolean","description":"Adds every EU country (plus EEA and Switzerland) to countries_blocked.","uniqueKey":"country_availability.oneOf.0.countries_blocked_eu","typeLabel":"boolean"}},"description":"Which countries the interview / position is open to on the candidate portal, judged by the IP address the candidate opens it from (an unknown location only passes when countries_allowed / countries_allowed_eu are empty). From a closed country it is left out of the portal listings, and a direct link shows \"not available in your region\". Invited candidates (personal invitation links) and candidates who already started keep access; API and MCP calls themselves are never restricted. Null = not used, every country.","uniqueKey":"country_availability.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"countries_allowed":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z]{2}$"},"description":"Available ONLY to candidates in these countries (ISO 3166-1 alpha-2).","example":["PH","IN"]},"countries_allowed_eu":{"type":"boolean","description":"Adds every EU country (plus EEA and Switzerland) to countries_allowed."},"countries_blocked":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z]{2}$"},"description":"NOT available to candidates in these countries (ISO 3166-1 alpha-2). Wins over the allowed side.","example":["US"]},"countries_blocked_eu":{"type":"boolean","description":"Adds every EU country (plus EEA and Switzerland) to countries_blocked."}},"description":"Which countries the interview / position is open to on the candidate portal, judged by the IP address the candidate opens it from (an unknown location only passes when countries_allowed / countries_allowed_eu are empty). From a closed country it is left out of the portal listings, and a direct link shows \"not available in your region\". Invited candidates (personal invitation links) and candidates who already started keep access; API and MCP calls themselves are never restricted. Null = not used, every country.","uniqueKey":"country_availability.oneOf.1","typeLabel":"null"}],"uniqueKey":"country_availability","typeLabel":"object | null"},"candidate_notification_channel":{"oneOf":[{"type":"string","enum":["reminders","last_reminder","all"],"description":"SMS / WhatsApp notifications to the candidate, sent alongside the e-mails: \"reminders\" = with both e-mail reminders (day 1 and day 3); \"last_reminder\" = only with the final day-3 reminder; \"all\" = invitation, both reminders and the pre-screening-accepted step. null switches them off. WhatsApp is tried first, SMS when the number is not on WhatsApp. Available on paid plans (Starter and above) and needs a phone number on the candidate.","uniqueKey":"candidate_notification_channel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["reminders","last_reminder","all"],"description":"SMS / WhatsApp notifications to the candidate, sent alongside the e-mails: \"reminders\" = with both e-mail reminders (day 1 and day 3); \"last_reminder\" = only with the final day-3 reminder; \"all\" = invitation, both reminders and the pre-screening-accepted step. null switches them off. WhatsApp is tried first, SMS when the number is not on WhatsApp. Available on paid plans (Starter and above) and needs a phone number on the candidate.","uniqueKey":"candidate_notification_channel.oneOf.1","typeLabel":"null"}],"uniqueKey":"candidate_notification_channel","typeLabel":"enum\u003cstring> | null"},"custom_scoring":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"custom_scoring.oneOf.0.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"custom_scoring.oneOf.0.additionalProperties","typeLabel":"null"},"description":"Custom result-scoring overrides merged with defaults and template overrides.","uniqueKey":"custom_scoring.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"custom_scoring.oneOf.1.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"custom_scoring.oneOf.1.additionalProperties","typeLabel":"null"},"description":"Custom result-scoring overrides merged with defaults and template overrides.","uniqueKey":"custom_scoring.oneOf.1","typeLabel":"null"}],"uniqueKey":"custom_scoring","typeLabel":"object | null"},"pdf_export_auto_config":{"oneOf":[{"type":"object","properties":{"mojito_language_code":{"type":"string","enum":["ar","bg","zh","hr","cs","da","nl","en","fil","fi","fr","de","el","hi","hu","id","it","ja","ko","ms","no","pl","pt","br","ro","ru","sk","es","sv","ta","th","tr","uk","vi"],"description":"Report language code (one of the listed codes).","example":"en","uniqueKey":"pdf_export_auto_config.oneOf.0.mojito_language_code","typeLabel":"enum\u003cstring>"},"contact_details":{"type":"boolean","description":"Include candidate contact details.","uniqueKey":"pdf_export_auto_config.oneOf.0.contact_details","typeLabel":"boolean"},"ai_recruiter_assessment":{"type":"boolean","description":"Include the AI recruiter assessment.","uniqueKey":"pdf_export_auto_config.oneOf.0.ai_recruiter_assessment","typeLabel":"boolean"},"ai_scoring_rubric":{"type":"boolean","description":"Include the AI scoring rubric.","uniqueKey":"pdf_export_auto_config.oneOf.0.ai_scoring_rubric","typeLabel":"boolean"},"analytics":{"type":"boolean","description":"Include analytics.","uniqueKey":"pdf_export_auto_config.oneOf.0.analytics","typeLabel":"boolean"},"files":{"type":"boolean","description":"Include uploaded candidate files.","uniqueKey":"pdf_export_auto_config.oneOf.0.files","typeLabel":"boolean"},"transcript":{"type":"boolean","description":"Include the interview transcript.","uniqueKey":"pdf_export_auto_config.oneOf.0.transcript","typeLabel":"boolean"},"answer_recording":{"type":"boolean","description":"Include per-answer recordings.","uniqueKey":"pdf_export_auto_config.oneOf.0.answer_recording","typeLabel":"boolean"},"session_recording":{"type":"boolean","description":"Include the full-session recording.","uniqueKey":"pdf_export_auto_config.oneOf.0.session_recording","typeLabel":"boolean"},"group_by_question":{"type":"boolean","description":"Group transcript answers by expected question.","uniqueKey":"pdf_export_auto_config.oneOf.0.group_by_question","typeLabel":"boolean"},"template":{"type":"string","enum":["classic","modern","one_pager"],"description":"Report layout: classic, modern, or one_pager. Omit for the merchant default (modern when unset).","uniqueKey":"pdf_export_auto_config.oneOf.0.template","typeLabel":"enum\u003cstring>"}},"description":"Auto-generate a candidate PDF report with these options once the interview completes. null disables auto-export.","uniqueKey":"pdf_export_auto_config.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"mojito_language_code":{"type":"string","enum":["ar","bg","zh","hr","cs","da","nl","en","fil","fi","fr","de","el","hi","hu","id","it","ja","ko","ms","no","pl","pt","br","ro","ru","sk","es","sv","ta","th","tr","uk","vi"],"description":"Report language code (one of the listed codes).","example":"en"},"contact_details":{"type":"boolean","description":"Include candidate contact details."},"ai_recruiter_assessment":{"type":"boolean","description":"Include the AI recruiter assessment."},"ai_scoring_rubric":{"type":"boolean","description":"Include the AI scoring rubric."},"analytics":{"type":"boolean","description":"Include analytics."},"files":{"type":"boolean","description":"Include uploaded candidate files."},"transcript":{"type":"boolean","description":"Include the interview transcript."},"answer_recording":{"type":"boolean","description":"Include per-answer recordings."},"session_recording":{"type":"boolean","description":"Include the full-session recording."},"group_by_question":{"type":"boolean","description":"Group transcript answers by expected question."},"template":{"type":"string","enum":["classic","modern","one_pager"],"description":"Report layout: classic, modern, or one_pager. Omit for the merchant default (modern when unset)."}},"description":"Auto-generate a candidate PDF report with these options once the interview completes. null disables auto-export.","uniqueKey":"pdf_export_auto_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"pdf_export_auto_config","typeLabel":"object | null"}},"required":["name","location","interview_template_id","mojito_language_code","status","type","visibility"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"Project manager","location":"remote","interview_template_id":"baa3bf7c-6926-46fd-9005-16738a31f72d","mojito_language_code":"en","status":"active","type":"interview","visibility":"merchant_public","recording":"video_all","recording_full_session":"video_all","environment":"production","interview_type":"pre-screening-with-test-questions","seniority_level":"senior","result_view":"full","interview_conversation_speed":"normal","candidate_video_introduction":"optional","interview_tone":"professional","interview_length":8,"interview_attempts":1,"max_duration":1200,"max_followups":2,"questions_random_subset":0.5,"code":"my code","cover_image_url":"https://example.com/cover.png","interview_department":"Engineering","interview_salary":"$80k - $100k","interview_available_till":"2026-12-31","recruiter_profile_id":"28106cba-1c27-4e53-b149-32113e5e8e31","hiring_for_company":{"name":"undisclosed"},"tags":["interview-practice","sales"],"merchant_id":"28106cba-1c27-4e53-b149-32113e5e8e31","knowledge_base_store_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","description":"Backend role focused on Python, async APIs, and AWS.","description_long":"\u003cstring>","candidate_expectations":"\u003cstring>","welcome_message":"\u003cstring>","thank_you_message":"\u003cstring>","microphone_test_message":"Before we start, let's check your microphone. Say \"Hello, I'm ready.\"","microphone_test_no_speech_message":"We can't hear you. Check your microphone and try again.","additional_context":{},"instructional_video_custom_text":"\u003cstring>","is_embedded":false,"include_rapport_question":true,"include_closing_prompt":true,"instructional_video":true,"required_pronunciation":false,"result_enable_edit_transcript":true,"questions":[{"question":"\u003cstring>","id":"\u003cstring>","duration":123,"mojito_language_code":"en","label":"\u003cstring>","is_conditional":true,"is_without_scoring":true,"is_candidate_asking_recruiter":true,"is_expert":true,"is_multiple_choice":true,"question_alternatives":["\u003cstring>"],"conditional_question_main_id":"\u003cstring>","conditional_question_answer":false,"is_skippable":false,"knowledge_base_id":"\u003cstring>","external_id":"\u003cstring>","external_data":{},"candidate_expectations_json":{"weak":["\u003cstring>"],"moderate":["\u003cstring>"],"strong":["\u003cstring>"]}}],"candidate_expectations_json":{"weak":["\u003cstring>"],"moderate":["\u003cstring>"],"strong":["\u003cstring>"]},"disable_deduplication":true,"interview_category":"Ashore","country_availability":{"countries_allowed":["PH","IN"],"countries_allowed_eu":true,"countries_blocked":["US"],"countries_blocked_eu":true},"custom_scoring":{},"pdf_export_auto_config":{"mojito_language_code":"en","contact_details":true,"ai_recruiter_assessment":true,"ai_scoring_rubric":true,"analytics":true,"files":true,"transcript":true,"answer_recording":true,"session_recording":true,"group_by_question":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"fc1d0fe3-536d-4797-9adb-5bf7315b18a3":{"description":"Interview created.","content":{"application/json":{"schema":{"type":"object","properties":{"interview_def_set_id":{"type":"string","description":"Id of the newly created interview definition set.","example":"00000000-0000-0000-0000-000000000000","isRequired":true,"uniqueKey":"interview_def_set_id","typeLabel":"string"},"questions_generated":{"type":"number","description":"Number of questions actually generated (with questions: the number of questions you sent). May be lower than the requested interview_length, which is capped by max_duration.","example":8,"isRequired":true,"uniqueKey":"questions_generated","typeLabel":"number"},"max_duration":{"type":"number","description":"Live session limit in seconds stored on the interview — the value sent, or the 1200 default when omitted.","example":1200,"isRequired":true,"uniqueKey":"max_duration","typeLabel":"number"},"embed_id":{"type":"string","description":"Embed id, present only when is_embedded=true.","uniqueKey":"embed_id","typeLabel":"string"},"embed_signing_key":{"type":"string","description":"Embed signing key, present only when is_embedded=true.","uniqueKey":"embed_signing_key","typeLabel":"string"}},"required":["interview_def_set_id","questions_generated","max_duration"],"description":"Id of the created interview, the number of questions generated and the stored max_duration. Includes embed_id/embed_signing_key when is_embedded=true.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"interview_def_set_id":"00000000-0000-0000-0000-000000000000","questions_generated":8,"max_duration":1200,"embed_id":"\u003cstring>","embed_signing_key":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"b3f50290-f435-449f-afb9-2c506ca940af":{"description":"Missing, expired or invalid access token.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Field is required.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"name":{"type":"string","example":"interview_result_id","uniqueKey":"name","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Field is required.","name":"interview_result_id"}}},"exampleType":"generated"}},"exampleType":"generated"},"c15d8fcc-d743-454e-99c4-c27a0f516cdb":{"description":"Your token is not allowed to use this endpoint (it is not a merchant, merchant owner or admin token).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Field is required.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"name":{"type":"string","example":"interview_result_id","uniqueKey":"name","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Field is required.","name":"interview_result_id"}}},"exampleType":"generated"}},"exampleType":"generated"},"19fecbd3-027b-4da0-b333-814e79e412a8":{"description":"Validation error (missing required field, invalid enum value, out-of-range number, unresolved template/language/knowledge-base id, description missing with questions, or custom_fields while the company has custom fields on).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Field is required.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"name":{"type":"string","example":"interview_result_id","uniqueKey":"name","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Field is required.","name":"interview_result_id"}}},"exampleType":"generated"}},"exampleType":"generated"},"7784feb2-12d5-43a7-84e3-094ea561e9bb":{"description":"Server error (includes unhandled exceptions).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Field is required.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"name":{"type":"string","example":"interview_result_id","uniqueKey":"name","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Field is required.","name":"interview_result_id"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"60c47f11-7be7-4c57-a776-96dcb0ae977f":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Supabase JWT — `Authorization: Bearer \u003ctoken>`.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"454fcb62-7052-4847-a728-ecf5ade065a6":{"url":"https://cool.jobmojito.com/functions/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Supabase JWT — `Authorization: Bearer \u003ctoken>`.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Supabase JWT — `Authorization: Bearer \u003ctoken>`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"https://cool.jobmojito.com/functions/v1/openapi"},"subdomain":"jobmojito","siteName":"JobMojito Developer / Agent","title":"Create a new interview - JobMojito Developer / Agent","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T15:00:44.093Z","originalFileLocation":"api-reference/interviews/create-a-new-interview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With questions, your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.\">\u003cmeta data-mint-head name=\"application-name\" content=\"JobMojito Developer / Agent\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a new interview - JobMojito Developer / Agent\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With questions, your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"JobMojito Developer / Agent\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://jobmojito.mintlify.site/_mintlify/api/og/v2?division=Interviews\u0026amp;title=Create+a+new+interview\u0026amp;description=Creates+a+new+interview+%2F+coaching+%2F+assessment+definition%2C+generates+its+description%2C+questions+and+candidate+expectations+via+AI%2C+and+provisions+default+steps\u0026amp;theme=87c5e3cf7199050cbbf4cb49\u0026amp;signature=64057c752bbf342f487ce6ac6f99e820e78c40fab758797f5a35698e7affcb7c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a new interview - JobMojito Developer / Agent\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With questions, your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://jobmojito.mintlify.site/_mintlify/api/og/v2?division=Interviews\u0026amp;title=Create+a+new+interview\u0026amp;description=Creates+a+new+interview+%2F+coaching+%2F+assessment+definition%2C+generates+its+description%2C+questions+and+candidate+expectations+via+AI%2C+and+provisions+default+steps\u0026amp;theme=87c5e3cf7199050cbbf4cb49\u0026amp;signature=64057c752bbf342f487ce6ac6f99e820e78c40fab758797f5a35698e7affcb7c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/jobmojito/GZwP9Qkfq6UpkrB8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"JobMojito Developer / Agent\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#639C42\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/interviews/create-a-new-interview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.jobmojito.com/#organization\",\"name\":\"JobMojito Developer / Agent\",\"url\":\"https://developer.jobmojito.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/jobmojito/DU7xAw61G9kqV1zG/images/jobmojito-light.svg?fit=max\u0026auto=format\u0026n=DU7xAw61G9kqV1zG\u0026q=85\u0026s=6c00cb5f3104ffb6325dacc0818bba69\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.jobmojito.com#website\",\"name\":\"JobMojito Developer / Agent\",\"url\":\"https://developer.jobmojito.com\",\"publisher\":{\"@id\":\"https://developer.jobmojito.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview#webpage\",\"url\":\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview\",\"name\":\"Create a new interview\",\"description\":\"Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With questions, your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.\",\"dateModified\":\"2026-11-09T15:00:44.093Z\",\"isPartOf\":{\"@id\":\"https://developer.jobmojito.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"JobMojito Developer / Agent\",\"item\":\"https://developer.jobmojito.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a new interview\",\"item\":\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview#apireference\",\"headline\":\"Create a new interview\",\"name\":\"Create a new interview\",\"description\":\"Creates a new interview / coaching / assessment definition, generates its description, questions and candidate expectations via AI, and provisions default steps. Optionally provisions an embed key. With questions, your questions are used as they are instead. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.\",\"url\":\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview\",\"mainEntityOfPage\":{\"@id\":\"https://developer.jobmojito.com/api-reference/interviews/create-a-new-interview#webpage\"},\"dateModified\":\"2026-11-09T15:00:44.093Z\",\"publisher\":{\"@id\":\"https://developer.jobmojito.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.jobmojito.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"JobMojito Developer / Agent\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"JobMojito Developer / Agent\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/interviews/create-a-new-interview.md","siteName":"JobMojito Developer / Agent","nav":{"global":null,"tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":"/welcome"}]},{"tab":"API Reference","groups":[{"group":"Interviews","pages":[{"title":"Create a new interview","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-create","href":"/api-reference/interviews/create-a-new-interview"},{"title":"Create an interview from an array of questions","description":"Creates a new interview definition set from a caller-provided array of questions, builds its default and generated steps, optionally activates it, and optionally creates an embed key. job-interview-create with `questions` does exactly the same. For owners, recruiters and admins; hiring managers (read-only accounts) and other tokens get 403.","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-create-from-array","href":"/api-reference/interviews/create-an-interview-from-an-array-of-questions"},{"title":"Create an interview for a candidate and return an access token URL","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-create-for-candidate-with-token","href":"/api-reference/interviews/create-an-interview-for-a-candidate-and-return-an-access-token-url"},{"title":"Create a role-play — coaching persona or interview-portal role-play (choose with `portal`)","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /persona-create","href":"/api-reference/interviews/create-a-role-play-—-coaching-persona-or-interview-portal-role-play-choose-with-`portal`"},{"title":"Get interview definition","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /job-interview-get","href":"/api-reference/interviews/get-interview-definition"},{"title":"Update an interview or position","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-update","href":"/api-reference/interviews/update-an-interview-or-position"},{"title":"Set interview state","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-set-state","href":"/api-reference/interviews/set-interview-state"},{"title":"Generate a signed interview URL","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-token","href":"/api-reference/interviews/generate-a-signed-interview-url"},{"title":"Register users for an interview","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-register-users","href":"/api-reference/interviews/register-users-for-an-interview"},{"title":"List interview definitions","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-interview-list","href":"/api-reference/interviews/list-interview-definitions"}]},{"group":"Positions","pages":[{"title":"Set the steps of a draft position","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-position-process-save","href":"/api-reference/positions/set-the-steps-of-a-draft-position"},{"title":"Change the settings of a position step","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-position-step-update","href":"/api-reference/positions/change-the-settings-of-a-position-step"},{"title":"Create, change or delete a meeting slot","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-meeting-slot-manage","href":"/api-reference/positions/create-change-or-delete-a-meeting-slot"},{"title":"Copy a position","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-position-duplicate","href":"/api-reference/positions/copy-a-position"},{"title":"Copy an interview","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-interview-duplicate","href":"/api-reference/positions/copy-an-interview"}]},{"group":"Coaching catalogue","pages":[{"title":"Create a coaching catalogue directory","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /catalogue-tag-create","href":"/api-reference/coaching-catalogue/create-a-coaching-catalogue-directory"},{"title":"Update a coaching catalogue directory","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /catalogue-tag-update","href":"/api-reference/coaching-catalogue/update-a-coaching-catalogue-directory"},{"title":"Get a coaching catalogue directory","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /catalogue-tag-get","href":"/api-reference/coaching-catalogue/get-a-coaching-catalogue-directory"},{"title":"List coaching catalogue directories","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /catalogue-tag-list","href":"/api-reference/coaching-catalogue/list-coaching-catalogue-directories"}]},{"group":"Results","pages":[{"title":"Get interview result details with transcript","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /job-interview-details","href":"/api-reference/results/get-interview-result-details-with-transcript"},{"title":"Generate an interview report","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-pdf","href":"/api-reference/results/generate-an-interview-report"},{"title":"Request another interview attempt","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-result-request-another-attempt","href":"/api-reference/results/request-another-interview-attempt"},{"title":"Record an external assessment result","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /assessment-result-set","href":"/api-reference/results/record-an-external-assessment-result"},{"title":"List interview results","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-result-list","href":"/api-reference/results/list-interview-results"},{"title":"Get daily event analytics","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-analytics","href":"/api-reference/results/get-daily-event-analytics"},{"title":"Get merchant credit usage","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-analytics-credits-used","href":"/api-reference/results/get-merchant-credit-usage"}]},{"group":"Reports","pages":[{"title":"List report datasets, fields and measures","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /report-catalog","href":"/api-reference/reports/list-report-datasets-fields-and-measures"},{"title":"List custom reports","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /report-list","href":"/api-reference/reports/list-custom-reports"},{"title":"Get a custom report definition","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /report-get","href":"/api-reference/reports/get-a-custom-report-definition"},{"title":"Run a custom report","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /report-run","href":"/api-reference/reports/run-a-custom-report"},{"title":"Check and run an unsaved report","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /report-preview","href":"/api-reference/reports/check-and-run-an-unsaved-report"},{"title":"Create a custom report","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /report-create","href":"/api-reference/reports/create-a-custom-report"},{"title":"Update a custom report","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /report-update","href":"/api-reference/reports/update-a-custom-report"}]},{"group":"Candidates","pages":[{"title":"List candidates","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-candidate-list","href":"/api-reference/candidates/list-candidates"},{"title":"Get a candidate","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-candidate-get","href":"/api-reference/candidates/get-a-candidate"},{"title":"Add a note to a candidate","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-candidate-note-add","href":"/api-reference/candidates/add-a-note-to-a-candidate"},{"title":"Tag candidates","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-candidate-tags-set","href":"/api-reference/candidates/tag-candidates"},{"title":"Create, change or delete a candidate tag","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-candidate-tag-manage","href":"/api-reference/candidates/create-change-or-delete-a-candidate-tag"},{"title":"List candidate filter options","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-candidate-filter-options","href":"/api-reference/candidates/list-candidate-filter-options"},{"title":"Preview merging two candidates","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-candidate-merge-preview","href":"/api-reference/candidates/preview-merging-two-candidates"},{"title":"Merge two candidates","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-candidate-merge","href":"/api-reference/candidates/merge-two-candidates"},{"title":"Dismiss a possible duplicate","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-candidate-duplicate-dismiss","href":"/api-reference/candidates/dismiss-a-possible-duplicate"},{"title":"List candidate segments","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-segment-list","href":"/api-reference/candidates/list-candidate-segments"},{"title":"Create, change or delete a candidate segment","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-segment-manage","href":"/api-reference/candidates/create-change-or-delete-a-candidate-segment"},{"title":"Download a candidate document","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-document-download","href":"/api-reference/candidates/download-a-candidate-document"}]},{"group":"Tasks","pages":[{"title":"List tasks","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-task-list","href":"/api-reference/tasks/list-tasks"},{"title":"Create or change a task","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-task-save","href":"/api-reference/tasks/create-or-change-a-task"}]},{"group":"Document requests","pages":[{"title":"List document requests","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-document-request-list","href":"/api-reference/document-requests/list-document-requests"},{"title":"Ask a candidate for documents","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-document-request-create","href":"/api-reference/document-requests/ask-a-candidate-for-documents"},{"title":"Cancel a document request or mark it reviewed","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-document-request-update","href":"/api-reference/document-requests/cancel-a-document-request-or-mark-it-reviewed"}]},{"group":"Reasons","pages":[{"title":"List the company's reasons","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-reason-list","href":"/api-reference/reasons/list-the-companys-reasons"},{"title":"Get one of the company's reasons","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-reason-get","href":"/api-reference/reasons/get-one-of-the-companys-reasons"},{"title":"Create, change or archive a reason","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-reason-save","href":"/api-reference/reasons/create-change-or-archive-a-reason"}]},{"group":"Knowledge base","pages":[{"title":"Upload a knowledge base document","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /knowledge-base-document-upload","href":"/api-reference/knowledge-base/upload-a-knowledge-base-document"},{"title":"List knowledge base documents and their interview limits","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /knowledge-base-document-list","href":"/api-reference/knowledge-base/list-knowledge-base-documents-and-their-interview-limits"},{"title":"Change which interviews can use a document","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /knowledge-base-document-set-interviews","href":"/api-reference/knowledge-base/change-which-interviews-can-use-a-document"},{"title":"List knowledge base stores","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /knowledge-base-store-list","href":"/api-reference/knowledge-base/list-knowledge-base-stores"},{"title":"Create or change a knowledge base store","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /knowledge-base-store-save","href":"/api-reference/knowledge-base/create-or-change-a-knowledge-base-store"}]},{"group":"Resume \u0026 Form verification","pages":[{"title":"Create or update a pre-screening position","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /pre-screening-create","href":"/api-reference/resume-\u0026-form-verification/create-or-update-a-pre-screening-position"},{"title":"Run pre-screening on a plaintext resume","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-pre-screening-api-resume-text","href":"/api-reference/resume-\u0026-form-verification/run-pre-screening-on-a-plaintext-resume"},{"title":"Pre-screen a candidate from a binary resume upload","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /job-interview-pre-screening-api-resume-binary","href":"/api-reference/resume-\u0026-form-verification/pre-screen-a-candidate-from-a-binary-resume-upload"}]},{"group":"Admin","pages":[{"title":"Invite admin / merchant-team or coaching users","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /invite-users","href":"/api-reference/admin/invite-admin-merchant-team-or-coaching-users"},{"title":"List sub-merchants","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-sub-merchant-list","href":"/api-reference/admin/list-sub-merchants"},{"title":"List the company's users","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-user-list","href":"/api-reference/admin/list-the-companys-users"},{"title":"List avatar templates","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-avatar-list","href":"/api-reference/admin/list-avatar-templates"},{"title":"Get merchant status","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /merchant-status","href":"/api-reference/admin/get-merchant-status"},{"title":"List platform languages","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /platform-languages-list","href":"/api-reference/admin/list-platform-languages"},{"title":"Get the portal configuration (branding, portals, brands, pages)","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /portal-configuration-get","href":"/api-reference/admin/get-the-portal-configuration-branding-portals-brands-pages"},{"title":"Update the portal configuration (branding, portals, brands, pages)","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /portal-configuration-update","href":"/api-reference/admin/update-the-portal-configuration-branding-portals-brands-pages"},{"title":"Publish a brand stylesheet","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /portal-css-publish","href":"/api-reference/admin/publish-a-brand-stylesheet"},{"title":"Get the component style guide","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /portal-component-styles","href":"/api-reference/admin/get-the-component-style-guide"},{"title":"Save a component style","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /portal-component-styles","href":"/api-reference/admin/save-a-component-style"},{"title":"Generate component style alternatives","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /portal-component-styles-generate","href":"/api-reference/admin/generate-component-style-alternatives"},{"title":"List the media library","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /media-list","href":"/api-reference/admin/list-the-media-library"},{"title":"Start uploading a media file","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /media-upload-start","href":"/api-reference/admin/start-uploading-a-media-file"},{"title":"Finish uploading a media file","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /media-upload-finish","href":"/api-reference/admin/finish-uploading-a-media-file"},{"title":"Describe a media file","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /media-update","href":"/api-reference/admin/describe-a-media-file"},{"title":"Delete a media file","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /media-delete","href":"/api-reference/admin/delete-a-media-file"},{"title":"List the media library folders","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi get /media-folders","href":"/api-reference/admin/list-the-media-library-folders"},{"title":"Create, rename or delete a media library folder","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /media-folders","href":"/api-reference/admin/create-rename-or-delete-a-media-library-folder"}]},{"group":"Feedback","pages":[{"title":"Submit a feature request","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-feature-request","href":"/api-reference/feedback/submit-a-feature-request"},{"title":"Report a technical issue","deprecated":null,"version":null,"openapi":"https://cool.jobmojito.com/functions/v1/openapi post /merchant-technical-issue","href":"/api-reference/feedback/report-a-technical-issue"}]}]},{"tab":"Webhooks","pages":[{"title":"Webhooks","href":"/api-reference/webhooks/interview-result-submitted"}]},{"tab":"Cookbooks","pages":[{"title":"Cookbooks","href":"/cookbooks"}]},{"tab":"Skills","pages":[{"title":"Skills","href":"/skills/overview"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/overview"}]}]},"basePath":"","title":"Create a new interview - JobMojito Developer / Agent","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","Page-1CZdsdAn.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js","Markdown-uxhlayGT.js","clsx-B35qUV0p.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BvrGG8gU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CAf0yVYe.js"]}