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

# Ошибки

> Коды состояния и машиночитаемые коды ошибок

Класс ошибки определяется HTTP-статусом, а конкретную причину несёт строковое поле
`code` в теле ответа. Ориентируйтесь на `code` для программной обработки — текст
`message` предназначен для человека и может меняться.

```json theme={null}
{
  "code": "DEVELOPER.SCOPE_INSUFFICIENT",
  "message": "the API key is missing the required scope: employees:read"
}
```

## Коды состояния

| HTTP | Значение                                                     |
| ---- | ------------------------------------------------------------ |
| 400  | Некорректный запрос (неизвестный параметр, фильтр или токен) |
| 401  | Ключ отсутствует, недействителен, отозван или истёк          |
| 403  | Ключу не хватает области доступа, либо функция не включена   |
| 404  | Ресурс не найден (или недоступен вашему ключу)               |
| 429  | Превышен лимит запросов                                      |
| 500  | Внутренняя ошибка сервера                                    |

## Частые коды

| `code`                         | Когда возникает                                            |
| ------------------------------ | ---------------------------------------------------------- |
| `INTEGRATION.API_KEY_INVALID`  | Ключ не принят: отсутствует, отозван, истёк или неизвестен |
| `DEVELOPER.SCOPE_INSUFFICIENT` | У ключа нет области, которую требует ручка                 |
| `DEVELOPER.INVALID_EXPAND`     | В `expand` передано неизвестное имя                        |
| `DEVELOPER.INVALID_STATUS`     | В `status` передано неизвестное значение                   |
| `DEVELOPER.INVALID_PAGE_TOKEN` | `page_token` повреждён или не соответствует фильтрам       |
| `EMPLOYEE_NOT_FOUND`           | Сотрудник не существует или недоступен ключу               |
| `FEATURE_FLAG.NOT_AVAILABLE`   | Developer API не включён для тенанта                       |

## Принцип неразличимости

Чтобы API нельзя было использовать как оракул, «не существует», «нет доступа» и
«черновик/удалён» для одиночных ресурсов возвращают одинаковый `404`
`EMPLOYEE_NOT_FOUND`. По коду ответа нельзя выяснить, существует ли скрытый от вас
сотрудник.

<Note>
  API в стадии preview. Некоторые ошибки транскодера (например опечатка в имени
  query-параметра) сейчас могут приходить как `500`; приведение всех ошибок к единому
  JSON-конверту с корректным статусом — в работе.
</Note>
