---
title: "Cancel an interview nobody has started"
method: POST
path: "/api/public/v1/interviews/{interview_id}/cancel"
tags: ["Public API v1", "Public API v1"]
---

# Cancel an interview nobody has started

`POST /api/public/v1/interviews/{interview_id}/cancel`

## Request

- Base URL: `https://api.thebetterhire.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.thebetterhire.ai/api/public/v1/interviews/{interview_id}/cancel`
- Auth: HTTP bearer

Close an interview the candidate has not started — they closed the tab, the microphone failed, they changed their mind. The credit set aside for it is released at once; nothing is charged; the record is kept (this is not deletion). Returns 409 `ALREADY_STARTED` once the candidate has pressed Start, and 409 `ALREADY_FINISHED` for a completed or failed interview. Cancelling twice is harmless.

Interviews created through this API also close on their own one hour after they were meant to start (`join_expires_at` on the detail).

## Path parameters

- `interview_id` string, required

## Response `200`

Successful Response

- CancelInterviewResponse
  - `id` string, required
  - `status` string, required: 'cancelled'.
  - `message` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api.md) · [All operations](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/revisions/c8ad03e900ea?raw)
