Skip to main content
PATCH
/
v1
/
sip-trunks
/
{id}
Update SIP trunk
curl --request PATCH \
  --url https://api.vatel.ai/v1/sip-trunks/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "pbx": "3cx",
  "caller_id_transforms": [
    {
      "type": "add_prefix",
      "value": "<string>",
      "value2": "<string>",
      "number": 123
    }
  ],
  "inbound_host": "<string>",
  "inbound_auth_type": "digest",
  "inbound_sip_username": "<string>",
  "inbound_sip_password": "<string>",
  "outbound_host": "<string>",
  "outbound_sip_username": "<string>",
  "outbound_sip_password": "<string>",
  "register": true,
  "remain_in_dialog": true
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "created_at": "2023-11-07T05:31:56Z",
  "pbx": "3cx",
  "caller_id_transforms": [
    {
      "type": "add_prefix",
      "value": "<string>",
      "value2": "<string>",
      "number": 123
    }
  ],
  "inbound_host": "<string>",
  "inbound_auth_type": "digest",
  "inbound_sip_username": "<string>",
  "inbound_registration_status": "not_registered",
  "outbound_host": "<string>",
  "outbound_sip_username": "<string>",
  "register": true,
  "outbound_registration_status": "not_registered",
  "remain_in_dialog": true
}

Authorizations

Authorization
string
header
required

Send your organization API key as Authorization: Bearer <key>.

Path Parameters

id
string<uuid>
required

SIP trunk id

Body

application/json

Patch only fields you need; empty string clears optional text fields per server rules.

pbx
enum<string>

Vendor preset or generic for other/custom PBX.

Available options:
3cx,
yeastar,
webex,
generic
caller_id_transforms
object[] | null

Replace transforms; empty array clears.

inbound_host
string | null

Inbound host; with acl auth, must match the ACL-validated host.

inbound_auth_type
enum<string> | null

How inbound SIP is authenticated. acl: carrier traffic must match the ACL; inbound_host is the ACL-validated host. digest: SIP digest authentication. none: no inbound auth configured.

Available options:
digest,
acl,
none
inbound_sip_username
string | null
inbound_sip_password
string | null

Set to rotate inbound secret.

outbound_host
string | null

Outbound dial host for calls, on-call, and transfers.

outbound_sip_username
string | null
outbound_sip_password
string | null
register
boolean | null
remain_in_dialog
boolean | null

Response

Updated trunk

SIP connectivity profile for a supported PBX integration.

id
string<uuid>
created_at
string<date-time>
pbx
enum<string>

PBX vendor preset (3cx, yeastar, webex) applying default trunk behavior, or generic for other / custom PBX setups where you supply hosts and credentials explicitly.

Available options:
3cx,
yeastar,
webex,
generic
caller_id_transforms
object[]

Ordered transforms applied to caller id.

inbound_host
string

Inbound SIP host or domain. When inbound_auth_type is acl, this is the host validated against the ACL (allowed source for inbound calls).

inbound_auth_type
enum<string>

How inbound SIP is authenticated. acl: carrier traffic must match the ACL; inbound_host is the ACL-validated host. digest: SIP digest authentication. none: no inbound auth configured.

Available options:
digest,
acl,
none
inbound_sip_username
string

SIP user for inbound registration if used.

inbound_registration_status
enum<string>

Last known SIP registration outcome for the trunk leg.

Available options:
not_registered,
pending,
registered,
failed,
auth_failed
outbound_host
string

SIP host used for outbound legs: platform-initiated calls, on-call flows, and transfers dial out via this host (your carrier or SBC).

outbound_sip_username
string

Credentials username for outbound, if any.

register
boolean

Whether the platform registers this trunk with the carrier.

outbound_registration_status
enum<string>

Last known SIP registration outcome for the trunk leg.

Available options:
not_registered,
pending,
registered,
failed,
auth_failed
remain_in_dialog
boolean

Keeping SIP dialog routing behavior when true.