Skip to content
API находится в стадии beta и может измениться без предварительного уведомления.

Регистрация

HitKey использует 3-шаговый процесс регистрации с верификацией email.

Обзор

mermaid
sequenceDiagram
    participant U as Пользователь
    participant A as HitKey API
    participant E as Email

    U->>A: POST /auth/register/start {email}
    A->>E: Отправка 6-значного кода
    A->>U: 200 OK

    U->>A: POST /auth/register/verify {email, code}
    A->>U: 200 OK (email верифицирован)

    U->>A: POST /auth/register/password {email, password}
    A->>U: Bearer токен (автологин)

Шаг 1: Начало регистрации

bash
curl -X POST https://api.hitkey.io/auth/register/start \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'

На email отправляется 6-значный код верификации.

Свойства кода:

  • Действителен 10 минут
  • Максимум 3 попытки верификации
  • Повторная отправка через 60 секунд

Шаг 2: Верификация email

bash
curl -X POST https://api.hitkey.io/auth/register/verify \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com", "code": "123456"}'

Ошибки:

КодОписание
INVALID_CODEНеверный код
CODE_EXPIREDКод истёк (10 мин)
TOO_MANY_ATTEMPTS3 неудачных попытки — запросите новый код
NO_CODEНет ожидающей верификации для этого email
EMAIL_ALREADY_VERIFIEDEmail уже верифицирован

Шаг 3: Установка пароля

bash
curl -X POST https://api.hitkey.io/auth/register/password \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "secure_password"
  }'

При успехе пользователь автоматически входит и получает Bearer токен:

Ответ 200:

json
{
  "message": "Registration completed",
  "type": "bearer",
  "token": "hitkey_...",
  "refresh_token": "a1b2c3d4e5f6...",
  "expires_in": 3600,
  "user": {
    "id": "uuid",
    "email": "user@example.com",
    "displayName": "user"
  }
}

Повторная отправка кода

bash
curl -X POST https://api.hitkey.io/auth/register/resend \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'

Кулдаун

Повторная отправка имеет кулдаун 60 секунд. На фронтенде рекомендуется показывать таймер обратного отсчёта.

Регистрация по приглашению

Пользователи, приглашённые в проект, могут зарегистрироваться в один шаг:

bash
curl -X POST https://api.hitkey.io/auth/register/with-invite \
  -H "Content-Type: application/json" \
  -d '{
    "invite_token": "INVITE_TOKEN",
    "email": "user@example.com",
    "password": "secure_password"
  }'

Верификация email пропускается (приглашение служит подтверждением), и пользователь автоматически добавляется в проект.

Ответ 200:

json
{
  "token": "hitkey_...",
  "refresh_token": "a1b2c3d4e5f6...",
  "expires_in": 3600,
  "user": {
    "id": "uuid",
    "email": "user@example.com",
    "displayName": "user"
  },
  "project_slug": "my-app",
  "redirect_url": "https://myapp.com/welcome"
}

HitKey Service License.