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

# Ошибки

> Коды ошибок и их значения

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

```json theme={null}
{
  "error": {
    "message": "описание ошибки",
    "type": "тип_ошибки"
  }
}
```

## HTTP-коды

| Код   | Тип                     | Причина                                                                   |
| ----- | ----------------------- | ------------------------------------------------------------------------- |
| `400` | `invalid_request_error` | Неверный запрос: отсутствует обязательное поле, неподдерживаемый параметр |
| `401` | `auth_error`            | Отсутствует или неверный API-ключ                                         |
| `402` | `billing_error`         | Недостаточно средств на балансе                                           |
| `404` | `invalid_request_error` | Модель не найдена или недоступна                                          |
| `429` | `rate_limit_error`      | Превышен лимит запросов                                                   |
| `500` | `internal_error`        | Внутренняя ошибка сервера                                                 |
| `502` | `provider_error`        | Все провайдеры для модели недоступны                                      |

## Примеры

<AccordionGroup>
  <Accordion title="401 — Неверный ключ">
    ```json theme={null}
    {
      "error": {
        "message": "invalid api key",
        "type": "auth_error"
      }
    }
    ```
  </Accordion>

  <Accordion title="402 — Недостаточно средств">
    ```json theme={null}
    {
      "error": {
        "message": "insufficient balance",
        "type": "billing_error"
      }
    }
    ```
  </Accordion>

  <Accordion title="404 — Модель не найдена">
    ```json theme={null}
    {
      "error": {
        "message": "model not found: gpt-999",
        "type": "invalid_request_error"
      }
    }
    ```
  </Accordion>

  <Accordion title="429 — Лимит запросов">
    ```json theme={null}
    {
      "error": {
        "message": "rate limit exceeded",
        "type": "rate_limit_error"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

## Особенности

* `4xx` от провайдера не вызывают fallover — запрос считается невалидным
* `5xx` от провайдера → автоматический переход к следующему провайдеру
* Если все провайдеры недоступны — возвращается `502`
