Skip to main content
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
curl -i --user AUTH_ID:AUTH_TOKEN \
    https://api.plivo.com/v1/Account/{auth_id}/Call/

Request Format

  • 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/

Response Format

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

CodeDescription
200Request executed successfully
201Resource created
202Resource modified
204Resource deleted
400Invalid or missing parameter
401Authentication failed
403Forbidden
404Resource not found
405HTTP method not allowed
429Rate limit exceeded
500Server error

Troubleshooting Common Errors

CodeCommon CausesSolution
400Missing required parameter (src, dst, answer_url), invalid phone number formatCheck all required parameters are included. Use E.164 format for numbers (+14155551234)
401Invalid Auth ID or Auth Token, missing authentication headerVerify credentials at Console → API Keys. Ensure Basic Auth header is included
403Geo permissions disabled, account not verified, India calling not enabledEnable destination country in Console → Geo Permissions. Complete account verification
404Invalid Call UUID, number not in account, typo in endpoint URLVerify the resource UUID exists. Check endpoint spelling
429API rate limit exceeded (300 requests/5 sec), CPS limit reachedImplement exponential backoff. Contact support to increase limits
500Temporary server issueRetry after a few seconds. Check status.plivo.com for outages

Pagination

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": [...]
}
ParameterDescription
limitResults per page (1-20). Default: 20
offsetNumber of results to skip. Default: 0

API Resources

Core Resources

ResourceDescription
CallsMake outbound calls and manage active calls
ConferencesCreate and manage conference calls
Multiparty CallsMulti-participant calling
EndpointsSIP endpoint management

Media Resources

ResourceDescription
RecordingsAccess and manage call recordings
Audio StreamsReal-time audio streaming via WebSocket

Identity Resources

ResourceDescription
Verified Caller IDsManage verified outbound caller IDs

Rate Limits

API requests are rate limited. If you exceed the limit, you’ll receive a 429 response.