# Смена пароля

export default function Layout(props) {
  const { OpenAPIPage } = props.components ?? {};
  return (
    <>
      {props.children}
      ## Смена пароля

`PUT /api/v1/security/auth/change-password`

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

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

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

**Тело запроса** (`application/json`, обязательное): ChangePasswordBody
- `currentPassword`: string, обязательное — Текущий пароль
- `newPassword`: string, обязательное — Новый пароль: 15–128 символов, проверяется на стойкость и утечки

**Ответы**

- `200` — Пароль изменён, выдан новый access-токен (`application/json`, ChangePasswordResult)
  - `accessToken`: string, обязательное — Новый JWT access-токен; прежние сессии отозваны
  - `message`: string, обязательное — Подтверждение смены пароля
  - `session`: Session, обязательное — Кто вошёл и в какой команде; меняется только новым входом или сменой команды
    - `teamId`: string, обязательное — Команда, в которой действует сессия
    - `userId`: string, обязательное — Пользователь сессии
- `400` — Некорректный запрос: не прошла валидация параметров или тела (`application/problem+json`, ProblemDetails)
- `401` — Токен отсутствует, недействителен или истёк (`application/problem+json`, ProblemDetails)
- `403` — Недостаточно прав или scope (`application/problem+json`, ProblemDetails)
- `429` — Превышен лимит запросов, повторите через Retry-After секунд (`application/problem+json`, ProblemDetails)

    </>
  );
}
