dokumentation
Kontrolpanelets API

Login og sessioner

Markdown

Metoder, anmodningsfelter og svar.

Komplet guide

Afsnittet indeholder 14 metoder. Åbn en metode for at se adgangsbetingelser, anmodningsfelter og svar.

Metode og stiBeskrivelseAdgang
POST /api/v1/auth/forgot-passwordAnmodning om nulstilling af adgangskodeUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/loginLogin med e-mail og adgangskodeUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/login/2faFuldførelse af login med TOTPUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/logoutLogout og tilbagekaldelse af refresh tokenUden login; yderligere betingelser fremgår af metoden
GET /api/v1/auth/meAktuel bruger, saldo og grænserKontrolpanelets token
POST /api/v1/auth/passkey/login/beginStart af login med passkeyUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/passkey/login/finishFuldførelse af login med passkeyUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/refreshFornyelse af tokensUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/registerOpret kontoUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/reset-passwordNulstilling af adgangskodeUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/revoke-all-sessionsTilbagekaldelse af alle sessionerKontrolpanelets token
POST /api/v1/auth/send-verify-codeAfsendelse af bekræftelseskodeUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/validate-invitation-codeValidering af invitationUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/validate-promo-codeValidering af kampagnekodeUden login; yderligere betingelser fremgår af metoden
POST /api/v1/auth/forgot-password — Anmodning om nulstilling af adgangskode

Adgang: Uden login; yderligere betingelser fremgår af metoden

Frekvensgrænse: 5 anmodninger på 60 sekunder fra én adresse.

POST/api/v1/auth/forgot-password

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
emailstringjarequired,email
turnstile_tokenstringnej
Skabelon til anmodningens indhold
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: ForgotPasswordRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: ForgotPasswordResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

POST /api/v1/auth/login — Login med e-mail og adgangskode

Adgang: Uden login; yderligere betingelser fremgår af metoden

Funktionens tilgængelighed og yderligere adgangsbetingelser kontrolleres, når anmodningen udføres.

Frekvensgrænse: 20 anmodninger på 60 sekunder fra én adresse.

POST/api/v1/auth/login

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
emailstringjarequired,email
passwordstringjarequired
turnstile_tokenstringnej
Skabelon til anmodningens indhold
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: LoginRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: TotpLoginResponse, User, AuthResponse. Felter og typer findes på siderne »Dataskemaer«.

Hvis der er flere mulige svarvarianter, er deres felter angivet i separate skemaer; de skal ikke samles i ét objekt.

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

POST /api/v1/auth/login/2fa — Fuldførelse af login med TOTP

Adgang: Uden login; yderligere betingelser fremgår af metoden

Funktionens tilgængelighed og yderligere adgangsbetingelser kontrolleres, når anmodningen udføres.

Frekvensgrænse: 20 anmodninger på 60 sekunder fra én adresse.

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

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
temp_tokenstringjarequired
totp_codestringjarequired,len=6
Skabelon til anmodningens indhold
{
  "temp_token": "PLACEHOLDER_TEMP_TOKEN (string)",
  "totp_code": "PLACEHOLDER_TOTP_CODE (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: Login2FARequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: User, AuthResponse. Felter og typer findes på siderne »Dataskemaer«.

Hvis der er flere mulige svarvarianter, er deres felter angivet i separate skemaer; de skal ikke samles i ét objekt.

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

POST /api/v1/auth/logout — Logout og tilbagekaldelse af refresh token

Adgang: Uden login; yderligere betingelser fremgår af metoden

POST/api/v1/auth/logout

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
refresh_tokenstringnej; Valgfrit: tilbagekald det angivne fornyelsestoken
Skabelon til anmodningens indhold
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: LogoutRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: LogoutResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

GET /api/v1/auth/me — Aktuel bruger, saldo og grænser

Adgang: kontrolpanelets token

GET/api/v1/auth/me
Læsning; ID hentes fra dit tidligere svar
curl --fail-with-body "https://ailoot.ai/api/v1/auth/me" \
  -H "Authorization: Bearer $TOKEN"

Anmodningens indhold er ikke nødvendigt. Send de ovenstående parametre i URL'en.

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: User, UserProfileResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "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)"
  }
}

Bemærk: Alle personoplysninger og objekter er afgrænset til JWT-subjektet.

Bemærk: Nøglernes forbrugsgrænser (quota, quota_used) returneres i nøglesvaret, ikke i profilen. frozen_balance er det reserverede beløb og må ikke betragtes som ledig saldo.

POST /api/v1/auth/passkey/login/begin — Start af login med passkey

Adgang: Uden login; yderligere betingelser fremgår af metoden

Funktionens tilgængelighed og yderligere adgangsbetingelser kontrolleres, når anmodningen udføres.

Frekvensgrænse: 20 anmodninger på 60 sekunder fra én adresse.

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

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
turnstile_tokenstringnej
Skabelon til anmodningens indhold
{
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: PasskeyBeginLoginRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: PasskeyOptionsResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "code": 0,
  "message": "success",
  "data": {
    "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
    "options": "PLACEHOLDER_OPTIONS (any)"
  }
}

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

Bemærk: credential hentes fra navigator.credentials; session_token fra begin. Indholdet i finish-anmodningen <=65536 bytes; registrering og sletning kræver adgangskode.

POST /api/v1/auth/passkey/login/finish — Fuldførelse af login med passkey

Adgang: Uden login; yderligere betingelser fremgår af metoden

Funktionens tilgængelighed og yderligere adgangsbetingelser kontrolleres, når anmodningen udføres.

Frekvensgrænse: 20 anmodninger på 60 sekunder fra én adresse.

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

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
session_tokenstringjarequired
namestringnej
credentialobjectjarequired
Skabelon til anmodningens indhold
{
  "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
  "name": "PLACEHOLDER_NAME (string)",
  "credential": "PLACEHOLDER_CREDENTIAL (object)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: PasskeyFinishRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: User, AuthResponse. Felter og typer findes på siderne »Dataskemaer«.

Hvis der er flere mulige svarvarianter, er deres felter angivet i separate skemaer; de skal ikke samles i ét objekt.

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

Bemærk: credential hentes fra navigator.credentials; session_token fra begin. Indholdet i finish-anmodningen <=65536 bytes; registrering og sletning kræver adgangskode.

POST /api/v1/auth/refresh — Fornyelse af tokens

Adgang: Uden login; yderligere betingelser fremgår af metoden

Funktionens tilgængelighed og yderligere adgangsbetingelser kontrolleres, når anmodningen udføres.

Frekvensgrænse: 30 anmodninger på 60 sekunder fra én adresse.

POST/api/v1/auth/refresh

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
refresh_tokenstringjarequired
Skabelon til anmodningens indhold
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: RefreshTokenRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: RefreshTokenResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "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)"
  }
}

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

POST /api/v1/auth/register — Oprettelse af konto

Adgang: Uden login; yderligere betingelser fremgår af metoden

Frekvensgrænse: 5 anmodninger på 60 sekunder fra én adresse.

POST/api/v1/auth/register

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
emailstringjarequired,email
passwordstringjarequired,min=6
verify_codestringnej
turnstile_tokenstringnej
promo_codestringnej; Kampagnekode til registrering
invitation_codestringnej; Invitationskode
Skabelon til anmodningens indhold
{
  "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 angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: RegisterRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: User, AuthResponse. Felter og typer findes på siderne »Dataskemaer«.

Hvis der er flere mulige svarvarianter, er deres felter angivet i separate skemaer; de skal ikke samles i ét objekt.

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

POST /api/v1/auth/reset-password — Nulstilling af adgangskode

Adgang: Uden login; yderligere betingelser fremgår af metoden

Frekvensgrænse: 10 anmodninger på 60 sekunder fra én adresse.

POST/api/v1/auth/reset-password

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
emailstringjarequired,email
tokenstringjarequired
new_passwordstringjarequired,min=6
Skabelon til anmodningens indhold
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "token": "PLACEHOLDER_TOKEN (string)",
  "new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: ResetPasswordRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: ResetPasswordResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

POST /api/v1/auth/revoke-all-sessions — Tilbagekaldelse af alle sessioner

Adgang: kontrolpanelets token

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

Anmodningens indhold er ikke nødvendigt.

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: RevokeAllSessionsResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Bemærk: Alle personoplysninger og objekter er afgrænset til JWT-subjektet.

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

POST /api/v1/auth/send-verify-code — Afsendelse af bekræftelseskode

Adgang: Uden login; yderligere betingelser fremgår af metoden

Frekvensgrænse: 5 anmodninger på 60 sekunder fra én adresse.

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

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
emailstringjarequired,email
turnstile_tokenstringnej
Skabelon til anmodningens indhold
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: SendVerifyCodeRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: SendVerifyCodeResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)",
    "countdown": "PLACEHOLDER_COUNTDOWN (integer)"
  }
}

Bemærk: Handlingen ændrer tilstanden eller fortsætter en engangsautorisation; eksemplet beskriver kontrakten og udføres ikke.

POST /api/v1/auth/validate-invitation-code — Validering af invitation

Adgang: Uden login; yderligere betingelser fremgår af metoden

Funktionens tilgængelighed og yderligere adgangsbetingelser kontrolleres, når anmodningen udføres.

Frekvensgrænse: 10 anmodninger på 60 sekunder fra én adresse.

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

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
codestringjarequired
Skabelon til anmodningens indhold
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: ValidateInvitationCodeRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: ValidateInvitationCodeResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "code": 0,
  "message": "success",
  "data": {
    "valid": "PLACEHOLDER_VALID (boolean)",
    "error_code": "PLACEHOLDER_ERROR_CODE (string)"
  }
}

Bemærk: Metoden kontrollerer invitationen og indløser ikke koden; eksemplet beskriver kontrakten og udføres ikke.

POST /api/v1/auth/validate-promo-code — Validering af kampagnekode

Adgang: Uden login; yderligere betingelser fremgår af metoden

Funktionens tilgængelighed og yderligere adgangsbetingelser kontrolleres, når anmodningen udføres.

Frekvensgrænse: 10 anmodninger på 60 sekunder fra én adresse.

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

JSON- / formularfelter

FeltetTypeObligatoriskValidering / beskrivelse
codestringjarequired
Skabelon til anmodningens indhold
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER angiver dit input og dets type. Erstat værdierne, og behold kun de valgfrie felter, du har brug for; strengmarkører sendes ikke i stedet for tal, boolean, objekter eller lister.

Anmodningsskema: ValidatePromoCodeRequest

Svar

JSON-svaret indeholder code, message og data. Indholdet af data beskrives i skemaerne nedenfor.

Svarenes dataskemaer: ValidatePromoCodeResponse. Felter og typer findes på siderne »Dataskemaer«.

Svarskema med illustrative værdier
{
  "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)"
  }
}

Bemærk: Metoden kontrollerer kampagnekoden og godskriver ikke bonus; eksemplet beskriver kontrakten og udføres ikke.

Login og sessioner · 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

Har du stadig spørgsmål? Send Request ID og en beskrivelse — så hjælper vi med at finde ud af det.Kontakt support