Skip to content

Connect a BYO subaccount or elect the platform account

POST
/v1/telephony-accounts
curl --request POST \
--url https://api.vocapable.com/v1/telephony-accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "mode": "byo", "provider": "twilio", "credentials": { "account_sid": "example", "auth_token": "example" }, "a2p_brand_ref": "example", "ftc_san_refs": [ { "san": "example", "area_codes": [ "example" ] } ] }'
Media typeapplication/json
TelephonyAccountCreateRequest

Connect a BYO subaccount, or elect the platform account with mode: managed.

object
mode
required
Mode
string
Allowed values: byo managed
provider
Provider
string
default: twilio
credentials
Any of:
TelephonyCredentials

Carrier credentials on their way to the vault. Never present on a response.

SecretStr so a body that reaches a log line, a traceback, or a validation error renders as ********** rather than a usable secret (docs/10-security.md §secrets).

The two fields are the incumbent’s credential pair, and pinning them here is deliberate: the vault beneath stores an arbitrary flat map and the account row holds an opaque text reference, so a second carrier’s credential shape is a change to this model plus its readers - a contracts change, never a migration (ADR-0030 decision 8).

object
account_sid
required
Account Sid
string format: password
auth_token
required
Auth Token
string format: password
a2p_brand_ref
Any of:
string
ftc_san_refs
Ftc San Refs
Array<object>
FtcSanRef

One FTC Subscription Account Number and the area codes it covers (CANON fact 5).

object
san
required
San
string
area_codes
Area Codes
Array<string>

Successful Response

Media typeapplication/json
TelephonyAccountSummary

An account as its tenant sees it - credential material is structurally absent.

object
id
required
Id
string
mode
required
Mode
string
Allowed values: byo managed
provider
required
Provider
string
credentials_stored
required
Credentials Stored
boolean
cps_limit
Any of:
integer
a2p_brand_ref
Any of:
string
ftc_san_refs
Ftc San Refs
Array<object>
FtcSanRef

One FTC Subscription Account Number and the area codes it covers (CANON fact 5).

object
san
required
San
string
area_codes
Area Codes
Array<string>
verification_status
required
Verification Status
string
Allowed values: pending verifying mock_verified verified failed suspended
verified_at
Any of:
string format: date-time
telephony_minutes_metered
required
Telephony Minutes Metered
boolean
created_at
required
Created At
string format: date-time
Example
{
"mode": "byo",
"verification_status": "pending"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}