# Проверить загружаемый документ

> Создаёт проверку для документа, который ещё распознаётся. Распознавание и разметка — первые этапы проверки; чек-листы подбираются по виду документа, если пользователь не выбрал их сам; проверка начинается после разметки.

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Проверить загружаемый документ

`POST /api/v1/compliance/intake`

Создаёт проверку для документа, который ещё распознаётся. Распознавание и разметка — первые этапы проверки; чек-листы подбираются по виду документа, если пользователь не выбрал их сам; проверка начинается после разметки.

**Авторизация:** dpop или oauth2: `compliance:write`

**Тело запроса** (`application/json`, обязательное): object
- `agentId`: string (uuid) — Агент, который выполнит проверку; по умолчанию — основной агент сотрудника
- `jobId`: string (uuid), обязательное — Задача импорта из POST /smartdoc/import: проверка начнётся, когда документ будет распознан и размечен

**Ответы**

- `200` — Проверка для этой загрузки уже существует (`application/json`, ComplianceResult)
  - `agentId`: string, nullable — Агент, который выполнял проверку
  - `agentName`: string, nullable — Имя агента на момент запуска
  - `checkTypes`: массив string, обязательное — Выполненные типы проверок
  - `completedAt`: string, nullable — Когда завершена, ISO 8601
  - `createdAt`: string — Когда запущена, ISO 8601
  - `documentId`: string, обязательное — Проверенный документ
  - `id`: string, обязательное — Идентификатор результата
  - `importJobId`: string, nullable — Задача импорта, с распознавания которого началась проверка; null — проверка готового документа
  - `playbooks`: массив ComplianceResultPlaybook, обязательное — Чек-листы конвейера в порядке выполнения
    - `id`: string, nullable, обязательное — Идентификатор чек-листа; null, если чек-лист удалён
    - `name`: string, обязательное — Название чек-листа на момент запуска
  - `playbooksPinned`: boolean — Набор чек-листов выбран пользователем; false — подбирается по виду документа
  - `remarks`: массив ComplianceRemark — Найденные замечания
    - `blockId`: string — Блок документа, к которому относится замечание
    - `description`: string — Суть замечания
    - `id`: string, обязательное — Идентификатор замечания
    - `quote`: string — Дословная цитата текста документа, проверенная по блоку
    - `severity`: string — Критичность: high, medium, low
  - `runId`: string — Прогон: объединяет результаты по всем документам одной проверки
  - `score`: number, nullable — Итоговая оценка соответствия
  - `status`: string, обязательное — Статус: running, completed, failed
  - `summary`: string, nullable — Сводка по результату
- `201` — Проверка создана и ждёт распознавания документа (`application/json`, ComplianceResult)
  - `agentId`: string, nullable — Агент, который выполнял проверку
  - `agentName`: string, nullable — Имя агента на момент запуска
  - `checkTypes`: массив string, обязательное — Выполненные типы проверок
  - `completedAt`: string, nullable — Когда завершена, ISO 8601
  - `createdAt`: string — Когда запущена, ISO 8601
  - `documentId`: string, обязательное — Проверенный документ
  - `id`: string, обязательное — Идентификатор результата
  - `importJobId`: string, nullable — Задача импорта, с распознавания которого началась проверка; null — проверка готового документа
  - `playbooks`: массив ComplianceResultPlaybook, обязательное — Чек-листы конвейера в порядке выполнения
    - `id`: string, nullable, обязательное — Идентификатор чек-листа; null, если чек-лист удалён
    - `name`: string, обязательное — Название чек-листа на момент запуска
  - `playbooksPinned`: boolean — Набор чек-листов выбран пользователем; false — подбирается по виду документа
  - `remarks`: массив ComplianceRemark — Найденные замечания
    - `blockId`: string — Блок документа, к которому относится замечание
    - `description`: string — Суть замечания
    - `id`: string, обязательное — Идентификатор замечания
    - `quote`: string — Дословная цитата текста документа, проверенная по блоку
    - `severity`: string — Критичность: high, medium, low
  - `runId`: string — Прогон: объединяет результаты по всем документам одной проверки
  - `score`: number, nullable — Итоговая оценка соответствия
  - `status`: string, обязательное — Статус: running, completed, failed
  - `summary`: string, nullable — Сводка по результату
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)
- `404` — Ресурс не найден (`application/problem+json`, ProblemDetails)
- `409` — Конфликт с текущим состоянием ресурса (`application/problem+json`, ProblemDetails)

    </>
  );
}
