API Reference

Complete list of PBX API endpoints, scopes, and rate limits

Base URL

https://api.do.dev/v1/pbx

Authentication

All endpoints require a Bearer token:

Authorization: Bearer do_live_your_key_here

API keys must have the appropriate PBX scopes enabled. See Authentication.

Endpoints

Extensions

MethodPathDescriptionScope
GET/v1/pbx/extensionsList extensionspbx:extensions:read
GET/v1/pbx/extensions/statsExtension statisticspbx:extensions:read
POST/v1/pbx/extensionsCreate extensionpbx:extensions:write
PATCH/v1/pbx/extensions/:idUpdate extensionpbx:extensions:write
DELETE/v1/pbx/extensions/:idDelete extensionpbx:extensions:write

Inbound Numbers

MethodPathDescriptionScope
GET/v1/pbx/inbound-numbersList numberspbx:dids:read
GET/v1/pbx/inbound-numbers/statsNumber statisticspbx:dids:read
POST/v1/pbx/inbound-numbersProvision numberpbx:dids:write
PATCH/v1/pbx/inbound-numbers/:idUpdate routingpbx:dids:write
DELETE/v1/pbx/inbound-numbers/:idRelease numberpbx:dids:write

Call Queues

MethodPathDescriptionScope
GET/v1/pbx/call-queuesList queuespbx:queues:read
GET/v1/pbx/call-queues/statsQueue statisticspbx:queues:read
POST/v1/pbx/call-queuesCreate queuepbx:queues:write
PATCH/v1/pbx/call-queues/:idUpdate queuepbx:queues:write
DELETE/v1/pbx/call-queues/:idDelete queuepbx:queues:write

Call Flows

MethodPathDescriptionScope
GET/v1/pbx/call-flowsList call flowspbx:call-flows:read
POST/v1/pbx/call-flowsCreate call flowpbx:call-flows:write
PATCH/v1/pbx/call-flows/:idUpdate call flowpbx:call-flows:write
DELETE/v1/pbx/call-flows/:idDelete call flowpbx:call-flows:write

Phones

MethodPathDescriptionScope
GET/v1/pbx/phonesList registered phonespbx:phones:read
GET/v1/pbx/phones/statsPhone statisticspbx:phones:read

Voicemail

MethodPathDescriptionScope
GET/v1/pbx/voicemail/mailboxesList mailboxespbx:voicemail:read
PATCH/v1/pbx/voicemail/mailboxes/:idUpdate mailboxpbx:voicemail:write

Recordings

MethodPathDescriptionScope
GET/v1/pbx/recordingsList recordingspbx:recordings:read
GET/v1/pbx/recordings/:idGet recording detailspbx:recordings:read
DELETE/v1/pbx/recordings/:idDelete recordingpbx:recordings:write

Settings

MethodPathDescriptionScope
GET/v1/pbx/settingsGet PBX settingspbx:settings:read
PATCH/v1/pbx/settingsUpdate PBX settingspbx:settings:write

WebRTC

MethodPathDescriptionScope
GET/v1/pbx/ice-serversGet STUN/TURN configpbx:webrtc:read

Hold Music

MethodPathDescriptionScope
GET/v1/pbx/hold-musicList hold music trackspbx:settings:read
POST/v1/pbx/hold-music/upload-urlGet signed upload URLpbx:settings:write

Rate Limits

PlanRequests/minute
Starter60
Professional300
Enterprise1,000

Rate limit headers are included in every response:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1711460060

Error Responses

All errors follow the standard do.dev error format:

{
  "error": {
    "code": "EXTENSION_NOT_FOUND",
    "message": "Extension with ID ext_abc123 not found",
    "status": 404
  }
}

See Errors for the complete error reference.