Skip to main content
POST
Connect a carrier account

Authorizations

Authorization
string
header
required

Tenant API key (vdx_live_…) as Authorization: Bearer.

Body

application/json
carrier
enum<string>
required
Available options:
twilio,
vonage,
exotel,
vobiz,
sip-gateway,
pronto_connects
name
string
accountSid
string

Twilio.

apiKeySid
string

Twilio.

apiKeySecret
string<password>

Twilio.

authToken
string<password>

Twilio — alternative to the key pair.

apiKey
string

Vonage / Pronto.

apiSecret
string<password>

Vonage.

terminationUri
string

Manually provisioned carriers.

authUsername
string
authPassword
string<password>
allowedIps
string[]
port
integer

SIP gateway — omit for the SIP default.

Required range: 1 <= x <= 65535
transport
enum<string>

SIP gateway — omit to let the media layer choose.

Available options:
udp,
tcp,
tls
dialRules
object[]

SIP gateway: how the destination is written for the gateway, as POST /v1/integrations/{id}/gateway takes them.

Maximum array length: 10
connection
enum<string>
default:direct

SIP gateway only. direct dials the gateway by IP. register has the cell's SIP relay register to the system as a device or extension and bridge calls both ways — for cloud UCaaS such as RingCentral and for a PBX behind a vendor relay such as Yeastar's Remote Access Service. registrar (the system registers to Vodex) is reserved and refused until it ships. register needs Secret Manager behind the API.

Available options:
direct,
register,
registrar
preset
string

register only: the vendor preset that fills register (yeastar-ras, ringcentral, generic-pbx, generic-carrier). GET /v1/carriers lists them.

authId
string

register only: the authorization id, where the vendor issues one distinct from the user name (RingCentral).

outboundProxy
string

register only: the vendor's regional proxy, where it routes through one (sip20.ringcentral.com:5096).

register
object

register only: overrides to the preset's values; omitted fields take the preset's.

identities
object[]

register only: the identities the relay registers. Omitted, authUsername/authPassword (and authId) are the one identity.

Maximum array length: 20
maxConcurrent
integer

register only, with the one-identity form: the calls that identity can carry at once (its extension's concurrent-call setting, a UCaaS device's fixed limit).

Required range: 1 <= x <= 100
inboundNumber
string

register only: the Vodex number an inbound call through the identity is presented as. Defaults to the gateway's first number.

inboundRules
object[]

register only: how the caller the system delivers is normalized.

Maximum array length: 10
accountId
string

Pronto.

campaignId
string

Pronto.

from
string

Pronto default sender (E.164).

Response

Connected.

id
string
carrier
string
name
string
accountRef
string

Twilio Account SID or carrier SIP host — safe to show.

accountName
string
status
enum<string>
Available options:
connected,
error
lastError
string
trunkId
string
carrierTrunkSid
string

The trunk id inside the carrier's account (API-provisioned carriers).

terminationUri
string
credentialFingerprint
string

Non-reversible; for display and audit only.

hasCredentials
boolean
secretsBackend
string
Example:

"secret-manager"

provisioning
enum<string>
Available options:
api,
manual
displayName
string
transferSupport
enum<string>
Available options:
supported,
verify,
unsupported
channel
enum<string>

An sms integration has no trunk and no numbers.

Available options:
voice,
sms
sipUri
string
gateway
object

How a manually connected gateway is dialed; port and transport are null where unset. The register fields are empty on a direct gateway.

configPublished
boolean

Present after a change to a registered gateway; whether the cell's relay snapshot reached the config bucket.

connectedAt
integer<int64>