---
title: "Get an interview"
method: GET
path: "/api/v1/interviews/{id}"
tags: ["Interviews"]
---

# Get an interview

`GET /api/v1/interviews/{id}`

## Request

- Base URL: `https://app.probbai.com`
- URL: `https://app.probbai.com/api/v1/interviews/{id}`
- Auth: HTTP bearer

Read the independent candidate, preparation, evaluation, and email states of an interview attempt. Use this as the current attempt overview.

## Before you call

Use the interviewId returned by invitation or List interviews, not the reportId.

**Required scope:** `interviews:read`.

## What happens next

lifecycle tracks the candidate. preparation=ready means questions are prepared. evaluation=ready means the evaluation is available. emailDelivery=sent means provider acceptance, not inbox delivery.

## Recovery

Fetch the result only when evaluation is ready. A preparation or delivery failure can occur while lifecycle remains invited. An expired or superseded invitation cannot start a new session.

[Follow the complete workflow](/integration-interviews/) · [Errors and retries](/api-errors/)

## Path parameters

- `id` string, required

## Response `200`

lifecycle tracks the candidate. preparation=ready means questions are prepared. evaluation=ready means the evaluation is available. emailDelivery=sent means provider acceptance, not inbox delivery.

- object
  - `data` Interview, required
    - `id` string, required: Resource identifier. External-reference IDs are supplied by your system; resource/event IDs are returned by ProBB AI.
    - `reportId` string, required: Report ID returned by upload preparation, admission, discovery, or an event. It must belong to the API key's workspace.
    - `interviewSystemVersion` string, required: Assigned interview version captured for this quote or attempt. Existing attempts retain their version.
    - `createdAt` string, date-time, required: UTC creation timestamp in ISO 8601 format.
    - `expiresAt` string, date-time, required: UTC expiration timestamp. For a batch this is the admission deadline, not a cancellation time for already accepted work.
    - `startedAt` string, date-time, nullable, required: UTC time the candidate started the interview; null before start.
    - `completedAt` string, date-time, nullable, required: UTC time the candidate completed the conversation; null before completion. Evaluation may still be pending.
    - `lifecycle` 'invited' | 'in_progress' | 'completed' | 'expired' | 'superseded', required: Candidate progress: invited, in_progress, completed, expired, or superseded. Independent of preparation and evaluation.
    - `preparation` 'queued' | 'processing' | 'ready' | 'failed', required: Interview question-preparation state. ready means the interview content is prepared; it does not mean evaluation is complete.
    - `evaluation` 'not_started' | 'processing' | 'ready' | 'failed', required: Evaluation progress, separate from candidate completion. Read the evaluation when ready.
    - `emailDelivery` 'queued' | 'sent' | 'failed' | 'not_requested', required: Email processing state. sent means provider acceptance, not confirmed inbox delivery; not_requested means your system delivers the link.
    - `resultRevision` string, nullable, required: Identity of the result publication. Store it with resource and attempt IDs to detect a changed evaluation; null before publication.

## Other responses

- `400`: Invalid input or cursor
- `401`: Invalid, expired, or revoked API key
- `403`: Disabled organisation or missing scope
- `404`: The resource is absent, expired, deleted, or unavailable in this workspace. Verify the resource ID and key's workspace.
- `405`: Method not allowed; consult Allow for supported methods
- `429`: Request limit exceeded
- `500`: Unexpected failure
- `503`: Service unavailable

---

[API](https://skmtc.dev/probbai/apis/probb-ai-customer-api.md) · [All operations](https://skmtc.dev/probbai/apis/probb-ai-customer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/probbai/apis/probb-ai-customer-api/revisions/33a3294530e4?raw)
