Регистрация нового пользователя — 4 шага подряд. OTP в dev смотрите в консоли NestJS.
1. Телефон OTP 2. Email OTP 3. Подтвердить email 4. Профиль + пароль

POST /api/auth/request-code

Запросить OTP-код на телефон или email

POST /api/auth/verify-phone

Подтвердить OTP по телефону (вход или регистрация)


POST /api/auth/register/request-email-code

Шаг 2 регистрации: запросить OTP на email (только для новых пользователей)


POST /api/auth/register/verify-email

Шаг 3 регистрации: подтвердить OTP с email


POST /api/auth/complete-registration

Шаг 4: профиль и пароль (обязателен, 8–128 символов, zxcvbn + HIBP на сервере)


Email подставляется с сервера из шага 3 — в теле не передаётся.

Вход в аккаунт — OTP (без пароля) или логин + пароль (если задавали при регистрации).

POST /api/auth/request-code

Только type=phone для входа существующего пользователя

POST /api/auth/verify-phone


POST /api/auth/login

Телефон (+7…) или email + пароль. Неверные попытки — блокировка на 15 мин.

Сброс пароля — без JWT. Ответ «код отправлен» всегда нейтральный (не раскрывает наличие аккаунта).
1. request-code 2. reset + новый пароль

POST /api/auth/password/request-code

POST /api/auth/password/reset

После сброса все сессии инвалидируются — войдите заново


GET /api/users/me

Полный профиль и настройки уведомлений (lazy init preferences)

Данные профиля

Результат GET /users/me

Войдите и нажмите «Загрузить»

GET /api/users/:id

Публичный профиль (или расширенный для MODERATOR/ADMIN/SUPER_ADMIN). Опциональный JWT через чекбокс.


GET /api/auth/sessions

Активные сессии (экран «Мои устройства»)


DELETE /api/auth/sessions/:sessionId

Завершить конкретную сессию по ID


POST /api/auth/logout

Завершить текущую сессию


POST /api/auth/logout-all

Завершить все сессии пользователя

POST /api/auth/request-code (email)

Запросить OTP-код на email (для привязки — с JWT, для входа — без)

POST /api/auth/verify-email

Подтвердить email OTP (привязка с JWT или вход без JWT)


POST /api/auth/refresh

Обновить пару токенов (ротация refresh token через cookie)


Справка: все эндпоинты

Auth (15) + User (11) — покрыты вкладками панели

Auth: request-code, verify-phone, register/request-email-code, register/verify-email, complete-registration, login, password/request-code, password/reset, verify-email, refresh, logout, logout-all, sessions, DELETE sessions/:id
User: GET/PATCH me, PATCH me/notifications, avatar presigned/confirm/delete, phone request/confirm-change, delete-request + cancel (2 URL), GET :id

Текущее состояние

Access Token и данные пользователя в памяти

Access Token
JWT Payload


Ручной запрос

Отправить произвольный запрос к API