# Обновить настройки уведомлений пользователя

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Обновить настройки уведомлений пользователя

`PUT /api/v1/calendar/notifications/preferences`

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

**Тело запроса** (`application/json`, обязательное): NotificationPreferencesUpdate
- `channels`: массив object — Обновляемые каналы
  - `email`: boolean, обязательное — Отправлять на email
  - `kind`: string, обязательное — Тип уведомления, например event_reminder
  - `telegram`: boolean, обязательное — Отправлять в Telegram
- `settings`: object — Обновляемые настройки
  - `digest`: "off" | "daily" | "weekly" — Дайджест: выключен, ежедневный или еженедельный
  - `digestMinutes`: integer, nullable — Время отправки дайджеста, минут от полуночи
  - `digestWeekday`: integer, nullable — День недели дайджеста, 0 — воскресенье
  - `quietEndMinutes`: integer, nullable — Конец тихих часов, минут от полуночи
  - `quietStartMinutes`: integer, nullable — Начало тихих часов, минут от полуночи; null — не заданы
  - `teamDigest`: "off" | "daily" | "weekly" — Сводка по команде для руководителей: выключена, по рабочим дням или еженедельная
  - `timezone`: string, nullable — Часовой пояс IANA

**Ответы**

- `200` — Настройки уведомлений (`application/json`, NotificationPreferences)
  - `channels`: массив object, обязательное — Каналы по типам уведомлений
    - `email`: boolean, обязательное — Отправлять на email
    - `kind`: string, обязательное — Тип уведомления, например event_reminder
    - `telegram`: boolean, обязательное — Отправлять в Telegram
  - `settings`: object, обязательное
    - `digest`: "off" | "daily" | "weekly", обязательное — Дайджест: выключен, ежедневный или еженедельный
    - `digestMinutes`: integer, nullable, обязательное — Время отправки дайджеста, минут от полуночи
    - `digestWeekday`: integer, nullable, обязательное — День недели дайджеста, 0 — воскресенье
    - `quietEndMinutes`: integer, nullable, обязательное — Конец тихих часов, минут от полуночи
    - `quietStartMinutes`: integer, nullable, обязательное — Начало тихих часов, минут от полуночи; null — не заданы
    - `teamDigest`: "off" | "daily" | "weekly", обязательное — Сводка по команде для руководителей: выключена, по рабочим дням или еженедельная
    - `timezone`: string, nullable, обязательное — Часовой пояс IANA
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)

    </>
  );
}
