Cancel an unanswered outgoing call

View as Markdown
Stop an outbound phone call before the callee answers. The request returns `409 Conflict` if the session is already answered or cannot be cancelled. A `202 Accepted` response means the cancellation request was queued. The existing deferred `session.ended` webhook confirms termination. No cancellation-specific webhook is emitted. **Tip:** Use this endpoint only for an unanswered outbound call. After the call is answered, this endpoint returns `409 Conflict`; use [Delete session](/api/sessions/delete) to disconnect a Session whether or not its call has been answered. **Triggered webhooks:** `session.ended` (deferred)

Authentication

AuthorizationBearer
Application auth. Send `Authorization: Bearer <app_uuid>:<api_key>` using any active key in the app's collection. See [Authentication](https://voice-platform.docs.buildwithfern.com/api/authentication) for details.

Path parameters

uuidstringRequired

Session identifier.

Headers

Idempotency-KeystringOptionalformat: "^[a-zA-Z0-9._-]+$"<=128 characters
Optional key for safely retrying mutating requests. See [Idempotency](https://voice-platform.docs.buildwithfern.com/idempotency) for details.
Operation-IdstringOptionalformat: "uuid"

optional client-supplied lowercase RFC-4122 v4 UUID returned as operation_uuid; platform generates one when omitted; correlation metadata distinct from Idempotency-Key.

Response

Command accepted for async execution
operation_uuidstringformat: "uuid"
statusenum
already_endedtrueOptional

Optional. Set to true on idempotent terminal commands when the session was already in a terminal state at the time the request was received. Absent otherwise.

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error
409
Conflict Error
413
Content Too Large Error
415
Unsupported Media Type Error
422
Unprocessable Entity Error
500
Internal Server Error
503
Service Unavailable Error