# Лимиты и ошибки

Коды ошибок API и правила ограничения частоты запросов (rate limiting).

## Формат ошибки

Все ошибки возвращаются в едином формате с HTTP-статусом и телом:

```json
{
  "error": {
    "type": "rate_limit_error",
    "message": "Rate limit exceeded, retry after 12 seconds"
  }
}
```

## Коды ошибок

| HTTP | type | Описание |
| --- | --- | --- |
| 400 | `invalid_request_error` | Некорректные параметры запроса. |
| 401 | `authentication_error` | Отсутствует или недействителен API-ключ. |
| 403 | `permission_error` | Ключ не имеет доступа к указанной модели. |
| 404 | `not_found_error` | Эндпоинт или ресурс не найден. |
| 429 | `rate_limit_error` | Превышен лимит запросов или расхода. |
| 500 | `api_error` | Внутренняя ошибка на стороне Tokenola. |

## Rate limits

Лимиты частоты запросов зависят от тарифа и модели и передаются в заголовках ответа:

```
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1735689660
```

При получении `429` используйте экспоненциальный backoff перед повторной отправкой запроса.
