# Обновить профиль

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Обновить профиль

`PUT /api/v1/security/auth/profile`

**Авторизация:** dpop

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

| Имя | Где | Обязательный | Тип | Описание |
| --- | --- | --- | --- | --- |
| `idempotency-key` | header | нет | string | Ключ идемпотентности для безопасного повтора запроса: 8–255 символов из набора A-Za-z0-9_.:+/=-, ответ кэшируется на 24 ч |

**Тело запроса** (`application/json`, обязательное): UpdateProfileBody
- `currentPassword`: string — Текущий пароль; обязателен при смене email
- `email`: string — Новый email; смена подтверждается письмом на новый адрес
- `firstName`: string — Новое имя
- `lastName`: string — Новая фамилия
- `timezone`: string — Часовой пояс IANA, например Europe/Moscow

**Ответы**

- `200` — Профиль обновлён (`application/json`, UpdateProfileResult)
  - `email`: string, обязательное — Действующий email (меняется только после подтверждения нового)
  - `firstName`: string, обязательное — Имя
  - `id`: string, обязательное — Идентификатор пользователя
  - `lastName`: string, обязательное — Фамилия
  - `message`: string — Присутствует при запросе смены email: отправлено письмо-подтверждение
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)
- `429` — Превышен лимит запросов, повторите через Retry-After секунд (`application/problem+json`, ProblemDetails)

    </>
  );
}
