POST /api/v1/auth/login

Вход, выдача пары JWT.

Base URL: https://<host>/ (пример: http://localhost:5000). Соглашения, обзор Public API, Swagger UI.

Аутентификация: None

Тело запроса:

ПолеТипОбяз.Описание
usernamestringда
passwordstringда
mfa_codestringнетTOTP при включённом MFA

Response 200 — data:

ПолеТипОписание
access_tokenstringJWT access
токен обновленияstringJWT refresh
token_typestring"Bearer"
expires_inintTTL access token (сек)
mfa_requiredbooltrue если нужен второй фактор

Error codes: invalid_credentials, email_not_verified, account_locked, ip_locked, mfa_required, mfa_invalid, rate_limited, public_api_blocked

Заголовки запроса

ЗаголовокОбяз.Описание
Content-Typeдаapplication/json

Минимальный пример запроса

{
  "username": "demo",
  "password": "DemoPass1"
}

Пример успешного ответа

{
  "success": true,
  "data": {
    "access_token": "eyJhbG...",
    "refresh_token": "eyJhbG...",
    "token_type": "Bearer",
    "expires_in": 3600,
    "mfa_required": false
  }
}

Пример ошибки

{
  "success": false,
  "error": {
    "code": "invalid_credentials",
    "message": "Invalid username or password"
  }
}

Пример curl

curl -X POST http://localhost:5000/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"demo","password":"DemoPass1"}'

См. также: Коды ошибок Auth.