dokumentacja
API panelu użytkownika

Logowanie i sesje

Markdown

Metody, pola żądań i odpowiedzi.

Pełny przewodnik

W tej sekcji jest 14 metod. Otwórz metodę, aby zobaczyć warunki dostępu, pola żądania i odpowiedź.

Metoda i ścieżkaOpisDostęp
POST /api/v1/auth/forgot-passwordŻądanie zresetowania hasłaBez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/loginLogowanie adresem e-mail i hasłemBez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/login/2faZakończenie logowania z TOTPBez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/logoutWylogowanie i unieważnienie tokena odświeżaniaBez logowania; dodatkowe warunki podano przy metodzie
GET /api/v1/auth/meBieżący użytkownik, saldo i limityToken panelu użytkownika
POST /api/v1/auth/passkey/login/beginRozpoczęcie logowania kluczem dostępu (passkey)Bez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/passkey/login/finishZakończenie logowania kluczem dostępu (passkey)Bez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/refreshOdświeżenie tokenówBez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/registerRejestracjaBez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/reset-passwordReset hasłaBez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/revoke-all-sessionsUnieważnienie wszystkich sesjiToken panelu użytkownika
POST /api/v1/auth/send-verify-codeWysłanie kodu potwierdzającegoBez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/validate-invitation-codeWeryfikacja zaproszeniaBez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/validate-promo-codeWeryfikacja kodu promocyjnegoBez logowania; dodatkowe warunki podano przy metodzie
POST /api/v1/auth/forgot-password — Żądanie zresetowania hasła

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Limit częstotliwości: 5 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/forgot-password

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
emailstringtakrequired,email
turnstile_tokenstringnie
Szablon treści żądania
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: ForgotPasswordRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: ForgotPasswordResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

POST /api/v1/auth/login — Logowanie adresem e-mail i hasłem

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Dostępność funkcji i dodatkowe warunki dostępu są sprawdzane podczas wykonania żądania.

Limit częstotliwości: 20 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/login

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
emailstringtakrequired,email
passwordstringtakrequired
turnstile_tokenstringnie
Szablon treści żądania
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: LoginRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: TotpLoginResponse, User, AuthResponse. Pola i typy — na stronach „Schematy danych”.

Jeśli możliwych jest kilka wariantów odpowiedzi, ich pola są wymienione w osobnych schematach; nie należy łączyć ich w jeden obiekt.

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

POST /api/v1/auth/login/2fa — Zakończenie logowania z TOTP

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Dostępność funkcji i dodatkowe warunki dostępu są sprawdzane podczas wykonania żądania.

Limit częstotliwości: 20 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/login/2fa

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
temp_tokenstringtakrequired
totp_codestringtakrequired,len=6
Szablon treści żądania
{
  "temp_token": "PLACEHOLDER_TEMP_TOKEN (string)",
  "totp_code": "PLACEHOLDER_TOTP_CODE (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: Login2FARequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: User, AuthResponse. Pola i typy — na stronach „Schematy danych”.

Jeśli możliwych jest kilka wariantów odpowiedzi, ich pola są wymienione w osobnych schematach; nie należy łączyć ich w jeden obiekt.

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

POST /api/v1/auth/logout — Wylogowanie i unieważnienie tokena odświeżania

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

POST/api/v1/auth/logout

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
refresh_tokenstringnie; Opcjonalnie: unieważnij wskazany token odświeżania
Szablon treści żądania
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: LogoutRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: LogoutResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

GET /api/v1/auth/me — Bieżący użytkownik, saldo i limity

Dostęp: Token panelu użytkownika

GET/api/v1/auth/me
Odczyt; ID pochodzi z Twojej poprzedniej odpowiedzi
curl --fail-with-body "https://ailoot.ai/api/v1/auth/me" \
  -H "Authorization: Bearer $TOKEN"

Treść żądania nie jest wymagana. Przekaż wskazane powyżej parametry w URL.

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: User, UserProfileResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "email": "PLACEHOLDER_EMAIL (string)",
    "username": "PLACEHOLDER_USERNAME (string)",
    "role": "PLACEHOLDER_ROLE (string)",
    "balance": "PLACEHOLDER_BALANCE (number)",
    "frozen_balance": "PLACEHOLDER_FROZEN_BALANCE (number)",
    "concurrency": "PLACEHOLDER_CONCURRENCY (integer)",
    "status": "PLACEHOLDER_STATUS (string)",
    "last_active_at": "PLACEHOLDER_LAST_ACTIVE_AT (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
    "deleted_at": "PLACEHOLDER_DELETED_AT (string)",
    "balance_notify_enabled": "PLACEHOLDER_BALANCE_NOTIFY_ENABLED (boolean)",
    "balance_notify_threshold_type": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD_TYPE (string)",
    "balance_notify_threshold": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD (number)",
    "balance_notify_extra_emails": "PLACEHOLDER_BALANCE_NOTIFY_EXTRA_EMAILS (array)",
    "total_recharged": "PLACEHOLDER_TOTAL_RECHARGED (number)",
    "rpm_limit": "PLACEHOLDER_RPM_LIMIT (integer)",
    "api_keys": "PLACEHOLDER_API_KEYS (array)",
    "avatar_url": "PLACEHOLDER_AVATAR_URL (string)",
    "email_bound": "PLACEHOLDER_EMAIL_BOUND (boolean)"
  }
}

Cechy szczególne: Wszystkie dane osobowe i obiekty są ograniczone do podmiotu JWT.

Uwagi: limity wydatków kluczy (quota, quota_used) są zwracane w odpowiedzi z kluczami, a nie w profilu. frozen_balance to kwota zarezerwowana, nie można jej traktować jako wolnego salda.

POST /api/v1/auth/passkey/login/begin — Rozpoczęcie logowania kluczem dostępu (passkey)

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Dostępność funkcji i dodatkowe warunki dostępu są sprawdzane podczas wykonania żądania.

Limit częstotliwości: 20 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/passkey/login/begin

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
turnstile_tokenstringnie
Szablon treści żądania
{
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: PasskeyBeginLoginRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: PasskeyOptionsResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
    "options": "PLACEHOLDER_OPTIONS (any)"
  }
}

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

Uwagi: credential pochodzi z navigator.credentials; session_token z begin. Treść żądania finish <=65536 bajtów; rejestracja i usunięcie wymagają hasła.

POST /api/v1/auth/passkey/login/finish — Zakończenie logowania kluczem dostępu (passkey)

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Dostępność funkcji i dodatkowe warunki dostępu są sprawdzane podczas wykonania żądania.

Limit częstotliwości: 20 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/passkey/login/finish

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
session_tokenstringtakrequired
namestringnie
credentialobjecttakrequired
Szablon treści żądania
{
  "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
  "name": "PLACEHOLDER_NAME (string)",
  "credential": "PLACEHOLDER_CREDENTIAL (object)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: PasskeyFinishRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: User, AuthResponse. Pola i typy — na stronach „Schematy danych”.

Jeśli możliwych jest kilka wariantów odpowiedzi, ich pola są wymienione w osobnych schematach; nie należy łączyć ich w jeden obiekt.

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

Uwagi: credential pochodzi z navigator.credentials; session_token z begin. Treść żądania finish <=65536 bajtów; rejestracja i usunięcie wymagają hasła.

POST /api/v1/auth/refresh — Odświeżenie tokenów

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Dostępność funkcji i dodatkowe warunki dostępu są sprawdzane podczas wykonania żądania.

Limit częstotliwości: 30 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/refresh

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
refresh_tokenstringtakrequired
Szablon treści żądania
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: RefreshTokenRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: RefreshTokenResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "access_token": "PLACEHOLDER_ACCESS_TOKEN (string)",
    "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)",
    "expires_in": "PLACEHOLDER_EXPIRES_IN (integer)",
    "token_type": "PLACEHOLDER_TOKEN_TYPE (string)"
  }
}

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

POST /api/v1/auth/register — Rejestracja

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Limit częstotliwości: 5 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/register

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
emailstringtakrequired,email
passwordstringtakrequired,min=6
verify_codestringnie
turnstile_tokenstringnie
promo_codestringnie; Kod promocyjny rejestracji
invitation_codestringnie; Kod zaproszenia
Szablon treści żądania
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "verify_code": "PLACEHOLDER_VERIFY_CODE (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)",
  "promo_code": "PLACEHOLDER_PROMO_CODE (string)",
  "invitation_code": "PLACEHOLDER_INVITATION_CODE (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: RegisterRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: User, AuthResponse. Pola i typy — na stronach „Schematy danych”.

Jeśli możliwych jest kilka wariantów odpowiedzi, ich pola są wymienione w osobnych schematach; nie należy łączyć ich w jeden obiekt.

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

POST /api/v1/auth/reset-password — Reset hasła

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Limit częstotliwości: 10 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/reset-password

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
emailstringtakrequired,email
tokenstringtakrequired
new_passwordstringtakrequired,min=6
Szablon treści żądania
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "token": "PLACEHOLDER_TOKEN (string)",
  "new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: ResetPasswordRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: ResetPasswordResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

POST /api/v1/auth/revoke-all-sessions — Unieważnienie wszystkich sesji

Dostęp: Token panelu użytkownika

POST/api/v1/auth/revoke-all-sessions

Treść żądania nie jest wymagana.

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: RevokeAllSessionsResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Cechy szczególne: Wszystkie dane osobowe i obiekty są ograniczone do podmiotu JWT.

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

POST /api/v1/auth/send-verify-code — Wysłanie kodu potwierdzającego

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Limit częstotliwości: 5 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/send-verify-code

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
emailstringtakrequired,email
turnstile_tokenstringnie
Szablon treści żądania
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: SendVerifyCodeRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: SendVerifyCodeResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)",
    "countdown": "PLACEHOLDER_COUNTDOWN (integer)"
  }
}

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

POST /api/v1/auth/validate-invitation-code — Weryfikacja zaproszenia

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Dostępność funkcji i dodatkowe warunki dostępu są sprawdzane podczas wykonania żądania.

Limit częstotliwości: 10 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/validate-invitation-code

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
codestringtakrequired
Szablon treści żądania
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: ValidateInvitationCodeRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: ValidateInvitationCodeResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "valid": "PLACEHOLDER_VALID (boolean)",
    "error_code": "PLACEHOLDER_ERROR_CODE (string)"
  }
}

Cechy: Metoda sprawdza zaproszenie i nie zużywa kodu; przykład opisuje kontrakt API i nie jest wykonywany.

POST /api/v1/auth/validate-promo-code — Weryfikacja kodu promocyjnego

Dostęp: Bez logowania; dodatkowe warunki podano przy metodzie

Dostępność funkcji i dodatkowe warunki dostępu są sprawdzane podczas wykonania żądania.

Limit częstotliwości: 10 żądań w ciągu 60 sekund z jednego adresu.

POST/api/v1/auth/validate-promo-code

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
codestringtakrequired
Szablon treści żądania
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: ValidatePromoCodeRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: ValidatePromoCodeResponse. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "valid": "PLACEHOLDER_VALID (boolean)",
    "bonus_amount": "PLACEHOLDER_BONUS_AMOUNT (number)",
    "error_code": "PLACEHOLDER_ERROR_CODE (string)",
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Cechy: Metoda sprawdza kod promocyjny i nie nalicza bonusu; przykład opisuje kontrakt API i nie jest wykonywany.

Logowanie i sesje · 2FA

POST /api/v1/auth/login → data

  • data.requires_2fa === true → TotpLoginResponse → data.temp_token → POST /api/v1/auth/login/2fa · {"temp_token": "…", "totp_code": "…"} → data.access_token
  • data.access_token → AuthResponse → Authorization: Bearer $TOKEN

totp_code: string, len = 6. temp_token ≠ access_token. User

Dodatkowe pytania? Prześlij Request ID i opis — pomożemy wyjaśnić sprawę.Napisz do wsparcia