Documentation Index
Fetch the complete documentation index at: https://plivo.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
The Plivo Voice API lets you programmatically make and receive calls, play audio, record conversations, and build interactive voice applications. The API uses standard HTTP methods and returns JSON responses.
Base URL
https://api.plivo.com/v1/Account/{auth_id}/
Authentication
All API requests use HTTP Basic Authentication with your Plivo credentials:
- Username: Your Auth ID
- Password: Your Auth Token
Find your credentials on the Plivo Console Dashboard.
curl -i --user AUTH_ID:AUTH_TOKEN \
https://api.plivo.com/v1/Account/{auth_id}/Call/
- Content-Type:
application/json for POST requests
- All request parameters should be JSON-encoded
curl -i --user AUTH_ID:AUTH_TOKEN \
-H "Content-Type: application/json" \
-d '{"to": "+14155551234", "from": "+14155559876", "answer_url": "https://example.com/answer"}' \
https://api.plivo.com/v1/Account/{auth_id}/Call/
All responses are JSON with an api_id for request tracking:
{
"api_id": "4e1f954c-baf3-11ec-bafe-0242ac110003",
"message": "call fired",
"request_uuid": "986908123123411213"
}
HTTP Status Codes
| Code | Description |
|---|
200 | Request executed successfully |
201 | Resource created |
202 | Resource modified |
204 | Resource deleted |
400 | Invalid or missing parameter |
401 | Authentication failed |
403 | Forbidden |
404 | Resource not found |
405 | HTTP method not allowed |
429 | Rate limit exceeded |
500 | Server error |
Troubleshooting Common Errors
| Code | Common Causes | Solution |
|---|
400 | Missing required parameter (src, dst, answer_url), invalid phone number format | Check all required parameters are included. Use E.164 format for numbers (+14155551234) |
401 | Invalid Auth ID or Auth Token, missing authentication header | Verify credentials at Console → API Keys. Ensure Basic Auth header is included |
403 | Geo permissions disabled, account not verified, India calling not enabled | Enable destination country in Console → Geo Permissions. Complete account verification |
404 | Invalid Call UUID, number not in account, typo in endpoint URL | Verify the resource UUID exists. Check endpoint spelling |
429 | API rate limit exceeded (300 requests/5 sec), CPS limit reached | Implement exponential backoff. Contact support to increase limits |
500 | Temporary server issue | Retry after a few seconds. Check status.plivo.com for outages |
List endpoints return paginated results:
{
"meta": {
"limit": 20,
"offset": 0,
"total_count": 100,
"previous": null,
"next": "/v1/Account/{auth_id}/Call/?limit=20&offset=20"
},
"objects": [...]
}
| Parameter | Description |
|---|
limit | Results per page (1-20). Default: 20 |
offset | Number of results to skip. Default: 0 |
API Resources
Core Resources
| Resource | Description |
|---|
| Calls | Make outbound calls and manage active calls |
| Conferences | Create and manage conference calls |
| Multiparty Calls | Multi-participant calling |
| Endpoints | SIP endpoint management |
| Resource | Description |
|---|
| Recordings | Access and manage call recordings |
| Audio Streams | Real-time audio streaming via WebSocket |
Identity Resources
| Resource | Description |
|---|
| Verified Caller IDs | Manage verified outbound caller IDs |
Rate Limits
API requests are rate limited. If you exceed the limit, you’ll receive a 429 response.