docs
API des Kundenbereichs

Anmeldung und Sitzungen

Markdown

Methoden, Anfragefelder und Antworten.

Vollständiger Leitfaden

Dieser Bereich enthält 14 Methoden. Öffnen Sie eine Methode, um Zugriffsbedingungen, Anfragefelder und Antwort einzusehen.

Methode und PfadBeschreibungZugriff
POST /api/v1/auth/forgot-passwordPasswortzurücksetzung anfordernOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/loginAnmeldung mit E-Mail-Adresse und PasswortOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/login/2faAnmeldung mit TOTP abschliessenOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/logoutAbmelden und Refresh-Token widerrufenOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
GET /api/v1/auth/meAktueller Benutzer, Guthaben und LimitsToken des Kundenbereichs
POST /api/v1/auth/passkey/login/beginAnmeldung mit Passkey startenOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/passkey/login/finishAnmeldung mit Passkey abschliessenOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/refreshTokens erneuernOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/registerRegistrierenOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/reset-passwordPasswort zurücksetzenOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/revoke-all-sessionsAlle Sitzungen widerrufenToken des Kundenbereichs
POST /api/v1/auth/send-verify-codeBestätigungscode sendenOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/validate-invitation-codeEinladung prüfenOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/validate-promo-codePromocode prüfenOhne Anmeldung; zusätzliche Bedingungen stehen bei der Methode
POST /api/v1/auth/forgot-password — Passwortzurücksetzung anfordern

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Ratenlimit: 5 Anfragen pro 60 Sekunden von derselben Adresse.

POST/api/v1/auth/forgot-password

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
emailstringjarequired,email
turnstile_tokenstringnein
Vorlage für den Anfragekörper
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: ForgotPasswordRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: ForgotPasswordResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

POST /api/v1/auth/login — Anmeldung mit E-Mail-Adresse und Passwort

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Funktionsverfügbarkeit und zusätzliche Zugriffsbedingungen werden beim Ausführen der Anfrage geprüft.

Ratenlimit: 20 Anfragen pro 60 Sekunden von derselben Adresse.

POST/api/v1/auth/login

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
emailstringjarequired,email
passwordstringjarequired
turnstile_tokenstringnein
Vorlage für den Anfragekörper
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: LoginRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: TotpLoginResponse, User, AuthResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Sind mehrere Antwortvarianten möglich, werden ihre Felder in separaten Schemata aufgeführt; sie dürfen nicht zu einem einzigen Objekt zusammengeführt werden.

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

POST /api/v1/auth/login/2fa — Anmeldung mit TOTP abschliessen

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Funktionsverfügbarkeit und zusätzliche Zugriffsbedingungen werden beim Ausführen der Anfrage geprüft.

Ratenlimit: 20 Anfragen pro 60 Sekunden von derselben Adresse.

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

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
temp_tokenstringjarequired
totp_codestringjarequired,len=6
Vorlage für den Anfragekörper
{
  "temp_token": "PLACEHOLDER_TEMP_TOKEN (string)",
  "totp_code": "PLACEHOLDER_TOTP_CODE (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: Login2FARequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: User, AuthResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Sind mehrere Antwortvarianten möglich, werden ihre Felder in separaten Schemata aufgeführt; sie dürfen nicht zu einem einzigen Objekt zusammengeführt werden.

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

POST /api/v1/auth/logout — Abmelden und Refresh-Token widerrufen

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

POST/api/v1/auth/logout

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
refresh_tokenstringnein; Optional: angegebenes Refresh-Token widerrufen
Vorlage für den Anfragekörper
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: LogoutRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: LogoutResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

GET /api/v1/auth/me — Aktueller Benutzer, Guthaben und Limits

Zugriff: Token des Kundenbereichs

GET/api/v1/auth/me
Lesezugriff; die ID stammt aus Ihrer vorherigen Antwort
curl --fail-with-body "https://ailoot.ai/api/v1/auth/me" \
  -H "Authorization: Bearer $TOKEN"

Kein Anfragekörper erforderlich. Übermitteln Sie die oben genannten Parameter in der URL.

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: User, UserProfileResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "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)"
  }
}

Besonderheiten: Alle personenbezogenen Daten und Objekte sind auf das Subjekt des JWT beschränkt.

Besonderheiten: Ausgabenlimits von Schlüsseln (quota, quota_used) stehen in der Schlüsselantwort, nicht im Profil. frozen_balance ist der reservierte Betrag und darf nicht als frei verfügbares Guthaben betrachtet werden.

POST /api/v1/auth/passkey/login/begin — Anmeldung mit Passkey starten

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Funktionsverfügbarkeit und zusätzliche Zugriffsbedingungen werden beim Ausführen der Anfrage geprüft.

Ratenlimit: 20 Anfragen pro 60 Sekunden von derselben Adresse.

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

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
turnstile_tokenstringnein
Vorlage für den Anfragekörper
{
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: PasskeyBeginLoginRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: PasskeyOptionsResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "code": 0,
  "message": "success",
  "data": {
    "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
    "options": "PLACEHOLDER_OPTIONS (any)"
  }
}

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

Besonderheiten: credential stammt aus navigator.credentials; session_token aus begin. Finish body <=65536 Byte; Registrierung und Löschung erfordern ein Passwort.

POST /api/v1/auth/passkey/login/finish — Anmeldung mit Passkey abschliessen

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Funktionsverfügbarkeit und zusätzliche Zugriffsbedingungen werden beim Ausführen der Anfrage geprüft.

Ratenlimit: 20 Anfragen pro 60 Sekunden von derselben Adresse.

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

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
session_tokenstringjarequired
namestringnein
credentialobjectjarequired
Vorlage für den Anfragekörper
{
  "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
  "name": "PLACEHOLDER_NAME (string)",
  "credential": "PLACEHOLDER_CREDENTIAL (object)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: PasskeyFinishRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: User, AuthResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Sind mehrere Antwortvarianten möglich, werden ihre Felder in separaten Schemata aufgeführt; sie dürfen nicht zu einem einzigen Objekt zusammengeführt werden.

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

Besonderheiten: credential stammt aus navigator.credentials; session_token aus begin. Finish body <=65536 Byte; Registrierung und Löschung erfordern ein Passwort.

POST /api/v1/auth/refresh — Tokens erneuern

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Funktionsverfügbarkeit und zusätzliche Zugriffsbedingungen werden beim Ausführen der Anfrage geprüft.

Ratenlimit: 30 Anfragen pro 60 Sekunden von derselben Adresse.

POST/api/v1/auth/refresh

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
refresh_tokenstringjarequired
Vorlage für den Anfragekörper
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: RefreshTokenRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: RefreshTokenResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "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)"
  }
}

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

POST /api/v1/auth/register — Registrieren

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Ratenlimit: 5 Anfragen pro 60 Sekunden von derselben Adresse.

POST/api/v1/auth/register

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
emailstringjarequired,email
passwordstringjarequired,min=6
verify_codestringnein
turnstile_tokenstringnein
promo_codestringnein; Promocode für die Registrierung
invitation_codestringnein; Einladungscode
Vorlage für den Anfragekörper
{
  "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 steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: RegisterRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: User, AuthResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Sind mehrere Antwortvarianten möglich, werden ihre Felder in separaten Schemata aufgeführt; sie dürfen nicht zu einem einzigen Objekt zusammengeführt werden.

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

POST /api/v1/auth/reset-password — Passwort zurücksetzen

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Ratenlimit: 10 Anfragen pro 60 Sekunden von derselben Adresse.

POST/api/v1/auth/reset-password

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
emailstringjarequired,email
tokenstringjarequired
new_passwordstringjarequired,min=6
Vorlage für den Anfragekörper
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "token": "PLACEHOLDER_TOKEN (string)",
  "new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: ResetPasswordRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: ResetPasswordResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

POST /api/v1/auth/revoke-all-sessions — Alle Sitzungen widerrufen

Zugriff: Token des Kundenbereichs

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

Kein Anfragekörper erforderlich.

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: RevokeAllSessionsResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Besonderheiten: Alle personenbezogenen Daten und Objekte sind auf das Subjekt des JWT beschränkt.

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

POST /api/v1/auth/send-verify-code — Bestätigungscode senden

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Ratenlimit: 5 Anfragen pro 60 Sekunden von derselben Adresse.

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

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
emailstringjarequired,email
turnstile_tokenstringnein
Vorlage für den Anfragekörper
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: SendVerifyCodeRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: SendVerifyCodeResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)",
    "countdown": "PLACEHOLDER_COUNTDOWN (integer)"
  }
}

Besonderheiten: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

POST /api/v1/auth/validate-invitation-code — Einladung prüfen

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Funktionsverfügbarkeit und zusätzliche Zugriffsbedingungen werden beim Ausführen der Anfrage geprüft.

Ratenlimit: 10 Anfragen pro 60 Sekunden von derselben Adresse.

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

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
codestringjarequired
Vorlage für den Anfragekörper
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: ValidateInvitationCodeRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: ValidateInvitationCodeResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "code": 0,
  "message": "success",
  "data": {
    "valid": "PLACEHOLDER_VALID (boolean)",
    "error_code": "PLACEHOLDER_ERROR_CODE (string)"
  }
}

Besonderheiten: Die Methode prüft die Einladung und löst den Code nicht ein; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

POST /api/v1/auth/validate-promo-code — Promocode prüfen

Zugriff: Ohne Anmeldung; zusätzliche Bedingungen stehen bei der Methode

Funktionsverfügbarkeit und zusätzliche Zugriffsbedingungen werden beim Ausführen der Anfrage geprüft.

Ratenlimit: 10 Anfragen pro 60 Sekunden von derselben Adresse.

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

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
codestringjarequired
Vorlage für den Anfragekörper
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: ValidatePromoCodeRequest

Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den folgenden Schemata beschrieben.

Datenschemata der Antwort: ValidatePromoCodeResponse. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten
{
  "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)"
  }
}

Besonderheiten: Die Methode prüft den Promocode und schreibt keinen Bonus gut; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

Anmeldung und Sitzungen · 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

Noch Fragen? Schicken Sie uns die Request ID und eine Beschreibung — wir helfen Ihnen weiter.Support kontaktieren