docs
API du tableau de bord

Profil et sécurité

Markdown

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

Guide complet

Cette rubrique comporte 6 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
PUT /api/v1/userModification du profilToken de l’espace personnel
GET /api/v1/user/passkeysListe des clés d’accèsToken de l’espace personnel
PUT /api/v1/user/passwordChangement du mot de passeToken de l’espace personnel
GET /api/v1/user/profileProfil, solde et liaisonsToken de l’espace personnel
GET /api/v1/user/totp/statusStatut 2FA (TOTP)Token de l’espace personnel
GET /api/v1/user/totp/verification-methodMéthode de vérification TOTPToken de l’espace personnel
PUT /api/v1/user — Modification du profil

Accès : token de l’espace personnel

PUT/api/v1/user

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
usernamestringnon; peut être null
avatar_urlstringnon; peut être null
balance_notify_enabledbooleannon; peut être null
balance_notify_thresholdnumbernon; peut être null
Modèle du corps de la requête
{
  "username": "PLACEHOLDER_USERNAME (string)",
  "avatar_url": "PLACEHOLDER_AVATAR_URL (string)",
  "balance_notify_enabled": "PLACEHOLDER_BALANCE_NOTIFY_ENABLED (boolean)",
  "balance_notify_threshold": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD (number)"
}

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 boolean, des objets ou des tableaux.

Schéma de la requête : UpdateProfileRequest

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 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é.

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.

GET /api/v1/user/passkeys — Liste des clés d’accès

Accès : token de l’espace personnel

GET/api/v1/user/passkeys
Lecture ; l’ID provient de votre réponse précédente
curl --fail-with-body "https://ailoot.ai/api/v1/user/passkeys" \
  -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 : PasskeyCredentialSummary. 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)",
    "name": "PLACEHOLDER_NAME (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
    "backup": "PLACEHOLDER_BACKUP (boolean)"
  }
}

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

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.

PUT /api/v1/user/password — Changement du mot de passe

Accès : token de l’espace personnel

PUT/api/v1/user/password

Champs JSON / du formulaire

Le champTypeObligatoireValidation / description
old_passwordstringouirequired
new_passwordstringouirequired,min=6
Modèle du corps de la requête
{
  "old_password": "PLACEHOLDER_OLD_PASSWORD (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 boolean, des objets ou des tableaux.

Schéma de la requête : ChangePasswordRequest

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éma de la réponse, avec des valeurs fictives
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "VALUE_FROM_RESPONSE"
  }
}

Particularités : toutes les données personnelles et tous les objets sont limités au 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é.

GET /api/v1/user/profile — Profil, solde et liaisons

Accès : token de l’espace personnel

GET/api/v1/user/profile
Lecture ; l’ID provient de votre réponse précédente
curl --fail-with-body "https://ailoot.ai/api/v1/user/profile" \
  -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 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.

GET /api/v1/user/totp/status — Statut 2FA (TOTP)

Accès : token de l’espace personnel

GET/api/v1/user/totp/status
Lecture ; l’ID provient de votre réponse précédente
curl --fail-with-body "https://ailoot.ai/api/v1/user/totp/status" \
  -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 : TotpStatusResponse. 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": {
    "enabled": "PLACEHOLDER_ENABLED (boolean)",
    "enabled_at": "PLACEHOLDER_ENABLED_AT (integer)",
    "feature_enabled": "PLACEHOLDER_FEATURE_ENABLED (boolean)"
  }
}

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

Particularités : secret et setup_token sont confidentiels ; la vérification dépend des paramètres TOTP et de l’utilisateur.

GET /api/v1/user/totp/verification-method — Méthode de vérification TOTP

Accès : token de l’espace personnel

GET/api/v1/user/totp/verification-method
Lecture ; l’ID provient de votre réponse précédente
curl --fail-with-body "https://ailoot.ai/api/v1/user/totp/verification-method" \
  -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éma de la réponse, avec des valeurs fictives
{
  "code": 0,
  "message": "success",
  "data": {
    "method": "email"
  }
}

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

Particularités : secret et setup_token sont confidentiels ; la vérification dépend des paramètres TOTP et de l’utilisateur.

TotpVerificationMethod

{
  "type": "object",
  "required": [
    "method"
  ],
  "properties": {
    "method": {
      "type": "string",
      "enum": [
        "email",
        "password"
      ]
    }
  }
}
Encore des questions ? Envoyez le Request ID et une description : nous vous aiderons à comprendre.Contacter l’assistance