# Запросы агентов на действия

> Действия, которые агенты просили разрешить текущему пользователю: ожидающие решения или вся история решений, новые первыми.

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Запросы агентов на действия

`GET /ws/api/agent-actions`

Действия, которые агенты просили разрешить текущему пользователю: ожидающие решения или вся история решений, новые первыми.

**Авторизация:** dpop

**Параметры**

| Имя | Где | Обязательный | Тип | Описание |
| --- | --- | --- | --- | --- |
| `state` | query | нет | "pending" \| "all" | pending — ждут решения, all — вся история |
| `before` | query | нет | string | Показать запросы, созданные раньше этого момента, ISO 8601 |

**Ответы**

- `200` — Запросы (`application/json`, object)
  - `actions`: массив AgentAction, обязательное — Запросы, новые первыми
    - `agentId`: string (uuid), обязательное — Агент, который просит разрешения
    - `arguments`: object, обязательное — Параметры действия
    - `closedReason`: string, nullable, обязательное — Почему запрос снят: superseded, expired или stopped
    - `conversationId`: string, nullable, обязательное — Беседа, в которой агент просил разрешения
    - `createdAt`: string, обязательное — Когда агент попросил, ISO 8601
    - `decidedAt`: string, nullable, обязательное — Когда принято решение, ISO 8601
    - `decidedVia`: string, nullable, обязательное — Где принято решение: chat, inbox или telegram
    - `decision`: "once" | "always" | null, обязательное — once — разрешено один раз, always — всегда
    - `domain`: string, обязательное — Раздел инструментов
    - `effect`: string, обязательное — read — чтение, write — изменение, irreversible — необратимое действие
    - `expiresAt`: string, обязательное — До какого момента ждёт решения, ISO 8601
    - `id`: string (uuid), обязательное — Идентификатор запроса
    - `message`: string, обязательное — Что агент собирается сделать
    - `sectionTitle`: string, nullable, обязательное — Название раздела
    - `state`: "pending" | "approved" | "rejected" | "expired" | "closed" | "used", обязательное — pending — ждёт решения, approved — разрешено, used — выполнено после разрешения, rejected — отклонено, expired — срок решения истёк, closed — снято
    - `tool`: string, обязательное — Инструмент
    - `toolTitle`: string, nullable, обязательное — Название действия
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Не авторизован
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)

    </>
  );
}
