Trunks
Update a Trunk
Modify an existing Vobiz SIP trunk - update name, description, concurrent-call limits, CPS caps, or webhook URL without recreating the trunk resource.
PUT
/
api
/
v1
/
Account
/
{auth_id}
/
trunks
/
{trunk_id}
Update a trunk
curl --request PUT \
--url https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/{trunk_id} \
--header 'Content-Type: application/json' \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"name": "<string>",
"secure": true,
"trunk_domain": "<string>",
"inbound_destination": "<string>",
"description": "<string>",
"concurrent_calls_limit": 500,
"cps_limit": 50,
"credential_uuid": "<string>",
"ipacl_uuid": "<string>",
"primary_uri_uuid": "<string>",
"fallback_uri_uuid": "<string>",
"recording": true,
"enable_transcription": true,
"pii_redaction": true,
"pii_entity_types": "<string>",
"webhook_url": "<string>",
"webhook_method": "POST",
"recording_webhook_enabled": true
}
'import requests
url = "https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/{trunk_id}"
payload = {
"name": "<string>",
"secure": True,
"trunk_domain": "<string>",
"inbound_destination": "<string>",
"description": "<string>",
"concurrent_calls_limit": 500,
"cps_limit": 50,
"credential_uuid": "<string>",
"ipacl_uuid": "<string>",
"primary_uri_uuid": "<string>",
"fallback_uri_uuid": "<string>",
"recording": True,
"enable_transcription": True,
"pii_redaction": True,
"pii_entity_types": "<string>",
"webhook_url": "<string>",
"webhook_method": "POST",
"recording_webhook_enabled": True
}
headers = {
"X-Auth-ID": "<api-key>",
"X-Auth-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'X-Auth-ID': '<api-key>',
'X-Auth-Token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
secure: true,
trunk_domain: '<string>',
inbound_destination: '<string>',
description: '<string>',
concurrent_calls_limit: 500,
cps_limit: 50,
credential_uuid: '<string>',
ipacl_uuid: '<string>',
primary_uri_uuid: '<string>',
fallback_uri_uuid: '<string>',
recording: true,
enable_transcription: true,
pii_redaction: true,
pii_entity_types: '<string>',
webhook_url: '<string>',
webhook_method: 'POST',
recording_webhook_enabled: true
})
};
fetch('https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/{trunk_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"trunk_id": "99887766-1234-5678-90ab-cdef12345678",
"account_id": "MA_XXXXXXXX",
"name": "Acme Production Trunk Updated",
"trunk_domain": "99887766-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-03-25T10:00:00Z",
"updated_at": "2026-03-25T10:05:00Z"
}PUT https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/{trunk_id}
Authentication required:
X-Auth-ID- Your account Auth IDX-Auth-Token- Your account Auth TokenContent-Type: application/json
Note:
trunk_id and auth_id cannot be changed after creation.Request Parameters
Send all three fields on every update - this is a replace, not a partial patch. To keep a value unchanged, resend its current value (fetch it first with Retrieve a Trunk).| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name for the trunk. Maximum 255 characters. |
max_concurrent_calls | integer | Yes | Maximum number of simultaneous calls. Surfaces as concurrent_calls_limit on the trunk object. |
enabled | boolean | Yes | Whether the trunk is active. Set to false to disable without deleting. |
Examples
curl -X PUT https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/bfab10fb-cb97-488b-9c63-989c32980b0f \
-H "X-Auth-ID: YOUR_AUTH_ID" \
-H "X-Auth-Token: YOUR_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Production Trunk",
"max_concurrent_calls": 10,
"enabled": true
}'
curl -X PUT https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/bfab10fb-cb97-488b-9c63-989c32980b0f \
-H "X-Auth-ID: YOUR_AUTH_ID" \
-H "X-Auth-Token: YOUR_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Production Trunk",
"max_concurrent_calls": 10,
"enabled": false
}'
curl -X PUT https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/bfab10fb-cb97-488b-9c63-989c32980b0f \
-H "X-Auth-ID: YOUR_AUTH_ID" \
-H "X-Auth-Token: YOUR_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Production Trunk",
"max_concurrent_calls": 25,
"enabled": true
}'
Response
Returns the complete trunk object with updated values and a newupdated_at timestamp.
Response - 200 OK
{
"trunk_id": "aabbccdd-1234-5678-90ab-cdef12345678",
"account_id": "MA_XXXXXXXX",
"name": "Acme Production 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:12:18.147340Z"
}
Best Practice: Disable a trunk instead of deleting it if you might need the configuration later. Disabled trunks do not handle calls but preserve all settings, credentials, and routing rules.
Authorizations
Your Vobiz account Auth ID
Your Vobiz account Auth Token
Body
application/json
All fields are optional - send only what you want to change. Does not accept username/password (rotate credentials via the credentials subresource endpoint).
Maximum string length:
100Direction of the trunk - inbound or outbound only.
Available options:
inbound, outbound Available options:
enabled, disabled Maximum string length:
255Available options:
udp, tcp, tls Maximum string length:
255Maximum string length:
500Required range:
0 <= x <= 1000Required range:
0 <= x <= 100Customer webhook for call-admission events (CallInitiated / Hangup). Public http/https URL; SSRF-validated. See Trunk Webhooks.
Maximum string length:
500Available options:
POST, GET Response
200 - application/json
Trunk updated
Was this page helpful?
⌘I
Update a trunk
curl --request PUT \
--url https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/{trunk_id} \
--header 'Content-Type: application/json' \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"name": "<string>",
"secure": true,
"trunk_domain": "<string>",
"inbound_destination": "<string>",
"description": "<string>",
"concurrent_calls_limit": 500,
"cps_limit": 50,
"credential_uuid": "<string>",
"ipacl_uuid": "<string>",
"primary_uri_uuid": "<string>",
"fallback_uri_uuid": "<string>",
"recording": true,
"enable_transcription": true,
"pii_redaction": true,
"pii_entity_types": "<string>",
"webhook_url": "<string>",
"webhook_method": "POST",
"recording_webhook_enabled": true
}
'import requests
url = "https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/{trunk_id}"
payload = {
"name": "<string>",
"secure": True,
"trunk_domain": "<string>",
"inbound_destination": "<string>",
"description": "<string>",
"concurrent_calls_limit": 500,
"cps_limit": 50,
"credential_uuid": "<string>",
"ipacl_uuid": "<string>",
"primary_uri_uuid": "<string>",
"fallback_uri_uuid": "<string>",
"recording": True,
"enable_transcription": True,
"pii_redaction": True,
"pii_entity_types": "<string>",
"webhook_url": "<string>",
"webhook_method": "POST",
"recording_webhook_enabled": True
}
headers = {
"X-Auth-ID": "<api-key>",
"X-Auth-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'X-Auth-ID': '<api-key>',
'X-Auth-Token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
secure: true,
trunk_domain: '<string>',
inbound_destination: '<string>',
description: '<string>',
concurrent_calls_limit: 500,
cps_limit: 50,
credential_uuid: '<string>',
ipacl_uuid: '<string>',
primary_uri_uuid: '<string>',
fallback_uri_uuid: '<string>',
recording: true,
enable_transcription: true,
pii_redaction: true,
pii_entity_types: '<string>',
webhook_url: '<string>',
webhook_method: 'POST',
recording_webhook_enabled: true
})
};
fetch('https://api.vobiz.ai/api/v1/Account/{auth_id}/trunks/{trunk_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"trunk_id": "99887766-1234-5678-90ab-cdef12345678",
"account_id": "MA_XXXXXXXX",
"name": "Acme Production Trunk Updated",
"trunk_domain": "99887766-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-03-25T10:00:00Z",
"updated_at": "2026-03-25T10:05:00Z"
}