Skip to main content
POST
/
api
/
v1
/
Account
/
{auth_id}
/
trunks
Create a trunk
curl --request POST \
  --url https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks \
  --header 'Content-Type: application/json' \
  --header 'X-Auth-ID: <api-key>' \
  --header 'X-Auth-Token: <api-key>' \
  --data '
{
  "name": "My Outbound Trunk",
  "trunk_type": "OUTBOUND",
  "max_concurrent_calls": 10
}
'
{
  "trunk_id": "<string>",
  "account_id": "<string>",
  "name": "<string>",
  "trunk_domain": "<string>",
  "trunk_status": "<string>",
  "secure": true,
  "trunk_direction": "<string>",
  "concurrent_calls_limit": 123,
  "cps_limit": 123,
  "description": "<string>",
  "transport": "<string>",
  "recording": true,
  "enable_transcription": true,
  "pii_redaction": true,
  "webhook_method": "<string>",
  "recording_webhook_enabled": true,
  "created_at": "<string>",
  "updated_at": "<string>"
}
POST https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks
Use this endpoint to create a new SIP trunk for handling voice traffic. Each trunk can be configured with rate limits, authentication methods (credentials and IP ACLs), and origination URIs for outbound routing.
Authentication required:
  • X-Auth-ID - Your account Auth ID
  • X-Auth-Token - Your account Auth Token
  • Content-Type: application/json
Auto-Generated Domain: Upon creation, Vobiz automatically generates a unique SIP domain for your trunk in the format: trunk_id.sip.vobiz.ai. This domain is used for routing inbound calls to your trunk.

Request Parameters

Only three fields are required to create a trunk. The rest of the trunk’s configuration - transport, TLS/SRTP, recording, attached credentials, IP ACLs, and origination URIs - is applied afterwards through the dedicated endpoints or the Console.
FieldTypeRequiredDescription
namestringYesDescriptive name for the trunk. Maximum 255 characters.
trunk_typestringYesTrunk direction. One of INBOUND or OUTBOUND (uppercase). Determines how the trunk routes traffic.
max_concurrent_callsintegerYesMaximum number of simultaneous calls. Returned on the trunk object as concurrent_calls_limit.
Defaults applied at creation. New trunks come back with cps_limit: 2, secure: false, transport: udp, and trunk_status: active. The trunk_domain is auto-generated as {trunk_id}.sip.vobiz.ai. Tune limits later with Update a Trunk, and attach auth and routing with Credentials, IP ACLs, and Origination URIs.
cps_limit vs concurrent_calls_limit. cps_limit caps how many new calls can be started per second (flood protection); concurrent_calls_limit caps how many calls can be live at once (capacity and cost control). They are independent.

Examples

curl -X POST https://api.vobiz.ai/api/v1/Account/AUTH_ID/trunks \
  -H "X-Auth-ID: AUTH_ID" \
  -H "X-Auth-Token: AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My SIP Trunk",
    "trunk_type": "OUTBOUND",
    "max_concurrent_calls": 10
  }'

Response

Returns the complete trunk object, including the auto-generated trunk_id UUID and timestamps.
Response - 201 Created
{
  "trunk_id": "aabbccdd-1234-5678-90ab-cdef12345678",
  "account_id": "MA_XXXXXXXX",
  "name": "My Outbound Trunk",
  "trunk_domain": "aabbccdd-1234-5678-90ab-cdef12345678.sip.vobiz.ai",
  "trunk_status": "active",
  "secure": false,
  "trunk_direction": "both",
  "concurrent_calls_limit": 10,
  "cps_limit": 2,
  "description": "",
  "transport": "udp",
  "recording": false,
  "enable_transcription": false,
  "pii_redaction": false,
  "webhook_method": "POST",
  "recording_webhook_enabled": false,
  "created_at": "2026-05-12T05:11:52.054462Z",
  "updated_at": "2026-05-12T05:11:52.054462Z"
}
Next Steps:
  • Save the trunk_id for all future operations
  • Add credentials or IP ACLs for authentication
  • Configure origination URIs for outbound call routing
  • Test the trunk with a sample call before production use

Authorizations

X-Auth-ID
string
header
required

Your Vobiz account Auth ID

X-Auth-Token
string
header
required

Your Vobiz account Auth Token

Path Parameters

auth_id
string
required

Your account Auth ID

Example:

"MA_XXXXXX"

Body

application/json
name
string
required
trunk_type
string
required
max_concurrent_calls
integer
required

Response

Success

trunk_id
string
required
account_id
string
required
name
string
required
trunk_domain
string
required
trunk_status
string
required
secure
boolean
required
trunk_direction
string
required
concurrent_calls_limit
integer
required
cps_limit
integer
required
description
string
required
transport
string
required
recording
boolean
required
enable_transcription
boolean
required
pii_redaction
boolean
required
webhook_method
string
required
recording_webhook_enabled
boolean
required
created_at
string
required
updated_at
string
required