Аутентификация API

Способы аутентификации

Bearer Token (сессия)

После входа через /api/auth/login вы получаете токен сессии:

curl -X POST https://your-server/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com", "password": "secret"}'

Ответ:

{
  "token": "sess_abc123...",
  "expiresAt": "2026-04-19T12:00:00Z",
  "user": { "id": 1, "displayName": "User", "email": "user@example.com" }
}

Используйте токен в заголовке:

Authorization: Bearer sess_abc123...

API-ключ

Создайте ключ в Настройки > API-ключи. Формат: ak_...

Authorization: Bearer ak_your_key_here

API-ключи удобнее для автоматизации — не истекают по неактивности.

Двухфакторная аутентификация

Если у пользователя включён 2FA, /api/auth/login вернёт:

{
  "require2fa": true,
  "ticket": "2fa_ticket_..."
}

Отправьте TOTP-код на /api/auth/2fa/verify:

curl -X POST https://your-server/api/auth/2fa/verify \
  -H "Content-Type: application/json" \
  -d '{"ticket": "2fa_ticket_...", "code": "123456"}'

Выход

curl -X POST https://your-server/api/auth/logout \
  -H "Authorization: Bearer sess_abc123..."