Voice / Operations

Transfer a call

Transfer an in-progress call to a new destination — a phone number (pstn) or a SIP URI (sip). Only cold transfers are currently supported. A call can have only one transfer in flight at a time.

The transfer is accepted asynchronously; a 202 means it has been started, not that the target has answered.

post/api/v1/voice/calls/{call_id}/transfer

Request

  • Base URL: https://api.frejun.ai
  • URL: https://api.frejun.ai/api/v1/voice/calls/{call_id}/transfer
  • Auth: API key in header x-api-key

Path parameters

call_idstring required

Request body

mode'cold' | 'warm' | 'monitor'

Transfer mode. Only cold is currently supported.

timeoutinteger

Seconds to wait for the target to answer before failing (1–600).

ringback'suppress' | 'passthrough' nullable

Whether the caller hears ringback while the target is dialed.

Example request

{
  "mode": "cold",
  "target": {
    "kind": "pstn",
    "number": "+14155559876"
  },
  "timeout": 30
}

Response

The transfer was accepted and is being placed.

idstring required

Identifier of the transfer operation (op_ prefix).

call_idstring required

The call being transferred (cs_ prefix).

status'initiated' required

Always initiated when the transfer is accepted.

target_leg_idstring nullable

Identifier of the target leg once it is created, if available.

mode'cold' | 'warm' | 'monitor' required

The transfer mode that was applied.

request_idstring nullable

Identifier for this control request, for correlating retries and webhooks.

Example response

{
  "call_id": "cs_01JQ8Z9K7M3N2P4R5S6T7V8W9X",
  "id": "op_01JQ8Z9K7M3N2P4R5S6T7V8WOP",
  "mode": "cold",
  "request_id": "req_9f8e7d6c5b4a3f2e1d0c9b8a",
  "status": "initiated"
}

Changes

No recorded changes to this operation across all 1 revision of this API.