---
title: "Получить манифест возможностей автоматизаций"
method: GET
path: "/api/v1/automation/manifest"
tags: ["Automation"]
---

# Получить манифест возможностей автоматизаций

`GET /api/v1/automation/manifest`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/automation/manifest`
- 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`)

Один документ всего, из чего собирается правило «когда → если → то»:
события с описанием, «когда применять», полями условия и примером тела;
сравнения условия; действия с правом, опасностью, повтором, входами и
примером; справочники выбора с инструментом поиска значения;
подстановки и пределы. Документ порождается кодом каталогов, а не
ведётся руками; тексты — на языке `locale` или `Accept-Language`.

Доступность считается для этого кабинета и этого человека: событие и
действие модуля, не подключённого в кабинете, и действие, на которое у
вызывающего нет права, приходят со статусом `unavailable` и причиной
словами. Вызывающий станет исполнителем правила, поэтому предлагать
ему недоступное бессмысленно. `declared` — действие объявлено модулем,
но пока не выполняется автоматически. `revision` меняется вместе с
содержимым. Схема документа —
`docs/architecture/automation/manifest.schema.json`.

## Query parameters

- `locale` 'ru' | 'en'
- `detail` 'full' | 'brief'

## Headers

- `X-Tenant` string, required

## Response `200`

Манифест возможностей

- AutomationManifest: Документ akeda.automation.manifest версии 1 (AUTOMATION.md § 10.1).
  - `$schema` string
  - `format` 'akeda.automation.manifest', required
  - `version` integer, required
  - `revision` string, required: Отпечаток содержимого sha256:…
  - `locale` 'ru' | 'en', required
  - `detail` 'full' | 'brief', required
  - `events` AutomationManifestEvent[], required
    - `topic` string, required
    - `module` string, required
    - `entity` string, required
    - `fact` string, required
    - `label_key` string, required
    - `label` string, required
    - `description` string, required
    - `when_to_use` string, required
    - `status` 'live' | 'unavailable', required
    - `unavailable_reason` string
    - `source_visibility` boolean, required: Правило сработает, только если исполнитель видит источник
    - `fields` object[]
      - `key` string, required
      - `type` 'string' | 'number' | 'bool' | 'timestamp', required
      - `label` string, required
      - `options` AutomationManifestOption[]
        - `value` string, required
        - `label` string, required
      - `ref` string
      - `operators` string[], required
      - `group` 'custom' | 'webhook' | 'selection': custom — своё поле кабинета, webhook — поле тела входящего вебхука body.<путь> (ERP-1938), selection — поле записи отбора по расписанию (ERP-1939)
      - `hooks` string[]: У поля тела вебхука — вебхуки, в образце которых оно есть
    - `example_payload` object
  - `conditions` object, required
    - `combinator` 'all', required
    - `operators` object[], required
      - `op` string, required
      - `label` string, required
      - `field_types` string[], required
      - `needs_value` boolean, required
      - `case_insensitive` boolean, required
    - `max_clauses` integer, required
    - `max_value_length` integer, required
  - `actions` AutomationManifestAction[], required
    - `command` string, required
    - `module` string, required
    - `label_key` string, required
    - `label` string, required
    - `description` string, required
    - `when_to_use` string, required
    - `status` 'live' | 'declared' | 'unavailable', required
    - `unavailable_reason` string
    - `permission` string, required
    - `reversible` boolean, required
    - `danger` 'none' | 'external' | 'posting' | 'irreversible', required
    - `idempotency` string, required
    - `target` 'new' | 'event_entity', required
    - `event_entities` string[]
    - `mcp_twin` string
    - `inputs` object[]
      - `key` string, required
      - `type` 'string' | 'number' | 'bool' | 'reference' | 'datetime' | 'choice' | 'event_date' | 'time' | 'json' | 'headers' | 'code' | 'reference_list', required: reference_list — несколько значений справочника ref через запятую, например группа распределения ответственного (ERP-1938)
      - `required` boolean, required
      - `label` string, required
      - `options` AutomationManifestOption[]
        - `value` string, required
        - `label` string, required
      - `ref` string
      - `accepts_placeholders` boolean, required
    - `example_inputs` object
    - `outputs` object[]: Результаты шага для следующих шагов пути: {{step:<id шага>.<key>}} (ERP-1932)
      - `key` string, required
      - `type` 'string' | 'number' | 'reference', required
      - `ref` string
      - `label` string, required
  - `timing` object: Блок «Когда выполнить» (ERP-1928): виды, единицы, повторы расписания, события отмены; отборы записей по расписанию — selections (ERP-1939). Полная схема — docs/architecture/automation/manifest.schema.json
    - `max_selection_records` integer: Сколько записей отбора берёт один запуск расписания
    - `selections` object[]
      - `key` string, required
      - `module` string, required
      - `object` string, required: Объект записи: действия над записью события берутся по нему
      - `entity` string, required
      - `label` string, required
      - `description` string
      - `status` 'live' | 'unavailable', required
      - `params` object[], required
      - `fields` object[], required
  - `references` object[], required
    - `kind` string, required
    - `module` string, required
    - `label` string, required
    - `lookup_tool` string, required: MCP-инструмент поиска значения по имени
    - `parameter_kind` boolean, required
    - `status` 'live' | 'unavailable', required
  - `placeholders` object[], required
    - `syntax` string, required
    - `meaning` string, required
    - `status` string, required
  - `blocks` object: Ветки «Если ещё / Иначе», пауза «Подождать» и ссылки на результаты шагов (ERP-1932)
  - `limits` object, required
    - `max_actions` integer, required
    - `max_conditions` integer, required
    - `max_condition_length` integer, required
    - `chain_depth` integer, required
    - `runs_per_tenant_per_minute` integer, required
    - `max_attempts` integer, required

## Other responses

- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права

---

[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)
