# Изменить регулярную задачу

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

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Изменить регулярную задачу

`PATCH /api/v1/tasks/recurrences/{id}`

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

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

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

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

**Тело запроса** (`application/json`, обязательное): object
- `acceptance`: string, nullable — Критерии приёмки
- `assignees`: массив object или object — Исполнители будущих задач: люди и агент
- `description`: string, nullable — Описание будущих задач
- `goal`: string, nullable — Цель
- `leadDays`: integer — За сколько дней до срока создавать задачу; 0 — в день срока
- `observers`: массив object — Наблюдатели
  - `observerId`: string, обязательное — Идентификатор наблюдателя
  - `observerName`: string, обязательное — Отображаемое имя наблюдателя
- `priority`: "low" | "medium" | "high" | "urgent" — Приоритет задачи
- `rrule`: string — Правило повторения RRULE (RFC 5545) без DTSTART, как у событий календаря: FREQ=DAILY\|WEEKLY\|MONTHLY\|YEARLY, INTERVAL, BYDAY, UNTIL, COUNT. Даты повторов — сроки задач
- `startsOn`: string — Срок первой задачи — точка отсчёта повторов, YYYY-MM-DD
- `state`: "active" | "paused" — active — возобновить правило, paused — поставить на паузу
- `tags`: массив string — Теги
- `taskType`: string, nullable — Тип задачи
- `timezone`: string — Часовой пояс команды, IANA
- `title`: string — Название будущих задач

**Ответы**

- `200` — Изменено (`application/json`, TaskRecurrence)
  - `acceptance`: string, nullable, обязательное — Критерии приёмки
  - `assignees`: массив object или object, обязательное — Исполнители будущих задач
  - `createdAt`: string, обязательное — Создано, ISO 8601
  - `createdBy`: string, обязательное — Автор правила; от его имени создаются задачи
  - `createdCount`: integer, обязательное — Сколько задач уже создано
  - `description`: string, nullable, обязательное — Описание
  - `goal`: string, nullable, обязательное — Цель
  - `id`: string (uuid), обязательное — Идентификатор регулярной задачи
  - `lastCreatedAt`: string, nullable, обязательное — Когда создана последняя задача, ISO 8601
  - `lastDueOn`: string, nullable, обязательное — Срок последней созданной задачи, YYYY-MM-DD
  - `leadDays`: integer, обязательное — За сколько дней до срока создаётся задача; 0 — в день срока
  - `nextCreateAt`: string, nullable, обязательное — Когда появится следующая задача, ISO 8601
  - `nextDueOn`: string, nullable, обязательное — Срок следующей задачи, YYYY-MM-DD; null — повторы закончились
  - `observers`: массив object, обязательное — Наблюдатели
    - `observerId`: string, обязательное — Идентификатор наблюдателя
    - `observerName`: string, обязательное — Отображаемое имя наблюдателя
  - `priority`: "low" | "medium" | "high" | "urgent", обязательное — Приоритет задачи
  - `rrule`: string, обязательное — Правило повторения RRULE, как у событий календаря; даты повторов — сроки задач
  - `startsOn`: string, обязательное — Срок первой задачи, YYYY-MM-DD
  - `state`: "active" | "paused" | "finished", обязательное — active — задачи создаются по правилу, paused — правило на паузе, finished — повторы закончились
  - `tags`: массив string, обязательное — Теги
  - `taskType`: string, nullable, обязательное — Тип задачи
  - `teamId`: string, обязательное — Команда
  - `timezone`: string, обязательное — Часовой пояс команды
  - `title`: string, обязательное — Название будущих задач
  - `upcoming`: массив string, обязательное — Сроки ближайших задач, YYYY-MM-DD; пусто на паузе и после окончания
  - `updatedAt`: string, обязательное — Обновлено, ISO 8601
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)
- `404` — Ресурс не найден (`application/problem+json`, ProblemDetails)

    </>
  );
}
