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

# API d’analyse v2

> API d’analyse de nouvelle génération pour interroger les données de consommation avec une authentification par jeton Bearer, un regroupement flexible et une pagination par curseur.

<Warning>
  Les API v2 sont en **alpha** et peuvent être modifiées à tout moment.
</Warning>

<div id="overview">
  ## Vue d’ensemble
</div>

Analytics API v2 est la nouvelle génération de l’Analytics API de Devin Desktop. Elle expose les données de consommation (crédits et ACU) via des endpoints REST clairs, avec filtrage par paramètres de requête, regroupement flexible, pagination par curseur et mise en cache des réponses.

<Note>
  Les endpoints v2 sont actuellement disponibles sous le préfixe **`/api/v2alpha`** tant que l’API n’est pas finalisée. L’URL de base est `https://server.codeium.com`.
</Note>

<div id="whats-new-in-v2">
  ## Nouveautés de la v2
</div>

Le changement le plus important par rapport à [v1](/fr/desktop/accounts/api-reference/analytics-api-introduction) est **l’authentification**.

|                  | Analytics API v1                                    | Analytics API v2                                            |
| ---------------- | --------------------------------------------------- | ----------------------------------------------------------- |
| Transport        | `POST` avec un corps de requête JSON                | `GET` avec des paramètres de requête                        |
| Authentification | champ `service_key` **dans le corps de la requête** | **en-tête `Authorization: Bearer <service_key>`**           |
| Autorisation     | Varie selon l’endpoint                              | **Analytics Read**                                          |
| Pagination       | Aucune                                              | pagination par curseur (`next_page_cursor` / `page_cursor`) |
| Mise en cache    | Aucune                                              | `ETag` + `If-None-Match` (`304 Not Modified`)               |

<div id="authentication">
  ## Authentification
</div>

v2 utilise l’authentification par **jeton Bearer**. Transmettez votre clé de service dans l’en-tête `Authorization` plutôt
que dans le corps de la requête :

```
Authorization: Bearer <your_service_key>
```

La clé de service doit disposer de l’autorisation **Analytics Read**.

<div id="creating-a-service-key">
  ### Création d’une clé de service
</div>

1. Accédez à votre [page Team Settings](https://windsurf.com/team/settings)
2. Accédez à la section "Service Keys"
3. Créez une nouvelle clé de service avec l’autorisation **Analytics Read**
4. Utilisez la clé comme jeton Bearer dans l’en-tête `Authorization`

<Warning>Conservez vos clés de service en lieu sûr et ne les exposez jamais dans du code côté client ou des dépôts publics.</Warning>

Les clés de service associées à un groupe sont prises en charge — lorsqu’une clé est associée à un groupe, les résultats sont automatiquement
limités à ce groupe.

<div id="available-endpoints">
  ## Endpoints disponibles
</div>

| Endpoint                                                                                                                             | Description                                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
| [Récupérer la consommation](/fr/desktop/accounts/api-reference/get-consumption) (`GET /api/v2alpha/analytics/consumption`)           | Consulter la consommation de crédits ou d'ACU avec filtrage, regroupement, granularité et pagination |
| [Récupérer les utilisateurs actifs](/fr/desktop/accounts/api-reference/get-active-users) (`GET /api/v2alpha/analytics/active-users`) | Compter le nombre d'utilisateurs actifs distincts, éventuellement par jour/mois ou par utilisateur   |

<div id="billing-strategy">
  ## Stratégie de facturation
</div>

Les réponses s’adaptent à la stratégie de facturation de votre Team, indiquée dans `metadata.billing_strategy` :

* **`CREDITS`** — les lignes incluent `prompt_credits` et `flex_credits`
* **`ACU`** — les lignes incluent `billed_acus`

Le champ `message_count` est toujours renvoyé, quelle que soit la stratégie.

<div id="pagination">
  ## Pagination
</div>

Les réponses de liste sont paginées. Lorsque d’autres données sont disponibles, la réponse inclut un
`pagination.next_page_cursor` ; transmettez-le dans le paramètre de requête `page_cursor` pour récupérer la page
suivante. Les curseurs expirent après 24 heures.

<div id="caching">
  ## Mise en cache
</div>

Les réponses comprennent un en-tête `ETag`. Renvoyez-le dans l’en-tête `If-None-Match` lors des requêtes suivantes
pour recevoir une réponse `304 Not Modified` si les données sont inchangées.

<div id="rate-limits">
  ## Limites de taux
</div>

<Warning>
  Ces endpoints ne sont **pas** destinés au suivi de l’utilisation en temps réel. Les données sont agrégées par heure et
  la limite de taux est faible (10 requêtes par heure par Team). Utilisez-les pour des rapports périodiques et des
  exports en masse, pas pour des tableaux de bord en direct ni pour un suivi requête par requête.
</Warning>

Les endpoints v2 sont limités à **10 requêtes par heure par Team**. Si vous dépassez la limite, la réponse renvoie
`429 Too Many Requests` avec un en-tête `Retry-After`.

La pagination d’une requête précédente (en suivant un `next_page_cursor`) n’est **pas** comptabilisée dans la limite de taux
— seule la requête initiale de chaque rapport l’est. Cette faible limite reflète le fait que ces endpoints sont
destinés à des rapports périodiques, et non à la surveillance en temps réel.
