Outbound Calls

Transfer a live call to another destination

Moves the caller on an in-progress call to another destination, and hangs up whatever they were connected to.

Built for calls delivered to your own SIP endpoint via a number's voice.sipUri: those bridge straight to you without running the conversational webhook, so returning transfer: true from a webhook is not available on them. It also works on calls answered by a CallNode AI agent.

Every transfer originates a new leg on your behalf, so it clears the same gates as placing an outbound call: KYC, DNC/suppression, and the destination-class guard. A CallLog and UsageRecord are written for the transferred leg, so it is attributed and billable.

A transfer blocked by a gate returns the caller to the agent rather than hanging up, so the agent can take a message.

202 means accepted, not yet connected; the bridge follows immediately.

post/api/v1/calls/{callId}/transfer

Request

  • Base URL: https://api.callnode.io
  • URL: https://api.callnode.io/api/v1/calls/{callId}/transfer
  • Auth: API key in header X-Api-Key and API key in header X-Timestamp and API key in header X-Signature

Request body

destinationstring required

E.164 number, or a sip: URI to your own endpoint. SIP hosts must be public — private and infrastructure ranges are rejected.

Example request

{
  "destination": "+16135551234"
}

Response

Transfer accepted; the caller is being bridged.

callIdstring
destinationstring
statusstring

Example response

{
  "status": "transferring"
}

Changes

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