---
title: "Проверить, по какому маршруту пойдёт предмет"
method: GET
path: "/api/v1/docflow/approval-routes/check"
tags: ["Docflow approvals"]
---

# Проверить, по какому маршруту пойдёт предмет

`GET /api/v1/docflow/approval-routes/check`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/docflow/approval-routes/check`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)

«Проверка маршрута» из настроек документов: по фактам без живого документа — вид предмета, юрлицо, контрагент или группа контрагентов, статья, сумма — сервер отвечает теми же правилами, что и отправка, какой маршрут подберётся, какие этапы выполнятся, какие будут пропущены по лимиту суммы и кого спросят на каждом этапе. Ничего не пишет.

Исход outcome: route — пойдёт по маршруту; direct — маршрута нет и согласование вида не обязательно (заявка на оплату согласуется сама); blocked — маршрута нет, а согласование обязательно, отправка будет отклонена; empty — все этапы отсечены лимитом. Этап, за которым некого спросить, помечен problem=no_reviewers и проверку не роняет. Этап «руководитель автора» показывает руководителя того, кто проверяет.

## Query parameters

- `module` 'docflow' | 'stock'
- `kind` 'flow_document' | 'payment_request' | 'edo_message' | 'stock_purchase_request', required
- `document_kind` string
- `company_id` string, uuid
- `contact_id` string, uuid
- `contact_folder_id` string, uuid
- `item_id` string, uuid
- `amount` string
- `currency` string
- `business_id` string, uuid

## Headers

- `X-Tenant` string, required

## Response `200`

Кто согласует

- DocflowApprovalChainPreview: Кто согласует предмет по его фактам: маршрут, этапы, пропуски по сумме и люди.
  - `outcome` 'route' | 'direct' | 'blocked' | 'auto', required: auto — маршрут подошёл, но все его этапы согласования отсечены порогами по сумме: предмет согласуется автоматически, без виз
  - `required` boolean, required: Согласование вида объявлено обязательным
  - `route_id` string, uuid
  - `route_name` string
  - `route_standard` boolean: Подобран стандартный маршрут: ни один маршрут кабинета не подошёл
  - `payment_destination` 'calendar' | 'treasury'
  - `stages` DocflowApprovalChainStage[], required
    - `position` integer, required
    - `title` string
    - `stage_kind` 'approve' | 'acknowledge': Что делает этап: approve — согласует и держит маршрут; acknowledge — «ознакомиться»: извещает участников (нужно право docflow.flow:read), маршрут не держит, отказа не знает (ERP-1566). Пусто — approve
    - `mode` 'all' | 'any', required
    - `assignee_kind` 'user' | 'department' | 'role' | 'manager' | 'department_head', required
    - `assignee_label` string
    - `min_amount` string: Лимит этапа: выполняется при сумме от этого значения
    - `due_hours` integer
    - `applies` boolean, required: Этап выполнится при этих фактах
    - `skip_reason` 'amount_below': Почему этап не выполнится
    - `problem` 'no_reviewers': Этап выполнится, но спросить некого
    - `people` DocflowApprovalPerson[], required
      - `id` integer, required
      - `name` string, required

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю
- `503`: Внешний банк, справочник или контур подключений временно недоступен

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/a99574d597cc?raw)
