> ## 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.

# API Overview

> Introduction to Plivo's Voice API

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](https://cx.plivo.com/home).

```bash cURL theme={null}
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

```bash theme={null}
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:

```json theme={null}
{
  "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](https://status.plivo.com) for outages |

***

## Pagination

List endpoints return paginated results:

```json theme={null}
{
  "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](/voice/api/calls/)                       | Make outbound calls and manage active calls |
| [Conferences](/voice/api/conferences/)           | Create and manage conference calls          |
| [Multiparty Calls](/voice/api/multiparty-calls/) | Multi-participant calling                   |
| [Endpoints](/voice/api/endpoints/)               | SIP endpoint management                     |

### Media Resources

| Resource                                   | Description                             |
| ------------------------------------------ | --------------------------------------- |
| [Recordings](/voice/api/recordings/)       | Access and manage call recordings       |
| [Audio Streams](/voice/api/audio-streams/) | Real-time audio streaming via WebSocket |

### Identity Resources

| Resource                                               | Description                         |
| ------------------------------------------------------ | ----------------------------------- |
| [Verified Caller IDs](/voice/api/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.

***

## Related

* [Quickstart](/voice/quickstart/quickstart) - Get started with Voice API
* [Concepts](/voice/concepts/overview) - Voice API fundamentals
* [XML Reference](/voice/xml/overview) - Voice XML elements
