Skip to main content
POST
Transfer a call

Authorizations

Authorization
string
header
required

An API key from Settings → API keys, sent as Authorization: Bearer kb_live_…. A workspace key starts kb_; a personal key starts kbp_ and acts as its owner.

Headers

Idempotency-Key
string
required

A unique key (a UUID works) for this request. Retrying with the same key returns the first answer instead of running twice.

Maximum string length: 255
Kallabot-Version
enum<string>

The API version to answer as, a date (YYYY-MM-DD). Leave it out for the current version (2026-11-07). An unknown version is refused with 400 unsupported_api_version.

Available options:
2026-11-07
Example:

"2026-11-07"

Path Parameters

call_id
string
required

Body

application/json

Exactly one: an approved destination of the call's agent, or a number.

destination_id
string | null
Required string length: 1 - 64
to
string | null
Required string length: 8 - 20

Response

Successful Response

ok
boolean
required

Always true here; a refused transfer is a 409.

state
enum<string>
required

requested: the destination is being dialled; the outcome arrives as a webhook.

Available options:
requested,
completed
destination_id
string | null

The destination used (number for a typed number).

attempt_id
string | null

The transfer attempt's id.