> ## 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, notamment les noms, adresses e-mail, dates de dernière activité et jours d’activité, à partir de 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, les emails, les dernières activités et les jours d’activité.

<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 aux utilisateurs d’un groupe spécifique (facultatif)
</ParamField>

<ParamField body="start_timestamp" type="string">
  Heure de début au format RFC 3339 (p. ex. : `2023-01-01T00:00:00Z`)
</ParamField>

<ParamField body="end_timestamp" type="string">
  Heure de fin au format RFC 3339 (p. ex. : `2023-12-31T23:59:59Z`)
</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 utilisateur

  <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 total de jours pendant lesquels l'utilisateur a été actif sur la période demandée
    </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 aura alors toujours la valeur true.
    </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="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 d'équipe, tandis que l'interface Manage Members n'affiche que les utilisateurs approuvés.
    </ResponseField>
  </Expandable>
</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,
      "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": 462,
      "teamStatus": "USER_TEAM_STATUS_APPROVED"
    },
    {
      "name": "Charlie",
      "email": "charlie@windsurf.com",
      "lastUpdateTime": "2024-10-10T16:43:46.117870Z",
      "apiKey": "cccccccc-cccc-cccc-cccc-cccccccccccc",
      "activeDays": 237,
      "teamStatus": "USER_TEAM_STATUS_PENDING"
    }
  ]
}
```

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

<ResponseField name="error" type="string">
  Message d'erreur décrivant ce qui s'est produit
</ResponseField>

Scénarios d'erreur courants :

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