---
title: "Handle Call Ended Fallback"
method: POST
path: "/api/interviews/{interview_id}/call-ended"
tags: ["Interviews"]
---

# Handle Call Ended Fallback

`POST /api/interviews/{interview_id}/call-ended`

## 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}/call-ended`
- Auth: none declared

Handle call ended event from frontend (fallback for webhooks).

Used when Vapi webhooks can't reach the backend (e.g., localhost development).
Saves transcript in standard The Better Hire format and triggers screening analysis.

No authentication required - called from candidate's browser.

## Path parameters

- `interview_id` string, uuid, required

## Request body

- CallEndedRequest: Handle call ended event from frontend (fallback for webhooks)
  - `call_id` string, nullable
  - `transcript` string, nullable
  - `messages` object[], nullable
  - `duration_seconds` integer, nullable

## Response `200`

Successful Response

- unknown

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