API reference
Carrier SIP trunks
Create and manage SIP trunks — the connections to carriers, SBCs, or your own PBX — with source-IP allowlists and test calling.
SIP trunk resource
SipTrunkjson
{
"data": {
"id": "ST…",
"type": "sip_trunk",
"attributes": {
"name": "Carrier SBC",
"region": "hydrogen",
"inbound_source_ips": ["203.0.113.10"],
"created_at": "…"
}
}
}Create a trunk
POST/carrier/v1/sip_trunks
| Parameter | Type | Description |
|---|---|---|
data.type required | string | sip_trunk |
data.attributes.name required | string | Trunk name. |
data.attributes.region optional | string | Platform region. |
data.attributes.inbound_source_ips required | array | Allowed source IPs for inbound traffic. |
The
inbound_source_ips allowlist is a hard security boundary. Only traffic from these IPs is accepted — omit it and the trunk is a direct-to-PSTN abuse vector.
List trunks
GET/carrier/v1/sip_trunks
Return all trunks on the carrier.
Fetch a trunk
GET/carrier/v1/sip_trunks/{id}
Return a single trunk.
Update a trunk
PATCH/carrier/v1/sip_trunks/{id}
Change the name, region, or inbound source IPs.
Test call
POST/carrier/v1/sip_trunks/{id}/test_call
Place a test call through the trunk to verify routing and media.
| Parameter | Type | Description |
|---|---|---|
to required | string | Destination number. |
from required | string | Caller ID to use. |
Delete a trunk
DELETE/carrier/v1/sip_trunks/{id}
Delete the trunk. Accounts assigned to it fall back to automatic routing.
See the SIP trunks guide for setup and troubleshooting.