Skip to main content
Reviewing a candidate is three steps: find the result, read its details, and (optionally) export a report.

1. Find the result

List your merchant’s results, newest first. Everything is a query parameter — no request body.
Useful filters: interview_id (one interview), tab (completed, shortlist, undecided, decided-selected, decided-rejected, …), step (pre-screening or interview), order_by (score, created_at_newest, …), filter_text, plus limit/offset. The response has data[] and pagination. Each row includes interview_result_id, candidate_name, candidate_email, status, decision_status, and score. Grab the interview_result_id for the next step.
Interview role-plays appear in this list too, carrying type: "persona_interview". They are scored on the persona scoring path — you get per-answer and session-level feedback rather than a question-by-question rubric — but the listing, filtering, and detail endpoints work the same way.
To browse candidates instead of results, use GET /merchant-candidate-list (list_candidates); to browse interview definitions, use GET /merchant-interview-list (list_interviews).

2. Read the transcript and assessment

You get the overall scores (score, score_sentiment, score_words_per_minute, …), AI write-ups (ai_analysis, ai_analysis_recruiter, ai_analysis_recruiter_why_hire / …_why_not_hire), any recruiter_risks, and the full transcript array. Each transcript item has question_asked, answer, per-answer ai_analysis, and a score.

3. Export a report

Generate a shareable report as a PDF (signed URL), raw HTML, or structured JSON. Pass a single interview_result_id or an array interview_result_ids for a combined report.
The response shape depends on export_type:
  • pdfpdf_export_url + pdf_export_valid_until (set store_file: true).
  • htmlhtml_export (a full HTML document string).
  • jsonjson_export (structured object).

Report content toggles (export_features_result)

Set export_features_result.mojito_language_code to translate the report into another language (0.1 credit per result when it differs from the result’s own language).
Want to give a candidate another go? POST /job-interview-result-request-another-attempt (request_another_interview_attempt) re-opens a submitted result. On a interview role-play this works even once the candidate has used up their attempts — a released attempt no longer counts against the cap.