> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jobmojito.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Review results

> List completed interviews, read full transcripts and AI assessments, and export reports.

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

| Step | Endpoint | MCP tool |
| - | - | - |
| List results | `GET /merchant-result-list` | `list_interview_results` |
| Read transcript + scores | `POST /job-interview-details` | `get_interview_result_details` |
| Export PDF / HTML / JSON | `POST /job-interview-pdf` | `generate_interview_report` |

## 1. Find the result

List your merchant's results, newest first. Everything is a query parameter — no request body.

<CodeGroup>
  ```bash cURL theme={null}
  curl -G https://cool.jobmojito.com/functions/v1/merchant-result-list \
    -H "Authorization: Bearer $SUPABASE_JWT" \
    --data-urlencode "tab=completed" \
    --data-urlencode "order_by=score" \
    --data-urlencode "limit=25"
  ```
</CodeGroup>

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.

<Note>
  [Interview role-plays](/cookbooks/create-an-interview) 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.
</Note>

<Tip>
  To browse candidates instead of results, use `GET /merchant-candidate-list` (`list_candidates`); to browse interview definitions, use `GET /merchant-interview-list` (`list_interviews`).
</Tip>

## 2. Read the transcript and assessment

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://cool.jobmojito.com/functions/v1/job-interview-details \
    -H "Authorization: Bearer $SUPABASE_JWT" \
    -H "Content-Type: application/json" \
    -d '{
      "interview_result_id": "RESULT_UUID",
      "get_signed_recordings": false
    }'
  ```
</CodeGroup>

You get the overall scores (`score`, `score_sentiment`, `score_words_per_minute`, …), AI write-ups (`ai_analysis`, `ai_analysis_recruiter`, and `ai_analysis_other.strengths_concerns` with its `strengths` / `concerns` lists — the older `ai_analysis_recruiter_why_hire` / `…_why_not_hire` fields are deprecated copies of those), 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.

<CodeGroup>
  ```bash PDF theme={null}
  curl -X POST https://cool.jobmojito.com/functions/v1/job-interview-pdf \
    -H "Authorization: Bearer $SUPABASE_JWT" \
    -H "Content-Type: application/json" \
    -d '{
      "interview_result_id": "RESULT_UUID",
      "export_type": "pdf",
      "store_file": true,
      "export_features_result": {
        "ai_recruiter_assessment": true,
        "ai_scoring_rubric": true,
        "transcript": true,
        "analytics": true
      }
    }'
  ```

  ```bash JSON theme={null}
  curl -X POST https://cool.jobmojito.com/functions/v1/job-interview-pdf \
    -H "Authorization: Bearer $SUPABASE_JWT" \
    -H "Content-Type: application/json" \
    -d '{ "interview_result_id": "RESULT_UUID", "export_type": "json" }'
  ```
</CodeGroup>

The response shape depends on `export_type`:

* `pdf` → `pdf_export_url` + `pdf_export_valid_until` (set `store_file: true`).
* `html` → `html_export` (a full HTML document string).
* `json` → `json_export` (structured object).

### Report layout (`template`)

Optional, defaults to `classic`:

* `classic` — the original card-based report.
* `modern` — the full report on a white page with hairline rules, in the visual style of the recruiter result page.
* `one_pager` — a single summary page with a status rail: score, verdict, AI feedback and hiring reasons. No transcript or analytics; uploaded documents still follow as extra pages when `files` is on.

`template` may also be set inside `export_features_result` (that is how a saved auto-export configuration carries it); the top-level field wins when both are given.

### Report content toggles (`export_features_result`)

<Note>
  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).
</Note>

<Tip>
  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](/cookbooks/create-an-interview) this works even once the candidate has used up their attempts — a released attempt no longer counts against the cap.
</Tip>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.