Source: https://ailoot.ai/docs/fr-ca/cabinet/profile/
Canonical: https://ailoot.ai/docs/fr-ca/cabinet/profile/
Language: fr-ca

[API du tableau de bord](https://ailoot.ai/docs/fr-ca/) 

# Profil et sécurité

[Markdown](https://ailoot.ai/docs/fr-ca/cabinet/profile/index.md)

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

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 chemin | Description | Accès |
| --- | --- | --- |
| `PUT /api/v1/user` | Modification du profil | Jeton du tableau de bord |
| `GET /api/v1/user/passkeys` | Liste des clés d’accès | Jeton du tableau de bord |
| `PUT /api/v1/user/password` | Changement du mot de passe | Jeton du tableau de bord |
| `GET /api/v1/user/profile` | Profil, solde et liaisons | Jeton du tableau de bord |
| `GET /api/v1/user/totp/status` | Statut 2FA (TOTP) | Jeton du tableau de bord |
| `GET /api/v1/user/totp/verification-method` | Méthode de vérification TOTP | Jeton du tableau de bord |

**PUT /api/v1/user** — Modification du profil

Accès : jeton du tableau de bord

PUT`/api/v1/user`

## Champs JSON / du formulaire

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `username` | `string` | non | ; peut être null |
| `avatar_url` | `string` | non | ; peut être null |
| `balance_notify_enabled` | `boolean` | non | ; peut être null |
| `balance_notify_threshold` | `number` | non | ; peut être null |

Modèle du corps de la requête

```json
{
  "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 booléens, 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

```json
{
  "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, 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.

Cette méthode modifie les données. Un nouvel envoi n’est sûr que lorsque la méthode indique Idempotency-Key. Si la réponse a été perdue, vérifiez d’abord le résultat, par exemple la liste des clés, puis décidez s’il faut renvoyer la requête.

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

Accès : jeton du tableau de bord

GET`/api/v1/user/passkeys`

Lecture; l’ID provient de votre réponse précédente

```bash
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

```json
{
  "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 envoyé à 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 : jeton du tableau de bord

PUT`/api/v1/user/password`

## Champs JSON / du formulaire

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `old_password` | `string` | oui | required |
| `new_password` | `string` | oui | required,min=6 |

Modèle du corps de la requête

```json
{
  "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 booléens, 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

```json
{
  "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é.

Cette méthode modifie les données. Un nouvel envoi n’est sûr que lorsque la méthode indique Idempotency-Key. Si la réponse a été perdue, vérifiez d’abord le résultat, par exemple la liste des clés, puis décidez s’il faut renvoyer la requête.

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

Accès : jeton du tableau de bord

GET`/api/v1/user/profile`

Lecture; l’ID provient de votre réponse précédente

```bash
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

```json
{
  "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, 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 : jeton du tableau de bord

GET`/api/v1/user/totp/status`

Lecture; l’ID provient de votre réponse précédente

```bash
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

```json
{
  "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 : jeton du tableau de bord

GET`/api/v1/user/totp/verification-method`

Lecture; l’ID provient de votre réponse précédente

```bash
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

```json
{
  "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

```json
{
  "type": "object",
  "required": [
    "method"
  ],
  "properties": {
    "method": {
      "type": "string",
      "enum": [
        "email",
        "password"
      ]
    }
  }
}
```

Vous avez d’autres questions? Envoyez le Request ID et une description : nous vous aiderons à comprendre.[Contacter le soutien](mailto:support@ailoot.ai)

## Ailoot · L’entreprise et son portefeuille de projets





Ailoot s’appuie sur une expérience opérationnelle éprouvée, une large clientèle, un service stable et un suivi continu des KPI.





L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.





Ailoot met cette expérience opérationnelle au service de l’accès API aux fonctions d’IA dans les produits des clients, leurs agents, applications et automatisations.
