> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtenir les Analytics de la page Utilisateur

> Récupérer les statistiques d’activité des utilisateurs, y compris les noms, adresses e-mail, horodatages de dernière activité et jours d’activité, ainsi que les crédits de prompt utilisés, depuis la page Teams.

<div id="overview">
  ## Aperçu
</div>

Obtenez les statistiques d’activité des utilisateurs affichées sur la page Teams, notamment les noms d’utilisateur, les emails, les heures de dernière activité, les jours d’activité et les crédits de prompt utilisés.

<div id="request">
  ## Requête
</div>

<ParamField body="service_key" type="string" required>
  Votre clé de service avec l’autorisation "Teams Read-only"
</ParamField>

<ParamField body="group_name" type="string">
  Filtrer les résultats pour les utilisateurs d’un groupe spécifique (optionnel)
</ParamField>

<ParamField body="start_timestamp" type="string">
  Horodatage de début au format RFC 3339 (p. ex. : `2023-01-01T00:00:00Z`). **N’affecte que le calcul de `activeDays`.** S’il n’est pas renseigné, la valeur par défaut est 1 an en arrière.
</ParamField>

<ParamField body="end_timestamp" type="string">
  Horodatage de fin au format RFC 3339 (p. ex. : `2023-12-31T23:59:59Z`). **N’affecte que le calcul de `activeDays`.** S’il n’est pas renseigné, la valeur par défaut est l’heure actuelle.
</ParamField>

<div id="example-request">
  ### Exemple de demande
</div>

```bash theme={null}
curl -X POST --header "Content-Type: application/json" \
--data '{
  "service_key": "your_service_key_here",
  "group_name": "engineering_team",
  "start_timestamp": "2024-01-01T00:00:00Z",
  "end_timestamp": "2024-12-31T23:59:59Z"
}' \
https://server.codeium.com/api/v1/UserPageAnalytics
```

<div id="response">
  ## Réponse
</div>

<ResponseField name="userTableStats" type="array">
  Tableau d'objets de statistiques d'utilisateurs

  <Expandable title="Objet de statistiques utilisateur">
    <ResponseField name="name" type="string">
      Nom d'affichage de l'utilisateur
    </ResponseField>

    <ResponseField name="email" type="string">
      Adresse e-mail de l'utilisateur
    </ResponseField>

    <ResponseField name="lastUpdateTime" type="string">
      Horodatage de la dernière activité de l'utilisateur au format RFC 3339
    </ResponseField>

    <ResponseField name="apiKey" type="string">
      Version hachée de la clé API de l'utilisateur
    </ResponseField>

    <ResponseField name="activeDays" type="number">
      Nombre de jours pendant lesquels l'utilisateur a été actif dans l'intervalle de temps demandé (défini par `start_timestamp` et `end_timestamp`). Une journée est comptabilisée comme active si l'utilisateur a eu des acceptations d'Autocomplete, une utilisation de Cascade ou une utilisation de Command ce jour-là.
    </ResponseField>

    <ResponseField name="disableCodeium" type="boolean">
      Indique si l'accès à Windsurf a été désactivé pour l'utilisateur par un administrateur. Ce champ n'est présent que si l'accès a été explicitement désactivé, et sera alors toujours défini sur true.
    </ResponseField>

    <ResponseField name="role" type="string">
      Rôle de l'utilisateur au sein de l'équipe (par exemple : administrateur, membre)
    </ResponseField>

    <ResponseField name="signupTime" type="string">
      Horodatage de l'inscription de l'utilisateur, au format RFC 3339
    </ResponseField>

    <ResponseField name="lastAutocompleteUsageTime" type="string">
      Horodatage le plus récent auquel le mode Tab/Autocomplete a été utilisé, au format RFC 3339
    </ResponseField>

    <ResponseField name="lastChatUsageTime" type="string">
      Horodatage le plus récent auquel le mode Cascade a été utilisé, au format RFC 3339
    </ResponseField>

    <ResponseField name="lastCommandUsageTime" type="string">
      Horodatage le plus récent auquel le mode Command a été utilisé, au format RFC 3339
    </ResponseField>

    <ResponseField name="promptCreditsUsed" type="number">
      Nombre total de crédits de prompt utilisés par cet utilisateur pendant le **cycle de facturation actuel**, renvoyé en **centimes** (1 crédit = 100 centimes). Pour obtenir l'utilisation réelle des crédits, divisez cette valeur par 100. Cette valeur n'est **pas** affectée par les paramètres de requête `start_timestamp` ou `end_timestamp`. La fenêtre du cycle de facturation est indiquée par les champs de premier niveau `billingCycleStart` et `billingCycleEnd`.
    </ResponseField>

    <ResponseField name="teamStatus" type="string">
      Statut d'appartenance de l'utilisateur à l'équipe. Valeurs possibles : `USER_TEAM_STATUS_UNSPECIFIED`, `USER_TEAM_STATUS_PENDING`, `USER_TEAM_STATUS_APPROVED`, `USER_TEAM_STATUS_REJECTED`. Notez que l'API renvoie tous les utilisateurs, quel que soit leur statut au sein de l'équipe, tandis que l'interface Manage Members n'affiche que les utilisateurs approuvés.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="billingCycleStart" type="string">
  Début du cycle de facturation actuel au format RFC 3339. Les valeurs `promptCreditsUsed` dans `userTableStats` correspondent à l'utilisation au sein de ce cycle de facturation.
</ResponseField>

<ResponseField name="billingCycleEnd" type="string">
  Fin du cycle de facturation actuel au format RFC 3339. Les valeurs `promptCreditsUsed` dans `userTableStats` correspondent à l'utilisation au sein de ce cycle de facturation.
</ResponseField>

<div id="example-response">
  ### Exemple de réponse
</div>

```json theme={null}
{
  "userTableStats": [
    {
      "name": "Alice",
      "email": "alice@windsurf.com",
      "lastUpdateTime": "2024-10-10T22:56:10.771591Z",
      "apiKey": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
      "activeDays": 178,
      "role": "admin",
      "signupTime": "2024-01-15T08:30:00Z",
      "lastAutocompleteUsageTime": "2024-10-10T22:56:10Z",
      "lastChatUsageTime": "2024-10-10T20:30:00Z",
      "promptCreditsUsed": 12500,
      "teamStatus": "USER_TEAM_STATUS_APPROVED"
    },
    {
      "name": "Bob",
      "email": "bob@windsurf.com",
      "lastUpdateTime": "2024-10-10T18:11:23.980237Z",
      "apiKey": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
      "activeDays": 210,
      "role": "member",
      "signupTime": "2024-02-01T10:00:00Z",
      "lastAutocompleteUsageTime": "2024-10-10T18:11:23Z",
      "lastChatUsageTime": "2024-10-09T14:22:00Z",
      "lastCommandUsageTime": "2024-10-08T09:15:00Z",
      "promptCreditsUsed": 8300,
      "teamStatus": "USER_TEAM_STATUS_APPROVED"
    }
  ],
  "billingCycleStart": "2024-10-01T00:00:00Z",
  "billingCycleEnd": "2024-11-01T00:00:00Z"
}
```

<div id="error-responses">
  ## Réponses d'erreur
</div>

<ResponseField name="error" type="string">
  Message d'erreur décrivant le problème rencontré
</ResponseField>

Scénarios d'erreur courants :

* Clé de service invalide ou autorisations insuffisantes
* Format d'horodatage invalide
* Groupe introuvable
* Limite de requêtes dépassée
