# Ответить на приглашение (RSVP)

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Ответить на приглашение (RSVP)

`POST /api/v1/calendar/events/{id}/rsvp`

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

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

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

**Тело запроса** (`application/json`, обязательное): CalendarRsvpBody
- `occurrenceStart`: string — Начало вхождения серии, ISO 8601
- `scope`: "this" | "all" — Для повторяющихся: одно вхождение или вся серия
- `status`: "accepted" | "declined" | "tentative", обязательное — Ответ: accepted — приду, declined — не приду, tentative — возможно

**Ответы**

- `200` — Ответ сохранён (`application/json`, CalendarEvent)
  - `allDay`: boolean — Событие на весь день
  - `createdBy`: string — Организатор
  - `description`: string, nullable — Описание
  - `endDate`: string, nullable — Окончание, ISO 8601
  - `id`: string, обязательное — Идентификатор события
  - `location`: string, nullable — Место проведения
  - `participants`: массив object — Участники с их RSVP-статусами
  - `rrule`: string, nullable — Правило повторения RRULE
  - `startDate`: string, обязательное — Начало, ISO 8601
  - `timezone`: string, nullable — Часовой пояс IANA
  - `title`: string, обязательное — Название события
  - `visibility`: string — Видимость: public, private, confidential
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)

    </>
  );
}
