---
title: "Cancel an in-flight call"
method: POST
path: "/conversation/cancel"
tags: ["Conversations"]
---

# Cancel an in-flight call

`POST /conversation/cancel`

Cancels an outbound call that has been queued or is in progress. Use the body form to look the call up by `callId`; the path-param form (`POST /conversation/{callId}/cancel`) is the equivalent for REST conventions, but only handles `IN_QUEUE` calls.

Returns `404` if no call with that ID exists in your organization. Returns `400` if the call is already in a terminal state (completed / failed / cancelled).

## Request body

- object
  - `callId` string, required — The `callId` returned by `POST /conversation/outbound` or visible in `GET /conversation`.
  - `reason` string — Optional free-text reason for cancellation. Logged for support / audit.

## Response `200`

Call cancelled.

- object
  - `status` boolean
  - `data` object
    - `callId` string
    - `status` string
    - `previousStatus` string — The call's status immediately before cancellation (e.g. `queued`, `ringing`, `in-progress`).

## Other responses

- `400` — Call is already in a terminal state and cannot be cancelled.
- `401` — Unauthorized access
- `404` — No call found with that callId in your organization.
- `500` — Internal server error

---

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