---
title: "Get Public Interview"
method: GET
path: "/interview/{magic_token}"
tags: ["public-interview"]
---

# Get Public Interview

`GET /interview/{magic_token}`

## Request

- Base URL: `https://api.ruzora.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ruzora.com/interview/{magic_token}`
- Auth: none declared

Resolve a magic-link token → interview state for the candidate.

## Path parameters

- `magic_token` string, required

## Response `200`

Successful Response

- PublicInterviewView: GET /interview/{token} response. Strictly limited fields — the candidate sees their own first name (for greeting), the role type, the questions, and the expiry. Nothing else.
  - `interview_id` string, uuid, required
  - `candidate_first_name` string, required
  - `role_type` string, required
  - `template_name` string, required
  - `expires_at` string, date-time, required
  - `status` 'sent' | 'in_progress' | 'completed' | 'expired' | 'reviewed', required
  - `questions` PublicInterviewQuestion[], required
    - `question_id` string, uuid, required
    - `question_text` string, nullable, required
    - `time_limit_seconds` integer, required
    - `order_index` integer, required
    - `liveness_prompt` object, nullable
  - `uploaded_question_ids` string[]
  - `ai_notice_consented` boolean
  - `ai_notice_version` string, nullable
  - `training_consent_enabled` boolean
  - `training_consented` boolean
  - `question_gating` boolean
  - `liveness_checks` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api.md) · [All operations](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/revisions/f9b8223f3ac4?raw)
