Forward a call
Forward a call to another phone number or to a SIP URI. This command will create a new call resource and both calls will be connected (bridged).
Command bridge new call with existing call
Check below the forward call object's properties.
type: object
title: Bridge new call with existing call
additionalProperties: false
properties:
from:
type: string
to:
type: string
ringTimeout:
type: integer
minimum: 3
maximum: 120
default: 30
maxDuration:
type: integer
minimum: 1
default: 28800
ringTone:
ref: '../properties/RingTone.yml'
hangupAfterBridge:
type: boolean
record:
type: boolean
recordStart:
type: string
enum:
- record-from-answer
- record-from-ringing
recordStereo:
type: boolean
notification:
ref: '../properties/Notification.yml'
required:
- to
Creates a new channel call and forward to it
Authorizations
Path parameters
workspaceIdstring · uuidRequired
The ID of the workspace
callIdstring · uuidRequired
The ID for a call
channelIdstring · uuidRequired
The ID for a channel
Body
fromstringOptional
tostringRequired
ringTimeoutinteger · min: 3 · max: 120OptionalDefault:
30
maxDurationinteger · min: 1OptionalDefault:
28800
ringTonestring · enum | nullableOptionalPossible values:
hangupAfterBridgebooleanOptional
recordbooleanOptional
recordStartstring · enumOptionalPossible values:
recordStereobooleanOptional
Responses
202
Call Command Bridge was accepted for processing
application/json
400
The request did not pass validation
application/json
404
The request did not pass validation
application/json
422
The request did not pass validation
application/json
post
POST /workspaces/{workspaceId}/channels/{channelId}/calls/{callId}/bridge HTTP/1.1
Host:
Authorization: Bearer jwt
Content-Type: application/json
Accept: */*
Content-Length: 515
{
"from": "text",
"to": "text",
"ringTimeout": 30,
"maxDuration": 28800,
"ringTone": "be",
"hangupAfterBridge": true,
"record": true,
"recordStart": "record-from-answer",
"recordStereo": true,
"callFlow": [
{
"command": "hangup",
"conditions": [
{
"variable": "keys",
"operator": "eq",
"value": "text"
}
],
"options": {
"media": [
"text"
],
"loop": 1,
"timeout": 1,
"pauseMilliseconds": 1
}
}
],
"notification": {
"url": "text"
},
"amdSettings": {
"enabled": false,
"wordCount": 5,
"speechTimeout": 3,
"speechLocale": "en-US",
"beepTimeout": 30,
"ifMachineNotifyAfter": "wordCount"
}
}
{
"command": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"callId": "123e4567-e89b-12d3-a456-426614174000",
"callFlowId": "123e4567-e89b-12d3-a456-426614174000",
"status": "text",
"command": "text",
"conditions": [
{
"variable": "keys",
"operator": "eq",
"value": "text"
}
]
},
"bridgedCall": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"channelId": "123e4567-e89b-12d3-a456-426614174000",
"from": "text",
"to": "text",
"originator": {
"contact": {
"id": "text",
"identifierKey": "text",
"identifierValue": "text"
},
"number": {
"type": "pstn",
"number": "text",
"anonymous": true,
"callerIdName": "text",
"identity": "text",
"countryIsoCode": "text",
"pstnNumberType": "text"
}
},
"receiver": {
"contact": {
"id": "text",
"identifierKey": "text",
"identifierValue": "text"
},
"number": {
"type": "pstn",
"number": "text",
"anonymous": true,
"callerIdName": "text",
"identity": "text",
"countryIsoCode": "text",
"pstnNumberType": "text"
}
},
"parentId": "123e4567-e89b-12d3-a456-426614174000",
"direction": "incoming",
"status": "accepted",
"reason": "text",
"type": "pstn",
"duration": 1,
"hangupCauseCode": 1,
"hangupSource": "callee",
"hangupSipCode": "text",
"createdAt": "2025-07-13T02:24:39.193Z",
"updatedAt": "2025-07-13T02:24:39.193Z",
"ringingAt": "2025-07-13T02:24:39.193Z",
"answeredAt": "2025-07-13T02:24:39.193Z",
"endedAt": "2025-07-13T02:24:39.193Z",
"scheduledFor": "2025-07-13T02:24:39.193Z",
"callFlow": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"commands": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"callId": "123e4567-e89b-12d3-a456-426614174000",
"callFlowId": "123e4567-e89b-12d3-a456-426614174000",
"status": "text",
"command": "text",
"conditions": [
{
"variable": "keys",
"operator": "eq",
"value": "text"
}
]
}
]
},
"notification": {
"url": "text"
},
"qualityInsights": {
"mos": "text",
"pdd": "text"
},
"sipInsights": {
"hangupSipCode": "text",
"edgeRegion": "text",
"providerName": "text",
"userAgent": "text",
"remoteSignallingIp": "text",
"remoteMediaIp": "text"
},
"amdResult": {
"result": "human",
"speech": "text",
"locale": "text"
},
"sipType": "elastic",
"tags": [
"text"
]
}
}
Example 1: Forward an inbound call to an external number
curl -X POST "https://api.bird.com/workspaces/{workspaceId}/channels/{channelId}/calls/{callId}/bridge" \
-H "Authorization: AccessKey {your-access-key}"
Last updated
Was this helpful?