---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.1
alternate:
  - https://yandex.com/dev/adfox/doc/en/rest-statistics/error-codes.md
  - https://yandex.com/dev/adfox/doc/ru/rest-statistics/error-codes.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/adfox/doc/ru/llms.txt

# Коды ошибок

Структура ошибки:

```json 
{
  "error": {
    "code": "UNKNOWN_METRIC",
    "message": "Unknown metric: impressions_xxx"
  }
}
```

## Полная таблица кодов

#|
|| **Код** | **HTTP** | **Message** | **Описание** ||
|| `EMPTY_METRICS` | 400 | `metrics must contain at least one non-blank value`  | Не указаны метрики. ||
|| `EMPTY_DATE_RANGE` | 400 | `dateRange is empty`  | Не указан период. ||
|| `INVALID_DATE_RANGE` | 400 | `dateRange.from (<from>) must be <= dateRange.to (<to>)` | Дата начала позже даты окончания. ||
|| `INVALID_DATE_FORMAT` | 400 | `<field> must match YYYY-MM-DD, got '<value>'`  | Неверный формат даты (ожидается `YYYY-MM-DD`). ||
|| `DATE_RANGE_TOO_LONG` | 400 | `date range exceeds 365 days` | Период превышает 365 дней. ||
|| `UNKNOWN_METRIC` | 400 | `Unknown metric '<id>'` | Неизвестная метрика. ||
|| `UNKNOWN_DIMENSION` | 400 | `Unknown dimension '<id>'` | Неизвестное измерение. ||
|| `UNKNOWN_FILTER_FIELD` | 400 | `Unknown filter field '<id>'` | Неизвестное поле фильтра. ||
|| `INVALID_FILTER` | 400 | Детали, например `filters[0].field is required` | Некорректный фильтр (например, не указан `field`). ||
|| `INVALID_FILTER_VALUE` | 400 | Детали, например `filters[0].value must be a scalar for this operator` | Неверный тип значения фильтра. ||
|| `UNSUPPORTED_FILTER_OPERATOR` | 400 | В т.ч. `filters[0].operator is missing or unknown (allowed: …)` | Оператор не поддерживается. ||
|| `OPERATOR_NOT_SUPPORTED` | 400 | `Operator '<op>' is not supported for filter field '<field>'` | Оператор не разрешен для данного поля. ||
|| `INVALID_LIMIT` | 400 | `limit must be in (0 — 1000000), got <n>` | Некорректное значение `limit`. ||
|| `MISSING_OWNER_ID` | 400 | `ownerId is required` — для рекламодателя / владельца сайта в теле не передан `ownerId`. | Не передан обязательный `ownerId`. ||
|| `INVALID_REQUEST` | 400 | Нет тела / битый JSON / прочие транспортные проблемы. | Некорректный запрос (битый JSON, неверные параметры). ||
|| `BAD_REQUEST` | 400 | Транспортный fallback для ошибок UMR без отдельного кода. | Общая ошибка запроса. ||
|| `ACCESS_DENIED` | 403 | `Report constructor is not available for this user  / Your cannot start report` | Нет прав на доступ к API. ||
|| `OWNER_ID_FORBIDDEN` | 403 | `ownerId is not allowed for this user` | Переданный `ownerId` не разрешен. ||
|| `REPORT_NOT_FOUND` | 404 | Маппится из UMR. `REPORT_NOT_FOUND` для POST встречается редко. | Задача не найдена. ||
|| `TASK_FAILED` | 409 | `Task failed` | Ошибка выполнения задачи. ||
|| `RESULT_EXPIRED` | 410 | `Report result expired` | Результат устарел. ||
|| `REPORT_NOT_READY` | 425 | `Report is not ready yet` | Отчет еще не готов. ||
|| `TOO_MANY_REQUESTS` | 429 | Превышен лимит параллельных запросов на стороне UMR. | Превышен лимит запросов ||
|| `INTERNAL_ERROR` | 500 | Маппится из UMR. `UNKNOWN_ERROR` — внутренняя ошибка построения. | Внутренняя ошибка сервера. ||
|#

## Пример message для кода ошибки

```
INVALID_REQUEST

:

level query parameter is required

id query parameter is required

unsupported level '…'

query parameter 'ownerId' must be a positive integer
```

{% note info %}

Всегда обрабатывайте ошибки по полю `code`. 

Поле `message` носит информационный характер.

{% endnote %}


