Passer au contenu principal
GET
/
api
/
v2alpha
/
analytics
/
active-users
Récupérer l’analyse des utilisateurs actifs
curl --request GET \
  --url https://server.codeium.com/api/v2alpha/analytics/active-users \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "active_users": 142
    }
  ],
  "pagination": {
    "next_page_cursor": null
  },
  "metadata": {
    "data_freshness": "2026-01-16T03:00:00.000Z",
    "query_time_ms": 612,
    "team_id": "team_abc123"
  }
}
Il s’agit d’un endpoint v2 qui utilise l’authentification par jeton Bearer et des paramètres de requête, contrairement à l’Analytics API v1, qui utilise des clés de service dans le corps de la requête. Voir Authentification ci-dessous.
Cet endpoint n’est pas conçu pour le suivi de l’utilisation en temps réel. Les données sont agrégées à l’heure et la limite de débit est faible (10 requêtes par heure et par Team). Utilisez-le pour les rapports périodiques et les exports en masse.

Authentification

Cet endpoint utilise l’authentification par jeton Bearer. Incluez votre clé de service dans l’en-tête Authorization :
Authorization: Bearer <your_service_key>
La clé de service doit disposer de l’autorisation Analytics Read. Créez-en une dans les Team Settings, sous “Service Keys”.

Ce qui est considéré comme un utilisateur actif

Un utilisateur est considéré comme actif pour un intervalle de temps donné s’il y a un événement de facturation associé. Le champ active_users indique le nombre d’utilisateurs distincts.

Regroupement et granularité

Utilisez granularity et group_by pour contrôler la structure des données renvoyées :
  • Aucune granularité ni regroupement — renvoie une seule ligne avec le nombre total d’utilisateurs actifs sur toute la plage de dates
  • granularity=daily — chaque ligne inclut un timestamp au format YYYY-MM-DD (utilisateurs actifs quotidiens)
  • granularity=monthly — chaque ligne inclut un timestamp au format YYYY-MM (utilisateurs actifs mensuels)
  • group_by=user — renvoie une ligne par utilisateur actif avec un user_id ; la valeur de active_users est 1 pour chaque ligne
Contrairement à Get Consumption, l’endpoint des utilisateurs actifs n’accepte que user pour group_by. Les autres dimensions (model_uid, ide) ne sont pas valides ici.
Les résultats sont paginés, avec une taille de page par défaut de 1 000 lignes (maximum : 10 000). Lorsque d’autres résultats sont disponibles, la réponse inclut un next_page_cursor dans l’objet pagination. Transmettez-le comme paramètre de requête page_cursor pour récupérer la page suivante. Les curseurs de page expirent après 24 heures. Une requête de page suivante n’est pas comptabilisée comme une nouvelle requête au regard de votre limite de débit.

Mise en cache

Les réponses comportent un en-tête ETag. Pour éviter des transferts de données inutiles, incluez l’en-tête If-None-Match avec la valeur ETag précédente — le serveur renverra 304 Not Modified si les données n’ont pas changé.

Limites de débit

Cet endpoint est soumis à une limite de 10 requêtes par heure par Team. Si vous dépassez cette limite, le serveur renvoie 429 Too Many Requests avec un Retry-After en-tête. La pagination d’une requête précédente (en suivant un next_page_cursor) n’est pas décomptée de cette limite — seule la requête initiale de chaque rapport compte. Cette faible limite s’explique par le fait que cet endpoint est destiné à des rapports périodiques, et non au suivi de l’utilisation en temps réel.

Autorisations

Authorization
string
header
requis

Une clé de service disposant de l’autorisation Analytics Read, transmise comme jeton Bearer dans l’en-tête Authorization.

Créez une clé de service dans les paramètres de votre Team, à l’adresse team settings, dans la section "Service Keys".

En-têtes

If-None-Match
string

Valeur ETag provenant d'une réponse précédente. Si les données n'ont pas changé, le server renvoie 304 Not Modified.

Paramètres de requête

start_date
string<date>
requis

Début de la plage de dates (inclus) au format YYYY-MM-DD.

end_date
string<date>
requis

Fin de la plage de dates (incluse) au format YYYY-MM-DD. La plage ne doit pas dépasser 90 jours.

product
enum<string>
requis

Produit pour lequel interroger les users actifs.

Options disponibles:
agent
granularity
enum<string>

Granularité temporelle pour regrouper les résultats. Lorsqu’elle est spécifiée, chaque ligne inclut un champ timestamp. Si elle est omise, le nombre de users actifs est agrégé sur l’ensemble de la plage de dates.

Options disponibles:
daily,
monthly
group_by
enum<string>

Dimension selon laquelle regrouper les résultats. L'endpoint des utilisateurs actifs ne prend en charge que user, ce qui renvoie une ligne par utilisateur actif (avec active_users = 1 pour chacun).

Options disponibles:
user
models
string

Liste d'UID de modèle, séparés par des virgules, à utiliser pour filtrer les résultats.

group_id
string

Filtrer les résultats pour n'inclure que les utilisateurs d'un groupe spécifique. La clé de service doit avoir accès à ce groupe.

user_id
string

Filtrer les résultats pour un utilisateur spécifique (UID d'authentification).

page_size
integer
défaut:1000

Nombre maximal de lignes à renvoyer par page.

Plage requise: 1 <= x <= 10000
page_cursor
string

Curseur opaque provenant du champ pagination.next_page_cursor d'une réponse précédente, à utiliser pour récupérer la page suivante.

Réponse

Données sur les utilisateurs actifs renvoyées avec succès.

data
object[]
requis

Tableau de lignes de données sur les utilisateurs actifs.

pagination
object
requis
metadata
object
requis