# Заблокировать задачу: ждём шага от участника

> Отмечает задачу заблокированной и называет ответственного, без шага которого работа не продолжится. Ответственный получает уведомление; когда он снимает блокировку, исполнители узнают об этом, а агент-исполнитель продолжает работу сам.

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Заблокировать задачу: ждём шага от участника

`PUT /api/v1/tasks/{id}/block`

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

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

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

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

**Тело запроса** (`application/json`, обязательное): TaskBlockRequest
- `reason`: string, обязательное — Чего не хватает и от кого
- `userId`: string (uuid), обязательное — Кто должен сделать шаг, чтобы работа продолжилась

**Ответы**

- `204` — Задача заблокирована
- `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)

    </>
  );
}
