Документация

Создайте процесс, который можно выполнить и проверить.

Для команд с доступом к приложению. Проследите путь от события до задачи агента, изучите запуск и задайте событие, подтверждающее результат. Ниже приведены справочники API и политик.

  1. 1

    Начните в разделе «Рабочие процессы».

    После настройки доступа откройте «Рабочие процессы». Если процессов ещё нет, рабочее пространство предложит стартовый шаблон, который можно установить и запустить из приложения.

    Это руководство использует размещённое приложение.

    Оставить заявку
  2. 2

    Определите работу и событие завершения.

    Создание рабочего процесса связывает событие с задачей агента. Укажите название, событие и инструкцию. Полная форма YAML содержит список rules. Этот пример начинается с метки на задаче, поручает агенту подготовить pull request и ожидает события слияния.

    first-run.yamlСкачать

    rules:
      - name: first-run
        on: plane.label_added
        if: { label: first-run }
        do:
          - agent: { type: first-run, context: "Fix {issue.title} and open a pull request." }
          - plane.comment: "Picked up. The pull request is linked in the run."
        verify:
          on: github.pr.merged
          within: 24h
        finally:
          - matrix.send: "[{_status}] first-run {issue.title}"

    Проверено парсером рабочих процессов Recuriant 2026-11-02. Язык рабочих процессов, версия 1.

    Recuriant проверяет процесс перед сохранением. При объявленной политике изменяющие состояние шаги проверяются до выполнения: по умолчанию L1 выполняется, L2 ждёт согласования, L3 отклоняется.

    Как применяются уровни риска
  3. 3

    Изучите запуск.

    Добавьте метку к задаче, чтобы запустить процесс. В разделе «Запуски» проверьте результат и длительность каждого шага. Отправка задачи агенту содержит ссылку на его запуск. Ожидающие действия отображаются в разделе «Одобрения».

    1. first-run on plane.label_added first-run запущен
    2. first-run agent type=first-run отправлен
    3. first-run plane.comment L1 · выполнено
    4. first-run verify github.pr.merged within 24h ожидание до завтра, 09:12
    Иллюстративный пример с вымышленными данными

    Результаты запусков и доступные решения политики можно читать и через API. Запись разрешений и отказов в аудит выполняется без гарантии сохранения; состояние ожидания согласования должно храниться постоянно.

Аутентификация с помощью API-ключа.

Каждый запрос передаёт ключ как bearer-токен. Запросы отправляются на адрес API, который вы получаете вместе с рабочим пространством; в примерах он обозначен как $RECURIANT_API.

  • Создайте ключ в приложении в разделе «API-ключи». Задайте название и срок действия: 30 дней, 90 дней, один год или бессрочно. Ключ показывается один раз, поэтому скопируйте его сразу.
  • Ключ с префиксом ck_ действует от имени создавшего его человека. Ключ с префиксом cka_ принадлежит управляемому агенту и несёт только полномочия роли этого агента.
  • Ключ может вызывать действия и читать запуски. Одобрить ожидающий шаг он не может: для одобрения нужен вход человека.
  • Отзовите ключ на том же экране, когда он больше не нужен.

Проверить ключ

curl "$RECURIANT_API/me" -H "Authorization: Bearer $RECURIANT_API_KEY"

Справочник API.

Используйте адрес API, выданный с рабочим пространством. Тела запросов и ответов используют JSON, а /openapi.json предоставляет машиночитаемую схему. Примеры показывают выбранные поля ответа.

GET /me кто вы

Возвращает человека или агента, которому принадлежит ключ, и его рабочее пространство.

Запрос

curl "$RECURIANT_API/me" \
  -H "Authorization: Bearer $RECURIANT_API_KEY"

Ответ, сокращённо

{
  "sub": "<id>",
  "email": "<email>",
  "username": "ana",
  "tenant": {
    "id": "<id>",
    "slug": "acme",
    "name": "acme"
  },
  "role": "",
  "principal_type": "user",
  "principal_id": "<id>"
}
GET /workflows ваши рабочие процессы

Перечисляет рабочие процессы с триггером, условиями, шагами и признаком объявленной проверки результата.

Запрос

curl "$RECURIANT_API/workflows" \
  -H "Authorization: Bearer $RECURIANT_API_KEY"

Ответ, сокращённо

{
  "workflows": [
    {
      "name": "first-run",
      "on": "plane.label_added",
      "conditions": {
        "label": "first-run"
      },
      "steps": 2,
      "do": [
        {
          "action": "agent"
        },
        {
          "action": "plane.comment"
        }
      ],
      "has_verify": true
    }
  ],
  "defaults": {}
}
GET /actions каталог действий

Перечисляет все действия, доступные вашему ключу, с входными данными, признаком изменения чего-либо за пределами Recuriant, обратимостью, влиянием и уровнем.

Запрос

curl "$RECURIANT_API/actions" \
  -H "Authorization: Bearer $RECURIANT_API_KEY"

Ответ, сокращённо

{
  "tenant": "acme",
  "actions": [
    {
      "name": "matrix.send",
      "kind": "connector",
      "mutates_external_state": true,
      "reversibility": "reversible",
      "impact": "low",
      "tier": "L1"
    }
  ],
  "total": 1
}
POST /actions/{action} вызвать одно действие

Выполняет действие по имени с настроенными проверками исполнения. Передайте аргументы действия в args. Вызов, продолжающийся в фоне, возвращает 202 с URL состояния в data.

Запрос

curl -X POST "$RECURIANT_API/actions/matrix.send" \
  -H "Authorization: Bearer $RECURIANT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"args": {"body": "Deploy complete"}}'

Ответ, сокращённо

{
  "ok": true,
  "output": "<the action output>",
  "data": {}
}
POST /dry-run предпросмотр события

Объясняет, какие процессы соответствуют примеру события и почему. Не отправляет задачи и не записывает решения политики. С параметром explain ответ также включает неподошедшие процессы.

Запрос

curl -X POST "$RECURIANT_API/dry-run" \
  -H "Authorization: Bearer $RECURIANT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"event": "plane.label_added", "vars": {"label": "first-run"}, "explain": true}'

Ответ, сокращённо

{
  "event": "plane.label_added",
  "vars": {
    "label": "first-run"
  },
  "matched_workflows": 1,
  "total_evaluated": 1,
  "matches": [
    {
      "workflow": "first-run",
      "matched": true
    }
  ],
  "results": [
    {
      "workflow": "first-run",
      "matched": true
    }
  ]
}
GET /executions список запусков

Перечисляет запуски. Фильтры: рабочий процесс, тип, статус или задача. В списке нет журналов шагов; полный журнал доступен при чтении одного запуска.

Запрос

curl "$RECURIANT_API/executions?workflow=first-run" \
  -H "Authorization: Bearer $RECURIANT_API_KEY"

Ответ, сокращённо

[
  {
    "id": "<id>",
    "type": "workflow",
    "status": "completed",
    "workflow_name": "first-run",
    "event_type": "plane.label_added",
    "started_at": "2026-11-02 09:10:04+00:00",
    "finished_at": "2026-11-02 09:12:41+00:00",
    "details_included": false,
    "step_log": null
  }
]
GET /executions/{id} один запуск

Возвращает один запуск с журналом шагов, запуском-родителем, текущим шагом и глубиной вложенности.

Запрос

curl "$RECURIANT_API/executions/<id>" \
  -H "Authorization: Bearer $RECURIANT_API_KEY"

Ответ, сокращённо

{
  "id": "<id>",
  "type": "workflow",
  "status": "completed",
  "workflow_name": "first-run",
  "parent_execution_id": null,
  "current_step": 2,
  "total_steps": 2,
  "depth": 0,
  "details_included": true
}

Найдите действия, доступные в вашем рабочем пространстве.

В вашем каталоге перечислены действия, которые разрешают ваши учётные данные. Действия коннектора появляются, когда его интеграция настроена для вашего рабочего пространства, и исчезают, когда она отключена.

Ключ управляемого агента видит только действия для чтения, рабочие процессы и действия своей роли. Каждое действие объявляет, насколько оно обратимо и как далеко распространяется его влияние, и от этого зависит его уровень.

plane.comment
обратимо, низкое влияние: L1, выполняется
plane.issue
обратимо, низкое влияние: L1, выполняется
matrix.send
обратимо, низкое влияние: L1, выполняется
http
трудно отменить, низкое влияние: L2, ждёт решения человека
llm
только чтение: без проверки
grafana.query_metrics
только чтение: без проверки

Подключите клиент MCP.

Сервер MCP Recuriant предоставляет процессы, запуски, записи согласований и действия коннекторов совместимым клиентам, например Claude Code или Cursor. Действия проходят те же настроенные проверки, что и шаги процессов. Сервер пока не опубликован как устанавливаемый пакет; обсудите доступ с командой.

Он аутентифицируется тем же ключом ck_ или cka_, что и API.

Обсудить доступ к MCP

Настройте политику действий.

При объявленной политике изменяющие состояние шаги проверяются после вычисления входных параметров и до выполнения. Ваша политика назначает уровням ниже разрешение, согласование или запрет.

L1
Обратимо и с низким влиянием. Шаг выполняется. Решение о разрешении записывается без гарантии сохранения, кроме операций, требующих постоянной записи.
L2
Остальные изменяющие состояние действия, включая неклассифицированные. Шаг ждёт назначенного согласующего, по умолчанию 24 часа. По истечении срока он отклоняется, если политика не предписывает разрешение или эскалацию. Перед продолжением состояние согласования должно быть сохранено.
L3
Необратимо со средним или высоким влиянием либо трудно отменить при высоком влиянии. Шаг отклоняется; доступная запись решения указывает правило.
Политика не объявлена
Без объявленной политики шаги процесса выполняются без этих ограничений, и согласование по политике не запрашивается. Применимые полномочия учётной записи по-прежнему проверяются.
policy_unavailable
Если объявленную политику не удаётся загрузить, блокируется каждое действие, которое изменило бы внешнюю систему.
Полная модель управления

Проверьте наступление ожидаемого события.

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

incident-resolution.yamlСкачать

rules:
  - name: incident-resolution
    on: alertmanager.firing
    if: { severity: critical }
    do:
      - agent: { type: incident, context: "Diagnose {alert.name} and propose one change." }
        as: diagnosis
      - plane.issue: { title: "[INCIDENT] {alert.name}", description: "{diagnosis}" }
      - http: { url: "https://deploy.example.com/rollback", method: POST, body: { service: "{alert.namespace}" } }
    verify:
      on: alertmanager.resolved
      within: 30m
      else:
        - alert: { severity: critical, summary: "{alert.name} is still firing after 30 minutes" }
    finally:
      - matrix.send: "[{_status}] incident-resolution {alert.name}"

Проверено парсером рабочих процессов Recuriant 2026-11-02. Язык рабочих процессов, версия 1.

  • verify.on задаёт ожидаемое событие. within устанавливает срок как длительность, например 30m или 24h. Выберите событие, которое представляет нужный наблюдаемый результат.
  • else задаёт шаги, которые выполняются по истечении срока без ожидаемого события.
  • finally планирует очистку или формирование отчёта после основной части процесса, в том числе при сбое шага.
  • Ожидающее действие имеет отдельный срок согласования: по умолчанию 24 часа, настраиваемый политикой. После его истечения действие отклоняется, если политика не задаёт другой исход.

Разберитесь с ошибками и восстановлением.

API возвращает код состояния и описание в JSON. Журналы запусков показывают результаты шагов; доступные решения политики объясняют, почему действие было разрешено, приостановлено для согласования или отклонено.

401
Ключ отсутствует, недействителен или просрочен. Проверьте заголовок Authorization или создайте новый ключ.
404
Неизвестное действие. Вызовите GET /actions, чтобы узнать имена, доступные вашему рабочему пространству.
422 invalid_action_arguments
Аргументы не соответствуют входным данным действия. В описании указано поле; сравните его со входными данными из GET /actions.
202
Принято. Работа продолжается в фоне; опрашивайте URL состояния из data.
502, 503
Проверка ключа временно недоступна. Ваш ключ не признан недействительным: повторите запрос с паузой.
refused · scope_missing
Действия нет в токене, с которым идёт запуск. Одобрение этого не исправит: добавьте действие в роль агента или перенесите шаг в рабочий процесс, у которого оно есть.
refused · policy_unavailable
Объявленную политику не удалось загрузить. Восстановите её: пока она не загружена, отклоняется каждый шаг, который что-то изменил бы.

Оставьте заявку на Recuriant.

Платный доступ готовится к открытию. Оставьте рабочие контакты и укажите интересующий тариф; мы свяжемся с вами, когда доступ появится.