# Ошибки вызова сервиса

Полный список запросов вы можете найти в [Коллекции Postman](/oz-knowledge-ru/rukovodstva/rukovodstvo-razrabotchika/api/oz-api/postman.md), в [Примерах использования](/oz-knowledge-ru/rukovodstva/rukovodstvo-razrabotchika/api/oz-api/use-cases.md) приведен порядок запросов в наиболее распространенных случаях. В данной статье перечислены коды ответов на запросы и ошибки при обработке запросов.

## Коды HTTP-ответов

* Коды ответов в диапазоне 2XX соответствуют корректно отработавшему запросу (например, при получении данных возвращается код 200, при добавлении новой сущности – 201, при корректном удалении – 204 и так далее);
* Коды ответов в диапазоне 4XX соответствуют ошибке при обработке запроса, произошедшей на стороне вызывающего клиента (например, 404 – обращение к несуществующему ресурсу);
* Коды ответов в диапазоне 5XX соответствуют ошибке при обработке запроса на стороне самой системы (например, при временной недоступности базы данных).

## Тело ответа при ошибке

Каждая ошибка, возникшая при обработке запроса на стороне системы, помимо соответствующего HTTP-кода ошибки содержит также описание самой ошибки в теле ответа с указанием следующих JSON-полей:

* `error_code` – целочисленный код ошибки;
* `error_message`– сообщение с описанием возникшей ошибки (используется только для отладочных задач и расследования инцидентов);
* `details` – детали ошибки (приводятся в произвольном формате, специфичном для каждого отдельного типа ошибки). Необязательное поле.

Пример ответа сервера:

```javascript
{
    "error_code": 0,
    "error_message": "Unknown server side error occurred",
    "details": null
}
```

Коды ошибок:

<table data-header-hidden><thead><tr><th width="139.33333333333334">Код ошибки</th><th width="151.5">Значение</th><th>Описание</th></tr></thead><tbody><tr><td><strong>Код ошибки</strong></td><td><strong>Значение</strong></td><td><strong>Описание</strong></td></tr><tr><td>0</td><td> UNKNOWN</td><td>Неизвестная серверная ошибка.</td></tr><tr><td>1</td><td> NOT ALLOWED</td><td>Вызван недопустимый метод, обычно сопровождается 405 статусом HTTP-ответа при вызове HTTP-метода, не поддерживаемого ресурсом (например PATCH, если ресурс поддерживает только GET/POST).</td></tr><tr><td>2</td><td> NOT REALIZED</td><td>Вызван web-сервис, который не реализован на сервере, может встретиться в случае, если сервис по документации присутствует, однако фактически не реализован (временно или на постоянной основе).</td></tr><tr><td>3</td><td> INVALID STRUCTURE</td><td>Некорректная структура запроса, обычно встречается, если не удается найти обязательный параметр или тело запроса передано в некорректном формате.</td></tr><tr><td>4</td><td> INVALID VALUE</td><td>Некорректное значение параметра, например может возникать в случаях: передана строка, которая должна иметь формат UUID, но при этом она не конвертируется корректно, передано отрицательное значение смещения/ширины окна при постраничном запросе.</td></tr><tr><td>5</td><td> INVALID TYPE</td><td>Некорректный тип данных для параметра.</td></tr><tr><td>6</td><td> AUTH NOT PROVIDED</td><td>Не указан токен <a href="/pages/-McUgq2qaEIqvapXTmnr">авторизации</a>.</td></tr><tr><td>7</td><td> AUTH INVALID</td><td>Указан несуществующий <a href="/pages/-McUgq2qaEIqvapXTmnr">авторизационный токен</a>.</td></tr><tr><td>8</td><td> AUTH EXPIRED</td><td><a href="/pages/-McUgq2qaEIqvapXTmnr">Авторизационный токен</a> просрочен.</td></tr><tr><td>9</td><td> AUTH FORBIDDEN</td><td>Недостаточно прав для запрошенной операции.</td></tr><tr><td>10</td><td> NOT EXIST</td><td>Запрашиваемый ресурс не существует (аналог HTTP status_code = 404).</td></tr><tr><td>11</td><td> EXTERNAL SERVICE</td><td>Ошибка взаимодействия с внешней информационной системой.</td></tr><tr><td>12</td><td> DATABASE</td><td>Критическая ошибка работы с базой данных на стороне сервера.</td></tr></tbody></table>

### Ошибки OzCapsula

| **Код ошибки** | **Сообщение**                                                                                                                                                          | **Описание**                                          |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| 3              | Invalid structure                                                                                                                                                      | Отсутствует payload.json                              |
| 4              | Can't start analysis without media                                                                                                                                     | В контейнере нет медиафайлов                          |
| 5              | Invalid Type                                                                                                                                                           | Контейнер поврежден                                   |
| 13             | No data container provided                                                                                                                                             | API не получил контейнер                              |
| 14             | <ul><li>Data container unpacking failed</li><li>Invalid Data Container</li><li>Invalid signature</li><li>Invalid hash</li><li>Invalid or empty Session Token</li></ul> | В контейнере обнаружены ошибки, распаковка невозможна |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.ozforensics.com/oz-knowledge-ru/rukovodstva/rukovodstvo-razrabotchika/api/oz-api/http-return-codes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
