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

# Hang up a call

`POST /v3/voice/calls/{id}/hangup`

## Request

- Base URL: `https://api.sent.dm`
- URL: `https://api.sent.dm/v3/voice/calls/{id}/hangup`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Ends one of your live calls. The call then ends the way any other call does once the disconnect is reported: an answered call as COMPLETED with call.completed, a call still ringing as NO_ANSWER, REJECTED or FAILED with call.failed. A call that has already ended answers 409, as do a call with no phone leg, such as one between two app users, and a call one of your voice agents answers.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string
- `x-profile-id` string, uuid

## Request body

- SentDmServicesEndpointsCustomerAPIv3VoiceCallsRequestsHangupCallRequest: Base request for mutation operations (POST, PUT, PATCH) with sandbox mode support
  - `sandbox` boolean: Sandbox flag - when true, the operation is simulated without side effects Useful for testing integrations without actual execution

## Response `204`

The call is being ended

## Other responses

- `400`: The id is not a call id
- `401`: Unauthorized - Invalid API credentials
- `403`: Forbidden
- `404`: No call with this id belongs to your account
- `409`: The call has already ended, has no phone leg, or is answered by a voice agent
- `500`: Internal server error

## Changes

- **2026-10-23** `1a451bbb5736`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sentdm/apis/sent-dm-api-v3/changes/v3/voice/calls/:id/hangup/post.md)

---

[API](https://skmtc.dev/sentdm/apis/sent-dm-api-v3.md) - [All operations](https://skmtc.dev/sentdm/apis/sent-dm-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/sentdm/apis/sent-dm-api-v3/revisions/bdcca958cac7?raw)
