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

> HTTP status codes and response format for the Messaging API

All Plivo API endpoints return a response in JSON format. An `api_id` in each response uniquely identifies each request.

***

## Response Format

Every API response includes:

* `api_id`: Unique identifier for the request
* Resource data or error details
* HTTP status code

### Success Response

```json theme={null}
{
  "api_id": "db342550-7f1d-11e1-8ea7-1231380bc196",
  "message": "message(s) queued",
  "message_uuid": ["db3ce55a-7f1d-11e1-8ea7-1231380bc196"]
}
```

***

## HTTP Status Codes

| Code | Description |
| - | - |
| **200** | Request has been executed successfully |
| **201** | Resource created |
| **202** | Resource changed |
| **204** | Resource deleted |
| **400** | A parameter is missing or is invalid |
| **401** | Authentication failed |
| **404** | Resource cannot be found |
| **405** | HTTP method is not allowed |
| **429** | Rate limit exceeded - too many requests |
| **500** | Server error |

***

## Error Responses

When a request fails, the response includes an error object:

### Error Response Example

```json theme={null}
{
  "api_id": "97ceeb52-58b6-11e1-86da-77300b68f8bb",
  "error": "not found"
}
```

### Common Errors

| Status | Error | Description |
| - | - | - |
| 400 | `invalid_parameter` | A required parameter is missing or has an invalid value |
| 401 | `authentication_failed` | Invalid Auth ID or Auth Token |
| 404 | `not_found` | The requested resource does not exist |
| 429 | `rate_limit_exceeded` | Too many requests in a given time period |

***

## Pagination Response

List endpoints return paginated responses with metadata:

### Paginated Response Example

```json theme={null}
{
  "api_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "meta": {
    "limit": 20,
    "next": "/v1/Account/{auth_id}/Message/?limit=20&offset=20",
    "offset": 0,
    "previous": null,
    "total_count": 45
  },
  "objects": [
    {
      "message_uuid": "...",
      "...": "..."
    }
  ]
}
```

### Meta Fields

| Field | Description |
| - | - |
| `limit` | Number of results per page |
| `offset` | Number of records skipped |
| `total_count` | Total number of matching records |
| `next` | URL for the next page of results (null if no more) |
| `previous` | URL for the previous page of results (null if first page) |
