docs
API de l’espace client

Connexion et sessions

Markdown

Méthodes, champs des requêtes et réponses.

Guide complet

Cette rubrique comporte 14 méthodes. Ouvrez une méthode pour consulter les conditions d’accès, les champs de la requête et la réponse.

Méthode et cheminDescriptionAccès
POST /api/v1/auth/forgot-passwordDemande de réinitialisation du mot de passeSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/loginConnexion par adresse e-mail et mot de passeSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/login/2faFinalisation de la connexion avec TOTPSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/logoutDéconnexion et révocation du refresh tokenSans connexion ; les conditions supplémentaires sont précisées pour la méthode
GET /api/v1/auth/meUtilisateur actuel, solde et limitesToken de l’espace client
POST /api/v1/auth/passkey/login/beginDébut de la connexion avec une clé d’accèsSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/passkey/login/finishFinalisation de la connexion avec une clé d’accèsSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/refreshRenouvellement des tokensSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/registerInscriptionSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/reset-passwordRéinitialisation du mot de passeSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/revoke-all-sessionsRévocation de toutes les sessionsToken de l’espace client
POST /api/v1/auth/send-verify-codeEnvoi du code de vérificationSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/validate-invitation-codeVérification de l’invitationSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/validate-promo-codeVérification du code promotionnelSans connexion ; les conditions supplémentaires sont précisées pour la méthode
POST /api/v1/auth/forgot-password — Demande de réinitialisation du mot de passe

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

Limite de fréquence : 5 requêtes par 60 secondes depuis une même adresse.

POST/api/v1/auth/forgot-password

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
emailstringouirequired,email
turnstile_tokenstringnon
Modèle du corps de la requête
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : ForgotPasswordRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : ForgotPasswordResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

POST /api/v1/auth/login — Connexion par adresse e-mail et mot de passe

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

La disponibilité de la fonction et les conditions d’accès supplémentaires sont vérifiées lors de l’exécution de la requête.

Limite de fréquence : 20 requêtes par 60 secondes depuis une même adresse.

POST/api/v1/auth/login

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
emailstringouirequired,email
passwordstringouirequired
turnstile_tokenstringnon
Modèle du corps de la requête
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : LoginRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : TotpLoginResponse, User, AuthResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Si plusieurs variantes de réponse sont possibles, leurs champs sont décrits dans des schémas distincts ; ne les fusionnez pas dans un même objet.

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

POST /api/v1/auth/login/2fa — Finalisation de la connexion avec TOTP

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

La disponibilité de la fonction et les conditions d’accès supplémentaires sont vérifiées lors de l’exécution de la requête.

Limite de fréquence : 20 requêtes par 60 secondes depuis une même adresse.

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

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
temp_tokenstringouirequired
totp_codestringouirequired,len=6
Modèle du corps de la requête
{
  "temp_token": "PLACEHOLDER_TEMP_TOKEN (string)",
  "totp_code": "PLACEHOLDER_TOTP_CODE (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : Login2FARequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : User, AuthResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Si plusieurs variantes de réponse sont possibles, leurs champs sont décrits dans des schémas distincts ; ne les fusionnez pas dans un même objet.

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

POST /api/v1/auth/logout — Déconnexion et révocation du refresh token

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

POST/api/v1/auth/logout

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
refresh_tokenstringnon ; Facultatif : révoquer le token de renouvellement indiqué
Modèle du corps de la requête
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : LogoutRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : LogoutResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

GET /api/v1/auth/me — Utilisateur actuel, solde et limites

Accès : token de l’espace client

GET/api/v1/auth/me
Lecture ; l’ID provient de votre réponse précédente
curl --fail-with-body "https://ailoot.ai/api/v1/auth/me" \
  -H "Authorization: Bearer $TOKEN"

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : User, UserProfileResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "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)"
  }
}

Particularités : toutes les données personnelles et tous les objets sont limités au périmètre du sujet du JWT.

Particularités : les plafonds de dépenses des clés, quota et quota_used, figurent dans la réponse des clés, et non dans le profil. frozen_balance est un montant réservé et ne doit pas être considéré comme un solde disponible.

POST /api/v1/auth/passkey/login/begin — Début de la connexion avec une clé d’accès

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

La disponibilité de la fonction et les conditions d’accès supplémentaires sont vérifiées lors de l’exécution de la requête.

Limite de fréquence : 20 requêtes par 60 secondes depuis une même adresse.

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

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
turnstile_tokenstringnon
Modèle du corps de la requête
{
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : PasskeyBeginLoginRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : PasskeyOptionsResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "code": 0,
  "message": "success",
  "data": {
    "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
    "options": "PLACEHOLDER_OPTIONS (any)"
  }
}

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

Particularités : credential provient de navigator.credentials ; session_token provient de begin. Le corps de finish doit faire <=65536 octets ; l’enregistrement et la suppression nécessitent le mot de passe.

POST /api/v1/auth/passkey/login/finish — Finalisation de la connexion avec une clé d’accès

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

La disponibilité de la fonction et les conditions d’accès supplémentaires sont vérifiées lors de l’exécution de la requête.

Limite de fréquence : 20 requêtes par 60 secondes depuis une même adresse.

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

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
session_tokenstringouirequired
namestringnon
credentialobjectouirequired
Modèle du corps de la requête
{
  "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
  "name": "PLACEHOLDER_NAME (string)",
  "credential": "PLACEHOLDER_CREDENTIAL (object)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : PasskeyFinishRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : User, AuthResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Si plusieurs variantes de réponse sont possibles, leurs champs sont décrits dans des schémas distincts ; ne les fusionnez pas dans un même objet.

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

Particularités : credential provient de navigator.credentials ; session_token provient de begin. Le corps de finish doit faire <=65536 octets ; l’enregistrement et la suppression nécessitent le mot de passe.

POST /api/v1/auth/refresh — Renouvellement des tokens

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

La disponibilité de la fonction et les conditions d’accès supplémentaires sont vérifiées lors de l’exécution de la requête.

Limite de fréquence : 30 requêtes par 60 secondes depuis une même adresse.

POST/api/v1/auth/refresh

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
refresh_tokenstringouirequired
Modèle du corps de la requête
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : RefreshTokenRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : RefreshTokenResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "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)"
  }
}

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

POST /api/v1/auth/register — Inscription

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

Limite de fréquence : 5 requêtes par 60 secondes depuis une même adresse.

POST/api/v1/auth/register

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
emailstringouirequired,email
passwordstringouirequired,min=6
verify_codestringnon
turnstile_tokenstringnon
promo_codestringnon ; Code promotionnel d’inscription
invitation_codestringnon ; Code d’invitation
Modèle du corps de la requête
{
  "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 représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : RegisterRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : User, AuthResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Si plusieurs variantes de réponse sont possibles, leurs champs sont décrits dans des schémas distincts ; ne les fusionnez pas dans un même objet.

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

POST /api/v1/auth/reset-password — Réinitialisation du mot de passe

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

Limite de fréquence : 10 requêtes par 60 secondes depuis une même adresse.

POST/api/v1/auth/reset-password

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
emailstringouirequired,email
tokenstringouirequired
new_passwordstringouirequired,min=6
Modèle du corps de la requête
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "token": "PLACEHOLDER_TOKEN (string)",
  "new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : ResetPasswordRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : ResetPasswordResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

POST /api/v1/auth/revoke-all-sessions — Révocation de toutes les sessions

Accès : token de l’espace client

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

Aucun corps de requête n’est nécessaire.

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : RevokeAllSessionsResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Particularités : toutes les données personnelles et tous les objets sont limités au périmètre du sujet du JWT.

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

POST /api/v1/auth/send-verify-code — Envoi du code de vérification

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

Limite de fréquence : 5 requêtes par 60 secondes depuis une même adresse.

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

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
emailstringouirequired,email
turnstile_tokenstringnon
Modèle du corps de la requête
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : SendVerifyCodeRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : SendVerifyCodeResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)",
    "countdown": "PLACEHOLDER_COUNTDOWN (integer)"
  }
}

Particularités : cette opération modifie l’état ou poursuit une autorisation à usage unique ; l’exemple décrit le contrat et n’est pas exécuté.

POST /api/v1/auth/validate-invitation-code — Vérification de l’invitation

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

La disponibilité de la fonction et les conditions d’accès supplémentaires sont vérifiées lors de l’exécution de la requête.

Limite de fréquence : 10 requêtes par 60 secondes depuis une même adresse.

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

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
codestringouirequired
Modèle du corps de la requête
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : ValidateInvitationCodeRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : ValidateInvitationCodeResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "code": 0,
  "message": "success",
  "data": {
    "valid": "PLACEHOLDER_VALID (boolean)",
    "error_code": "PLACEHOLDER_ERROR_CODE (string)"
  }
}

Particularités : cette méthode vérifie l’invitation sans consommer le code ; l’exemple décrit le contrat et n’est pas exécuté.

POST /api/v1/auth/validate-promo-code — Vérification du code promotionnel

Accès : sans connexion ; les conditions supplémentaires sont précisées pour la méthode

La disponibilité de la fonction et les conditions d’accès supplémentaires sont vérifiées lors de l’exécution de la requête.

Limite de fréquence : 10 requêtes par 60 secondes depuis une même adresse.

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

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
codestringouirequired
Modèle du corps de la requête
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des booléens (boolean), des objets ou des tableaux.

Schéma de la requête : ValidatePromoCodeRequest

Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : ValidatePromoCodeResponse. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives
{
  "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)"
  }
}

Particularités : cette méthode vérifie le code promotionnel sans créditer de bonus ; l’exemple décrit le contrat et n’est pas exécuté.

Connexion et sessions · 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

Des questions ? Envoyez-nous le Request ID et une description : nous vous aiderons à y voir plus clair.Contacter l’assistance