# Обработка ошибок

Наши API имеют единообразный контракт для работы с ошибками. Единичная ошибка представляет собой JSON, содержащий тело вида

```json
{
  "error": "error",
  "reason": "reason"
}
```

Множествнная ошибка (как правило ошибка валидации) представляет собой JSON вида

```json
{
  "error": "error",
  "reason": "reason",
  "error_list": [
    {
      "error": "error",
      "reason": "reason"
    },
    {
      "error": "error",
      "reason": "reason"
    }
  ]
}
```

Для разных ошибок может быть разный HTTP код.

В поле **error** содержится текстовый код ошибки, которая произошла при обработке информации внутри сервиса, предоставившего API.
Поле **reason** содержит в себе текст ошибки с подробным описанием.

Например, при отсутствии авторизационного хедера сервис пришлёт ответ с HTTP-статусом 403 (Forbidden) и телом

```json
{
  "error": "Unauthorized",
  "reason": "Невозможно распознать секретный ключ."
}
```

В некоторых случаях тело ответа может иметь дополнительные, свойственные определённому API поля. Подробнее об этом можно узнать непосредственно в документации сервисов, отвечающих за работу с Грузами, Заказами, Фирмами и др.
---

## llms.txt

Индекс ключевых страниц документации для LLM и AI-агентов доступен в [основном llms.txt](https://ati.su/developers/llms.txt).
