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

# Ошибки и коды ответов

> Формат ошибки OData и когда сервис отвечает тем или иным статусом.

## Формат ошибки

Ошибки возвращаются в формате OData v4 JSON:

```json theme={null}
{
  "error": {
    "code": "BadRequest",
    "message": "Объект Document_РеализацияТоваровУслуг не записан: не пройдена проверка заполнения",
    "details": [
      {
        "code": "Message",
        "message": "Поле \"Организация\" не заполнено",
        "target": "Организация_Key"
      }
    ]
  }
}
```

* `code` — машиночитаемый код: `BadRequest`, `Unauthorized`, `Forbidden`, `NotFound`, `Conflict` и т. д.
* `message` — текст для человека, на русском. Ошибки разбора параметров запроса называют позицию символа (с 1).
* `details` — у ошибок записи. Сообщения пользователю из бизнес-логики конфигурации (`Сообщить`, проверка
  заполнения) идут элементами с `"code": "Message"`. `target` указывает на поле: `Организация_Key`, у строки
  табличной части — `РасшифровкаПлатежа[0]/СуммаПлатежа`, у строки набора движений — `RecordSet[2]/Сумма`.

Сырой текст исключения платформы или обработчика записи клиенту не отдаётся: в нём бывают тексты запросов и чужие
данные. Вместо него приходит подробность `"code": "Exception"` с постоянным текстом, а сам текст исключения пишется в
журнал регистрации (событие `OData4.Запись`). Настройка «Подробные ошибки записи клиенту» передаёт текст причины
клиенту. Включайте её только на время отладки.

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

| Статус | Когда |
| - | - |
| `400 Bad Request` | Ошибка синтаксиса параметров (с позицией), неизвестное свойство или набор, несовместимые типы, превышен [лимит](/odatav4/security/limits), ошибка проверки заполнения или проведения, неверное значение в теле записи, ссылка на несуществующий или невидимый объект, путь через неопубликованную навигацию |
| `401 Unauthorized` | Нет учётных данных или они неверны. Токен не найден, отозван, истёк или адрес клиента не разрешён: причина есть в тексте, но без имени токена и адреса. Заголовок `Authorization` в нестрогой форме |
| `403 Forbidden` | Операция запрещена профилем или правами 1С (в тексте — имя объекта). Строгий режим Basic без профиля. Служебная учётка вошла по Basic. Объект после записи вышел за отборы строк профиля (запись откатывается) |
| `404 Not Found` | Нет такого набора или объекта; объект не виден из-за отборов профиля или RLS; набор закрыт для чтения |
| `405 Method Not Allowed` | Метод не применим к ресурсу: запись строк `…_RecordType`, журналов документов, результатов функций; `GET` на действие `Post`. В ответе есть заголовок `Allow` |
| `406 Not Acceptable` | Запрошен неподдерживаемый формат (`$format`) |
| `409 Conflict` | Объект с таким `Ref_Key` или запись регистра с таким ключом уже есть. Набор движений уже создан. Объект занят другим сеансом. Физическое удаление объекта, на который ссылаются |
| `412 Precondition Failed` | `If-Match` с устаревшей версией; `If-None-Match: *` у существующего объекта |
| `413 Payload Too Large` | Тело `$batch` больше настройки «Наибольший размер \$batch, МБ» |
| `415 Unsupported Media Type` | `Content-Type` тела записи не JSON, у `$batch` — не `multipart/mixed` и не JSON |
| `422 Unprocessable Entity` | Ключ `Repeatability-Request-ID` или `Idempotency-Key` уже использован для другого запроса |
| `424 Failed Dependency` | В JSON `$batch`: операция группы атомарности отменена из-за ошибки другой операции |
| `428 Precondition Required` | Включено «Требовать If-Match», а заголовка нет |
| `429 Too Many Requests` | Превышено правило частоты профиля. Заголовок `Retry-After` говорит, через сколько секунд повторить |
| `500 Internal Server Error` | Внутренняя ошибка. Текст постоянный, подробности — в журнале регистрации (событие `OData4`). Редкий сбой платформы — см. [Ограничения](/odatav4/reference/limitations) |
| `501 Not Implemented` | Возможность OData, которую сервис не поддерживает: `$search`, оператор `has` и др. ([Ограничения](/odatav4/reference/limitations)) |
| `503 Service Unavailable` | Не записан снимок состава стандартного интерфейса (нужен один запрос администратора). Состав или настройки доступа временно не прочитаны. Режим «Привилегированный» в безопасном режиме расширения |

<Tip>
  Если ответ `500` пришёл не в формате OData (`{"error": …}`), а простым текстом платформы, это сбой платформы до
  кода расширения или после него. См. [Известные ограничения](/odatav4/reference/limitations).
</Tip>

## Где искать подробности

* **Журнал запросов** (вкладка «Журнал» формы настроек): статус, путь, субъект, длительность, текст ошибки (по
  флажку). См. [Журнал и мониторинг](/odatav4/admin/journal).
* **Журнал регистрации 1С**: события `OData4.*` с текстом исключения и стеком.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.