> ## Documentation Index
> Fetch the complete documentation index at: https://docs.powerdialer.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors and limits

> Status codes, the error body format, rate limits and payload caps.

## Limits

| Limit | Value |
| - | - |
| Requests | **300 per minute per API key**, across all users. Over the limit answers `429`. |
| Contacts per request | 10,000 (create and batch add). |
| Request body | 50 MB. |
| Analytics range | 366 days. |
| List name | 150 characters. Group name 100. |
| Contact name | 500 characters. Phone number 50. Up to 10 additional numbers. |

## Error format

Every error is JSON with an `error` string and, where useful, `details`. Validation errors list each problem:

```json theme={null}
{
  "error": "Invalid request",
  "details": [ { "path": "contacts.0.phoneNumber", "message": "phoneNumber is required" } ]
}
```

## Status codes

| Status | Meaning |
| - | - |
| `400` | Malformed body or query, unknown field, missing user header, impossible date. |
| `401` | Missing or wrong API key. |
| `404` | User not found; list not found or not owned by the user; contact not in the list. |
| `429` | Rate limit exceeded. |
| `500` | Unexpected server error. Safe to retry once. |
| `502` | PowerDialer could not verify the user with its identity provider. Retry later. |
| `503` | The API is switched off on the server. |

<Info>
  Batch writes are atomic: a `500` on a batch add leaves nothing half-applied, so retry the whole batch.
</Info>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.