# Снова поручить задачу агенту

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

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Снова поручить задачу агенту

`POST /api/v1/tasks/{id}/agent-work`

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

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

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

| Имя | Где | Обязательный | Тип | Описание |
| --- | --- | --- | --- | --- |
| `id` | path | да | string (uuid) | Идентификатор задачи (UUID) |

**Ответы**

- `201` — Работа поставлена в очередь (`application/json`, TaskAgentWork)
  - `agentId`: string, обязательное — Агент-исполнитель
  - `attempt`: integer, обязательное — Номер подхода агента к задаче
  - `createdAt`: string, обязательное — Поставлена в очередь, ISO 8601
  - `finishedAt`: string, nullable, обязательное — Закончена, ISO 8601
  - `id`: string (uuid), обязательное — Идентификатор работы агента
  - `outcome`: "done" | "blocked" | "question" | "delegated" | "handed_off" | "failed" | null, обязательное — Итог: выполнено, остановлено, нужен ответ, ждёт подзадач, передано, не удалось; null — работа не закончена
  - `requestedBy`: string, обязательное — Участник, по чьему поручению и с чьими правами работает агент
  - `startedAt`: string, nullable, обязательное — Начата, ISO 8601
  - `status`: "queued" | "working" | "finished" | "cancelled", обязательное — Состояние работы
  - `summary`: string, nullable, обязательное — Итог работы словами агента
  - `taskId`: string, обязательное — Задача
  - `trigger`: "assigned" | "reply" | "restart" | "subtasks" | "handoff" | "changes" | "decision" | "unblocked", обязательное — Что запустило работу: назначение, ответ, повтор, закрытие подзадач, передача, возврат на правки, принятое решение
- `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)
- `503` — Ошибка (`application/problem+json`, ProblemDetails)

    </>
  );
}
