Complete list of PBX API endpoints, scopes, and rate limits
https://api.do.dev/v1/pbxAll endpoints require a Bearer token:
Authorization: Bearer do_live_your_key_hereAPI keys must have the appropriate PBX scopes enabled. See Authentication.
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/extensions | List extensions | pbx:extensions:read |
| GET | /v1/pbx/extensions/stats | Extension statistics | pbx:extensions:read |
| POST | /v1/pbx/extensions | Create extension | pbx:extensions:write |
| PATCH | /v1/pbx/extensions/:id | Update extension | pbx:extensions:write |
| DELETE | /v1/pbx/extensions/:id | Delete extension | pbx:extensions:write |
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/inbound-numbers | List numbers | pbx:dids:read |
| GET | /v1/pbx/inbound-numbers/stats | Number statistics | pbx:dids:read |
| POST | /v1/pbx/inbound-numbers | Provision number | pbx:dids:write |
| PATCH | /v1/pbx/inbound-numbers/:id | Update routing | pbx:dids:write |
| DELETE | /v1/pbx/inbound-numbers/:id | Release number | pbx:dids:write |
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/call-queues | List queues | pbx:queues:read |
| GET | /v1/pbx/call-queues/stats | Queue statistics | pbx:queues:read |
| POST | /v1/pbx/call-queues | Create queue | pbx:queues:write |
| PATCH | /v1/pbx/call-queues/:id | Update queue | pbx:queues:write |
| DELETE | /v1/pbx/call-queues/:id | Delete queue | pbx:queues:write |
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/call-flows | List call flows | pbx:call-flows:read |
| POST | /v1/pbx/call-flows | Create call flow | pbx:call-flows:write |
| PATCH | /v1/pbx/call-flows/:id | Update call flow | pbx:call-flows:write |
| DELETE | /v1/pbx/call-flows/:id | Delete call flow | pbx:call-flows:write |
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/phones | List registered phones | pbx:phones:read |
| GET | /v1/pbx/phones/stats | Phone statistics | pbx:phones:read |
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/voicemail/mailboxes | List mailboxes | pbx:voicemail:read |
| PATCH | /v1/pbx/voicemail/mailboxes/:id | Update mailbox | pbx:voicemail:write |
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/recordings | List recordings | pbx:recordings:read |
| GET | /v1/pbx/recordings/:id | Get recording details | pbx:recordings:read |
| DELETE | /v1/pbx/recordings/:id | Delete recording | pbx:recordings:write |
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/settings | Get PBX settings | pbx:settings:read |
| PATCH | /v1/pbx/settings | Update PBX settings | pbx:settings:write |
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/ice-servers | Get STUN/TURN config | pbx:webrtc:read |
| Method | Path | Description | Scope |
|---|---|---|---|
| GET | /v1/pbx/hold-music | List hold music tracks | pbx:settings:read |
| POST | /v1/pbx/hold-music/upload-url | Get signed upload URL | pbx:settings:write |
| Plan | Requests/minute |
|---|---|
| Starter | 60 |
| Professional | 300 |
| Enterprise | 1,000 |
Rate limit headers are included in every response:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1711460060All 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.