---
title: "Hang up a live call"
method: POST
path: "/v1/voice/calls/{id}/end"
tags: ["Voice"]
---

# Hang up a live call

`POST /v1/voice/calls/{id}/end`

Hangs up a live call on demand. Idempotent: ending a call that already
ended (or never connected) returns success with the call's current
status. Final duration/cost are written asynchronously when the hangup
event lands, so the call doc may briefly still show its prior status.

## Path parameters

- `id` string, required

## Response `200`

Hangup issued (or the call was already over).

- object
  - `success` boolean
  - `callId` string
  - `status` string — `ending` when a hangup was issued; otherwise the call's current status.

## Other responses

- `401` — Unauthorized
- `404` — Call not found
- `502` — Carrier-side hangup failed

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/revisions/f81ca70ea6b9/schema)
