changedInput schema / properties / candidate_expectations_json / description
Previous value: -"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."New value: +"With questions only: pre-generated candidate expectations, bucketed by requirement level (weak/moderate/strong); generated from your questions when omitted for type interview."
removedInput schema / properties / candidate_expectations_json / properties / moderate / description
Removed value: -"Requirements expected of a solid, competent candidate."
removedInput schema / properties / candidate_expectations_json / properties / strong / description
Removed value: -"High-bar requirements only standout candidates clear."
removedInput schema / properties / candidate_expectations_json / properties / weak / description
Removed value: -"Baseline requirements every viable candidate should meet (table stakes)."
changedInput schema / properties / candidate_notification_channel / description
Previous value: -"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."New value: +"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."
removedInput schema / properties / candidate_video_introduction / example
Removed value: -"optional"
removedInput schema / properties / code / example
Removed value: -"my code"
removedInput schema / properties / country_availability / properties / countries_allowed / description
Removed value: -"Available ONLY to candidates in these countries (ISO 3166-1 alpha-2)."
removedInput schema / properties / country_availability / properties / countries_allowed / example
Removed value: -[
- "PH",
- "IN"
-]
removedInput schema / properties / country_availability / properties / countries_allowed_eu / description
Removed value: -"Adds every EU country (plus EEA and Switzerland) to countries_allowed."
removedInput schema / properties / country_availability / properties / countries_blocked / description
Removed value: -"NOT available to candidates in these countries (ISO 3166-1 alpha-2). Wins over the allowed side."
removedInput schema / properties / country_availability / properties / countries_blocked / example
Removed value: -[
- "US"
-]
removedInput schema / properties / country_availability / properties / countries_blocked_eu / description
Removed value: -"Adds every EU country (plus EEA and Switzerland) to countries_blocked."
removedInput schema / properties / cover_image_url / example
Removed value: -"https://example.com/cover.png"
removedInput schema / properties / description / example
Removed value: -"Backend role focused on Python, async APIs, and AWS."
changedInput schema / properties / description_long / description
Previous value: -"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"New value: +"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)."
changedInput schema / properties / disable_deduplication / description
Previous value: -"With questions only: when true, every question is stored as a new record instead of reusing an identical one. Ignored without questions."New value: +"With questions only: when true, every question is stored as a new record instead of reusing an identical one."
changedInput schema / properties / environment / description
Previous value: -"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.."New value: +"Which of your webhook environments results from this interview are delivered to. Defaults to production."
removedInput schema / properties / environment / example
Removed value: -"production"
changedInput schema / properties / hiring_for_company / description
Previous value: -"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: '<company>' } plus optional description/location/sector/company_size for a named client. Stored in creation_parameters.hiring_for_company."New value: +"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: '<company>' } plus optional description/location/sector/company_size for a named client."
removedInput schema / properties / hiring_for_company / example
Removed value: -{
- "name": "undisclosed"
-}
removedInput schema / properties / hiring_for_company / properties / company_size / description
Removed value: -"Approximate headcount of the end employer."
removedInput schema / properties / hiring_for_company / properties / company_size / example
Removed value: -"100-200"
removedInput schema / properties / hiring_for_company / properties / description / description
Removed value: -"Short description of the end employer, used as background context by the agent."
removedInput schema / properties / hiring_for_company / properties / description / example
Removed value: -"Unimo Enterprises is a leading logistics and supply chain solutions provider."
removedInput schema / properties / hiring_for_company / properties / location / description
Removed value: -"Primary location of the end employer."
removedInput schema / properties / hiring_for_company / properties / location / example
Removed value: -"Sri Lanka"
removedInput schema / properties / hiring_for_company / properties / name / description
Removed value: -"End-employer name. Omit/null when hiring for yourself, 'undisclosed' for an unnamed external client, or the client's company name."
removedInput schema / properties / hiring_for_company / properties / name / example
Removed value: -"Unimo Enterprises"
removedInput schema / properties / hiring_for_company / properties / sector / description
Removed value: -"Industry / sector of the end employer."
removedInput schema / properties / hiring_for_company / properties / sector / example
Removed value: -"Logistics and Supply Chain"
removedInput schema / properties / include_closing_prompt / example
Removed value: -true
removedInput schema / properties / include_rapport_question / example
Removed value: -true
removedInput schema / properties / instructional_video / example
Removed value: -true
removedInput schema / properties / interview_attempts / example
Removed value: -1
removedInput schema / properties / interview_available_till / example
Removed value: -"2026-12-31"
removedInput schema / properties / interview_category / example
Removed value: -"Ashore"
changedInput schema / properties / interview_conversation_speed / description
Previous value: -"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.."New value: +"Conversation pace of the AI avatar. Omit/null keeps the template default pace."
removedInput schema / properties / interview_conversation_speed / example
Removed value: -"normal"
removedInput schema / properties / interview_department / example
Removed value: -"Engineering"
changedInput schema / properties / interview_length / description
Previous value: -"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."New value: +"Number of questions to generate (1-40). Omit this field to let the AI pick 5-8."
removedInput schema / properties / interview_length / example
Removed value: -8
removedInput schema / properties / interview_salary / example
Removed value: -"$80k - $100k"
removedInput schema / properties / interview_template_id / example
Removed value: -"baa3bf7c-6926-46fd-9005-16738a31f72d"
changedInput schema / properties / interview_tone / description
Previous value: -"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 (create_interview_from_questions) where the wording is a script.."New value: +"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."
removedInput schema / properties / interview_tone / example
Removed value: -"professional"
changedInput schema / properties / interview_type / description
Previous value: -"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.."New value: +"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."
removedInput schema / properties / interview_type / example
Removed value: -"pre-screening-with-test-questions"
changedInput schema / properties / is_embedded / description
Previous value: -"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."New value: +"Set true when the interview will be embedded as an iframe on an external page. 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."
removedInput schema / properties / is_embedded / example
Removed value: -false
addedInput schema / properties / llm_model
Added value: +{
+ "description": "Your model id, e.g. \"claude-opus-4-8\"; \"unknown\" if unsure. For analytics.",
+ "type": "string"
+}
removedInput schema / properties / location / example
Removed value: -"remote"
changedInput schema / properties / max_duration / description
Previous value: -"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."New value: +"Maximum interview duration in seconds. Defaults to 1200 (20 minutes) when omitted."
removedInput schema / properties / max_duration / example
Removed value: -1200
removedInput schema / properties / max_followups / example
Removed value: -2
removedInput schema / properties / merchant_id / example
Removed value: -"28106cba-1c27-4e53-b149-32113e5e8e31"
removedInput schema / properties / microphone_test_message / example
Removed value: -"Before we start, let's check your microphone. Say \"Hello, I'm ready.\""
removedInput schema / properties / microphone_test_no_speech_message / example
Removed value: -"We can't hear you. Check your microphone and try again."
removedInput schema / properties / mojito_language_code / example
Removed value: -"en"
removedInput schema / properties / name / example
Removed value: -"Project manager"
removedInput schema / properties / pdf_export_auto_config / properties / ai_recruiter_assessment / description
Removed value: -"Include the AI recruiter assessment."
removedInput schema / properties / pdf_export_auto_config / properties / ai_scoring_rubric / description
Removed value: -"Include the AI scoring rubric."
removedInput schema / properties / pdf_export_auto_config / properties / analytics / description
Removed value: -"Include analytics."
removedInput schema / properties / pdf_export_auto_config / properties / answer_recording / description
Removed value: -"Include per-answer recordings."
removedInput schema / properties / pdf_export_auto_config / properties / contact_details / description
Removed value: -"Include candidate contact details."
removedInput schema / properties / pdf_export_auto_config / properties / files / description
Removed value: -"Include uploaded candidate files."
removedInput schema / properties / pdf_export_auto_config / properties / group_by_question / description
Removed value: -"Group transcript answers by expected question."
removedInput schema / properties / pdf_export_auto_config / properties / mojito_language_code / description
Removed value: -"Report language code (a platform-languages.json code)."
removedInput schema / properties / pdf_export_auto_config / properties / mojito_language_code / example
Removed value: -"en"
removedInput schema / properties / pdf_export_auto_config / properties / session_recording / description
Removed value: -"Include the full-session recording."
removedInput schema / properties / pdf_export_auto_config / properties / template / description
Removed value: -"Report layout: classic, modern, or one_pager. Omit for the merchant default (modern when unset)."
removedInput schema / properties / pdf_export_auto_config / properties / transcript / description
Removed value: -"Include the interview transcript."
changedInput schema / properties / questions / description
Previous value: -"OPTIONAL: your own ordered list of questions, in the format job-interview-create-from-array takes and job-interview-get returns. When given, nothing is generated by AI except the candidate expectations (type interview, unless candidate_expectations_json is given): the call then behaves exactly as job-interview-create-from-array. description becomes required; interview_length, include_closing_prompt and use_enhanced_expectations are ignored; include_rapport_question defaults to true (as job-interview-create-from-array); max_duration keeps its meaning here (stored, 1200 when omitted). Omit to have the AI generate the description and questions."New value: +"OPTIONAL: your own ordered list of questions, in the format job-interview-create-from-array takes and job-interview-get returns. description becomes required; interview_length, include_closing_prompt and use_enhanced_expectations are ignored; include_rapport_question defaults to true (as job-interview-create-from-array); max_duration keeps its meaning here (stored, 1200 when omitted). Omit to have the AI generate the description and questions."
removedInput schema / properties / questions / items / properties / candidate_expectations_json / description
Removed value: -"Per-question candidate expectations, bucketed by requirement level (weak/moderate/strong). Extra keys are preserved."
removedInput schema / properties / questions / items / properties / candidate_expectations_json / properties / moderate / description
Removed value: -"Requirements expected of a solid, competent candidate."
removedInput schema / properties / questions / items / properties / candidate_expectations_json / properties / strong / description
Removed value: -"High-bar requirements only standout candidates clear."
removedInput schema / properties / questions / items / properties / candidate_expectations_json / properties / weak / description
Removed value: -"Baseline requirements every viable candidate should meet (table stakes)."
removedInput schema / properties / questions / items / properties / conditional_question_answer / description
Removed value: -"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."
removedInput schema / properties / questions / items / properties / conditional_question_answer / example
Removed value: -false
removedInput schema / properties / questions / items / properties / conditional_question_main_id / description
Removed value: -"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."
removedInput schema / properties / questions / items / properties / duration / description
Removed value: -"Answer duration in seconds for this question."
removedInput schema / properties / questions / items / properties / external_data / description
Removed value: -"Arbitrary JSON metadata stored on the question."
removedInput schema / properties / questions / items / properties / external_id / description
Removed value: -"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."
removedInput schema / properties / questions / items / properties / id / description
Removed value: -"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."
removedInput schema / properties / questions / items / properties / is_candidate_asking_recruiter / description
Removed value: -"Candidate-asks-recruiter prompt (view 'candidate asking recruiter')."
removedInput schema / properties / questions / items / properties / is_conditional / description
Removed value: -"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."
removedInput schema / properties / questions / items / properties / is_expert / description
Removed value: -"Expert listening question (view 'with listening expert')."
removedInput schema / properties / questions / items / properties / is_multiple_choice / description
Removed value: -"Multiple-choice question (view 'multiple choice')."
removedInput schema / properties / questions / items / properties / is_skippable / description
Removed value: -"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."
removedInput schema / properties / questions / items / properties / is_skippable / example
Removed value: -false
removedInput schema / properties / questions / items / properties / is_without_scoring / description
Removed value: -"Question is asked but not scored (view 'without scoring')."
removedInput schema / properties / questions / items / properties / knowledge_base_id / description
Removed value: -"Knowledge-base store id (uuid) the question draws context from."
removedInput schema / properties / questions / items / properties / label / description
Removed value: -"Optional label/tag stored on the question."
removedInput schema / properties / questions / items / properties / mojito_language_code / description
Removed value: -"Per-question language override (one of the platform-languages.json codes). Inherits the interview language when omitted."
removedInput schema / properties / questions / items / properties / mojito_language_code / example
Removed value: -"en"
removedInput schema / properties / questions / items / properties / question / description
Removed value: -"The question text shown to the candidate."
removedInput schema / properties / questions / items / properties / question_alternatives / description
Removed value: -"Alternative phrasings for the question."
removedInput schema / properties / questions_random_subset / example
Removed value: -0.5
changedInput schema / properties / recording / description
Previous value: -"Cheating/proctoring detection mode for candidate answers — this is NOT a full session recording. Video options also record the candidate. Omit/null 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.."New value: +"Cheating/proctoring detection mode for candidate answers — this is NOT a full session recording. Omit/null to disable."
removedInput schema / properties / recording / example
Removed value: -"video_all"
changedInput schema / properties / recording_full_session / description
Previous value: -"Full interview-session recording (includes the avatar and voice) produced as a single file. Independent of `recording`. Omit/null 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.."New value: +"Full interview-session recording (includes the avatar and voice) produced as a single file. Omit/null to disable."
removedInput schema / properties / recording_full_session / example
Removed value: -"video_all"
removedInput schema / properties / recruiter_profile_id / example
Removed value: -"28106cba-1c27-4e53-b149-32113e5e8e31"
removedInput schema / properties / required_pronunciation / example
Removed value: -false
removedInput schema / properties / result_enable_edit_transcript / example
Removed value: -true
changedInput schema / properties / result_view / description
Previous value: -"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.."New value: +"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."
removedInput schema / properties / result_view / example
Removed value: -"full"
changedInput schema / properties / seniority_level / description
Previous value: -"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.."New value: +"Target seniority level for the role; auto-detected from the job description when omitted."
removedInput schema / properties / seniority_level / example
Removed value: -"senior"
changedInput schema / properties / status / description
Previous value: -"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.."New value: +"Lifecycle status of the interview."
removedInput schema / properties / status / example
Removed value: -"active"
changedInput schema / properties / tags / description
Previous value: -"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 `public` or `merchant_public` are listed."New value: +"Free-form tags stored on the interview. Only `active` sessions with visibility `public` or `merchant_public` are listed."
removedInput schema / properties / tags / example
Removed value: -[
- "interview-practice",
- "sales"
-]
changedInput schema / properties / type / description
Previous value: -"Product type of the interview. Options — `interview`: Standard candidate interview for a role — answers are AI-scored and produce a hiring recommendation. | `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.."New value: +"Product type of the interview."
removedInput schema / properties / type / example
Removed value: -"interview"
changedInput schema / properties / visibility / description
Previous value: -"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.."New value: +"Who can discover and access the interview."
removedInput schema / properties / visibility / example
Removed value: -"merchant_public"
removedOutput schema / description
Removed value: -"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."
removedOutput schema / properties / embed_id / description
Removed value: -"Embed id, present only when is_embedded=true."
removedOutput schema / properties / embed_signing_key / description
Removed value: -"Embed signing key, present only when is_embedded=true."
removedOutput schema / properties / interview_def_set_id / description
Removed value: -"Id of the newly created interview definition set."
removedOutput schema / properties / interview_def_set_id / example
Removed value: -"00000000-0000-0000-0000-000000000000"
removedOutput schema / properties / max_duration / description
Removed value: -"Live session limit in seconds stored on the interview — the value sent, or the 1200 default when omitted."
removedOutput schema / properties / max_duration / example
Removed value: -1200
removedOutput schema / properties / questions_generated / description
Removed value: -"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."
removedOutput schema / properties / questions_generated / example
Removed value: -8