---
title: "Void Interview Endpoint"
method: POST
path: "/api/interviews/{interview_id}/void"
tags: ["Interviews"]
---

# Void Interview Endpoint

`POST /api/interviews/{interview_id}/void`

## 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/interviews/{interview_id}/void`
- Auth: HTTP bearer

Mark an interview as invalid so it stops counting in role
benchmarks, candidate counts, and pipeline aggregations. The
interview record (transcript, recording, analysis if any) is
preserved — voiding is a data-hygiene action, not a delete.

Refunds are explicitly out of scope. Voiding does not touch the
wallet ledger; charge disputes are a separate manual flow. This
decoupling is intentional anti-abuse design.

Requires admin or recruiter role.

## Path parameters

- `interview_id` string, uuid, required

## Request body

- VoidInterviewRequest: Payload for marking an interview as invalid (data hygiene). Reason is closed-list to keep admin reporting consistent — see `core.interview_void.VALID_VOID_REASONS`. Notes are optional and free-text for context the recruiter wants to leave for themselves or a teammate.
  - `reason` string, required
  - `notes` string, nullable

## Response `200`

Successful Response

- VoidInterviewResponse: Result of a void/unvoid action — fits the post-write shape used elsewhere.
  - `success` boolean, required
  - `interview_id` string, required
  - `excluded` boolean, required
  - `excluded_reason` string, nullable
  - `excluded_notes` string, nullable
  - `excluded_at` string, nullable
  - `excluded_by` string, nullable
  - `message` string, nullable

## 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)
