Skip to main content

Call Control

The Audian Call Control API provides comprehensive tools for making, receiving, and managing phone calls through callflows, channels, and real-time actions.

Base URL​

https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}

Authentication​

All requests require the X-Auth-Token header:

curl -X GET "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/callflows" \
-H "X-Auth-Token: {AUTH_TOKEN}" \
-H "Accept: application/json"

Core Components​

Callflows​

Callflows define how calls are routed and handled. They determine what happens when a call arrives at a number.

curl -X GET "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/callflows?paginate=false" \
-H "X-Auth-Token: {AUTH_TOKEN}" \
-H "Accept: application/json"

Response​

{
"auth_token": "eyJhbGciOiJSUzI1...",
"data": [
{
"id": "callflow_abc123",
"name": "Main Line",
"numbers": ["+14155552671"],
"flow": {
"module": "ring_group",
"data": {
"endpoints": ["device_xyz789"]
}
}
}
],
"request_id": "req_xyz789",
"status": "success"
}

Create Callflow​

curl -X PUT "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/callflows" \
-H "X-Auth-Token: {AUTH_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"data": {
"name": "Support Line",
"numbers": ["+14155552672"],
"flow": {
"module": "ring_group",
"data": {
"endpoints": [
{"endpoint_type": "device", "id": "device_abc123"},
{"endpoint_type": "user", "id": "user_xyz789"}
],
"strategy": "simultaneous",
"timeout": 30
}
}
}
}'

Channels (Active Calls)​

View and control active calls:

curl -X GET "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/channels" \
-H "X-Auth-Token: {AUTH_TOKEN}" \
-H "Accept: application/json"

Response​

{
"auth_token": "eyJhbGciOiJSUzI1...",
"data": [
{
"uuid": "channel_uuid_123",
"direction": "inbound",
"destination": "+14155552671",
"caller_id_number": "+14155559999",
"answered": true,
"timestamp": "2026-02-04T10:30:00Z"
}
],
"status": "success"
}

Call Flow Modules​

Audian supports various call handling modules:

ModuleDescription
ring_groupRing multiple endpoints
userRoute to a specific user
deviceRoute to a specific device
voicemailSend to voicemail
menuIVR menu
temporal_routeTime-based routing
callflowNest another callflow

Ring Group Strategies​

StrategyDescription
simultaneousRing all endpoints at once
singleRing endpoints one at a time
weighted_randomRandomly distribute calls

Create IVR Menu​

curl -X PUT "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/callflows" \
-H "X-Auth-Token: {AUTH_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"data": {
"name": "Main IVR",
"numbers": ["+14155552671"],
"flow": {
"module": "menu",
"data": {
"id": "menu_abc123"
},
"children": {
"1": {
"module": "ring_group",
"data": {"endpoints": ["device_sales"]}
},
"2": {
"module": "ring_group",
"data": {"endpoints": ["device_support"]}
},
"_": {
"module": "voicemail",
"data": {"id": "vmbox_main"}
}
}
}
}
}'

Transfer a Call​

curl -X POST "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/channels/{CHANNEL_UUID}" \
-H "X-Auth-Token: {AUTH_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"data": {
"action": "transfer",
"target": "+14155552673"
}
}'

Hangup a Call​

curl -X DELETE "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/channels/{CHANNEL_UUID}" \
-H "X-Auth-Token: {AUTH_TOKEN}"

Call States​

StateDescription
ringingCall is ringing
answeredCall is connected
bridgedCall is bridged to another party
heldCall is on hold
transferringCall is being transferred
completedCall has ended

Quick Reference​

ActionMethodEndpoint
List callflowsGET/v2/accounts/{id}/callflows
Create callflowPUT/v2/accounts/{id}/callflows
Update callflowPOST/v2/accounts/{id}/callflows/{callflow_id}
Delete callflowDELETE/v2/accounts/{id}/callflows/{callflow_id}
List channelsGET/v2/accounts/{id}/channels
Control channelPOST/v2/accounts/{id}/channels/{uuid}
Hangup channelDELETE/v2/accounts/{id}/channels/{uuid}

Topics​