Aperçu
L'API Claude Enterprise Analytics donne à votre organisation un accès programmatique aux données d'engagement, d'adoption, d'utilisation et de coûts sur toutes les surfaces Claude au sein de votre organisation Enterprise. Que vous construisiez des tableaux de bord internes pour l'activité des utilisateurs, suiviez l'adoption de projets, réconciliiez les dépenses par rapport à votre facture mensuelle ou définissiez des limites de dépenses, cette API fournit les métriques dont vous avez besoin.
Agrégation des données
Toutes les données sont agrégées par organisation, par jour. Chaque endpoint retourne un snapshot pour une date unique que vous spécifiez. Les données du jour (N-1) sont exécutées à 10:00:00 UTC le jour N, et sont disponibles pour interrogation trois jours après l'agrégation, pour assurer l'exactitude des données.
Si les données ne sont pas disponibles dans la chronologie ci-dessus, cela indique généralement une défaillance du pipeline de données que notre équipe devra enquêter en interne. Nous sommes généralement conscients de tels problèmes, mais veuillez les signaler à votre CSM si vous souhaitez une vérification ou si vous soupçonnez quelque chose d'autre.
Les endpoints de coûts et d'utilisation ont un modèle de fraîcheur différent. Consultez Endpoints de coûts et d'utilisation ci-dessous pour plus de détails.
Activation de l'accès
Pour créer de nouvelles clés API d'analyse, vous devez être un propriétaire principal au sein de votre organisation Enterprise. Vous pouvez le faire en accédant à claude.ai/analytics/api-keys.
Voici d'autres détails qui pourraient être utiles :
Vous pouvez activer/désactiver l'accès à l'API publique à tout moment. Si vous désactivez l'accès en basculant le commutateur, toutes les demandes seront refusées.
Vous aurez besoin d'une clé avec la portée
read:analyticspour accéder à l'API. Vous pouvez créer plusieurs clés pour votre organisation, mais les limites de débit s'appliquent au niveau de l'organisation , pas au niveau de la clé . Consultez la section « Limitation du débit » ci-dessous.Comme toujours, nous recommandons vivement de gérer les clés API de manière sécurisée : ne partagez jamais ces clés publiquement - elles sont secrètes et doivent être partagées de manière sécurisée.
URL de base
Toutes les demandes sont envoyées à :
https://api.anthropic.com/v1/organizations/analytics/
Authentification
Chaque demande nécessite une clé API transmise dans l'en-tête x-api-key. Votre clé API doit avoir la portée read:analytics. Vous pouvez créer et gérer les clés API à partir des paramètres d'administration de claude.ai sous la section Clés API.
Exemple d'en-têtes de demande :
x-api-key: $YOUR_API_KEY
Pagination
Plusieurs endpoints retournent des résultats paginés. La pagination utilise une approche basée sur les curseurs, où la réponse inclut un jeton next_page que vous transmettez dans votre demande suivante pour récupérer la page de résultats suivante.
Deux paramètres optionnels contrôlent la pagination :
limit (entier) : Nombre d'enregistrements par page. Par défaut 20 pour l'endpoint /users et 100 pour tous les autres endpoints. Pour les endpoints de coûts et d'utilisation, les valeurs par défaut varient selon l'endpoint et la largeur du bucket — consultez Endpoints de coûts et d'utilisation ci-dessous. Le maximum est 1000.
page (chaîne) : Le jeton de curseur opaque du champ next_page de la réponse précédente. Omettez ceci lors de votre première demande.
Quand il n'y a plus de résultats, next_page sera null dans la réponse.
Important : Ne modifiez pas les paramètres de requête en cours de séquence sur les endpoints de coûts et d'utilisation. Les curseurs sont liés aux filtres et à la plage de dates qui les ont émis. Si vous modifiez products[], order_by, group_by[], la plage de dates ou tout filtre et transmettez un ancien curseur, vous obtiendrez une erreur 400.
Réponses d'erreur
Tous les endpoints retournent des codes d'erreur HTTP standard :
Code | Signification |
400 | Un paramètre de requête est invalide. Les causes courantes incluent une date invalide, une date antérieure à 1/1/26 (première disponibilité), une date qui est aujourd'hui ou dans le futur, ou (sur les endpoints de coûts et d'utilisation) un curseur de page qui ne correspond pas aux paramètres de requête actuels. |
401 | Clé API manquante ou invalide (endpoints de coûts et d'utilisation). |
404 | La clé API est manquante, invalide ou n'a pas la portée |
410 | Le curseur de page n'est plus valide. Redémarrez la pagination à partir de la première page. |
429 | Limite de débit dépassée. Trop de demandes. |
500 | Erreur interne (endpoints de coûts et d'utilisation). |
504 | Demande expirée. |
Limitation du débit
Nous avons des limites de débit par défaut en place qui s'appliquent à tous les endpoints de cette API. Si cela ne suffit pas pour votre cas d'usage, nous aimerions comprendre pourquoi. Si nécessaire, nous pouvons ajuster les limites de débit pour votre organisation — veuillez contacter votre CSM.
Endpoints d'engagement et d'adoption
1. Lister l'activité des utilisateurs
GET /v1/organizations/analytics/users
Retourne les métriques d'engagement par utilisateur pour un seul jour. Chaque élément de la réponse représente un utilisateur et inclut ses compteurs d'activité sur Claude (chat) et Claude Code.
Paramètres de requête
Champ | Type | Requis | Description |
| chaîne de caractères | Oui | La date pour laquelle récupérer les métriques, au format YYYY-MM-DD. |
| entier | Non | Nombre d'enregistrements par page (par défaut : 20, max : 1000). |
| chaîne de caractères | Non | Jeton de curseur de la réponse précédente's |
Champs de réponse (par utilisateur)
Champ | Description |
| Identifiant unique de l'utilisateur. |
| L'adresse e-mail de l'utilisateur. |
| Nombre de conversations distinctes, spécifiquement dans Claude.ai. |
| Nombre total de messages envoyés, spécifiquement dans Claude.ai. |
| Nombre de projets distincts créés, spécifiquement dans Claude.ai. |
| Nombre de projets distincts utilisés, spécifiquement dans Claude.ai. |
| Nombre de fichiers distincts téléchargés, spécifiquement dans Claude.ai. |
| Nombre d'artefacts distincts créés, spécifiquement dans Claude.ai. |
| Nombre d'artefacts partagés distincts consultés, spécifiquement dans Claude.ai. |
| Nombre de messages de réflexion (étendus), spécifiquement dans Claude.ai. |
| Nombre de compétences distinctes utilisées, spécifiquement dans Claude.ai. |
| Nombre total de connecteurs invoqués, spécifiquement dans Claude.ai. |
| Nombre de conversations partagées consultées, spécifiquement dans Claude.ai. |
| Nombre de commits git effectués via Claude Code. |
| Nombre de demandes de fusion créées via Claude Code. |
| Nombre total de lignes de code ajoutées. |
| Nombre total de lignes de code supprimées. |
| Nombre de sessions Claude Code distinctes. |
| Nombre d'acceptations et de rejets pour l'outil Edit. |
| Nombre d'acceptations et de rejets pour l'outil Multi-Edit. |
| Nombre d'acceptations et de rejets pour l'outil Write. |
| Nombre d'acceptations et de rejets pour l'outil Notebook Edit. |
| Total des invocations de l'outil de recherche web. Cela s'applique à la fois à claude.ai et à l'utilisation de Claude Code au sein de votre organisation. |
Métriques Office Agent (par utilisateur)
Chaque enregistrement utilisateur inclut également un objet office_metrics avec des ventilations par produit pour Excel et PowerPoint. Ce bloc est toujours présent sur chaque enregistrement—les organisations sans utilisation d'Office Agent voient des valeurs nulles plutôt que null.
L'objet office_metrics contient deux clés : excel et powerpoint.
Chaque clé contient les six mêmes champs :
Champ | Description |
| Nombre de sessions Office Agent distinctes. |
| Nombre de messages envoyés (un par tour d'agent complété). |
| Total des invocations de compétences. Une seule compétence utilisée cinq fois compte pour cinq. |
| Nombre de compétences distinctes utilisées. |
| Total des invocations de connecteurs. Un seul connecteur utilisé trois fois compte pour trois. |
| Nombre de connecteurs distincts utilisés. |
*Remarque : Où [product] est l'un de excel ou powerpoint.
Métriques Claude Cowork (par utilisateur)
Chaque enregistrement utilisateur inclut également un objet cowork_metrics avec l'engagement Cowork par utilisateur. Ce bloc est toujours présent sur chaque enregistrement—les organisations sans utilisation de Cowork voient des valeurs nulles plutôt que null.
Champ | Description |
| Nombre de sessions Cowork distinctes. |
| Total des messages utilisateur envoyés dans Cowork. |
| Appels d'outils réussis (Bash, Read, Edit, etc.) |
| Tours d'agent complétés dans les sessions Dispatch (agent d'arrière-plan). |
| Total des invocations de compétences. Une seule compétence utilisée cinq fois compte pour cinq. |
| Nombre de compétences distinctes utilisées. |
| Nombre total d'invocations de connecteurs. Un connecteur utilisé trois fois compte pour trois. |
| Nombre de connecteurs distincts utilisés. |
Exemple de requête
curl -X GET "https://api.anthropic.com/v1/organizations/analytics/users?date=2025-01-01&limit=3"
--header "x-api-key: $YOUR_API_KEY"
2. Résumé d'activité
GET /v1/organizations/analytics/summaries
Retourne un résumé de haut niveau de l'engagement et de l'utilisation des sièges par jour pour votre organisation sur une plage de dates donnée. La réponse est une liste de jours avec des comptages agrégés dans la plage de dates. Notez que la différence maximale entre ending_date et starting_date doit être 31 jours, et il y a un délai de trois jours dans la disponibilité des données. Ceci est utile pour suivre les utilisateurs actifs quotidiens, les tendances hebdomadaires et mensuelles, et l'allocation des sièges en un coup d'œil.
Nous définissons « actif » si l'une des conditions suivantes est vraie :
L'utilisateur a envoyé au moins un message de chat sur Claude (chat).
L'utilisateur a eu au moins une session Claude Code (locale ou distante) associée à l'organisation C4E, avec utilisation d'outils/activité git
L'utilisateur a eu au moins une session Claude Cowork avec utilisation d'outils ou activité de message.
Paramètres de requête
Champ | Type | Requis | Description |
| chaîne | Oui | La date de début pour récupérer les données, au format YYYY-MM-DD. Il y a un délai de trois jours dans la disponibilité des données, donc les données les plus récentes auxquelles vous pouvez accéder sont d'il y a trois jours. |
| chaîne | Non | La date de fin optionnelle pour récupérer les données, au format YYYY-MM-DD. Celle-ci est exclusive. |
Champs de réponse
Champ | Description |
| Premier jour pour lequel les métriques sont agrégées, interprété comme une date UTC. Il y a un délai de trois jours dans la disponibilité des données, donc les données les plus récentes auxquelles vous pouvez accéder sont d'il y a trois jours. |
| Dernier jour (exclusif) pour lequel les métriques sont agrégées, interprété comme une date UTC |
| Nombre d'utilisateurs actifs à la date spécifiée (basé sur la consommation de jetons). |
| Nombre d'utilisateurs actifs dans la fenêtre glissante de 7 jours se terminant à la date spécifiée. |
| Nombre d'utilisateurs actifs dans la fenêtre glissante de 30 jours se terminant à la date spécifiée. |
| Nombre total de sièges actuellement assignés dans votre organisation. |
| Nombre d'invitations en attente qui n'ont pas encore été acceptées. |
| Nombre d'utilisateurs avec ≥1 session Cowork ce jour-là |
| Nombre d'utilisateurs avec ≥1 session Cowork dans une période glissante de 7 jours. |
| Nombre d'utilisateurs avec ≥1 session Cowork dans une période glissante de 30 jours. |
Remarque : Les fenêtres glissantes pour les comptages hebdomadaires et mensuels regardent vers l'arrière à partir de la date spécifiée (incluse). Si les données sont incomplètes pour certains jours dans la fenêtre (par exemple, si la date est inférieure à 30 jours dans le passé), le comptage mensuel peut sous-estimer l'activité.
Exemple de requête
curl -X GET "https://api.anthropic.com/v1/organizations/analytics/summaries?starting_date=2025-01-01"
--header "x-api-key: $YOUR_API_KEY"
3. Utilisation du projet Chat
GET /v1/organizations/analytics/apps/chat/projects
Retourne les données d'utilisation ventilées par projet de chat pour une date donnée. Les projets sont spécifiques à Claude (chat), donc ce point de terminaison se concentre sur cette surface. Chaque élément affiche le nom du projet, le nombre d'utilisateurs uniques qui ont interagi avec celui-ci, et le nombre total de conversations menées dans ce projet.
Paramètres de requête
Champ | Type | Requis | Description |
| chaîne | Oui | La date pour laquelle récupérer les métriques, au format YYYY-MM-DD. Il y a un délai de trois jours dans la disponibilité des données, donc les données les plus récentes auxquelles vous pouvez accéder proviennent d'il y a trois jours. |
| entier | Non | Nombre d'enregistrements par page (par défaut : 100, max : 1000). |
| chaîne | Non | Jeton de curseur d'une réponse précédente du champ |
Champs de réponse (par projet)
Champ | Description |
| Le nom du projet. |
| L'identifiant du projet balisé, c'est-à-dire « claude_proj_{ID} » |
| Nombre d'utilisateurs uniques qui ont utilisé ce projet à la date donnée. |
| Nombre de conversations dans ce projet à la date donnée. |
| Nombre total de messages envoyés dans ce projet à la date donnée. |
| L'horodatage de création du projet. |
|
|
Exemple de requête
curl -X GET "https://api.anthropic.com/v1/organizations/analytics/apps/chat/projects?date=2025-01-01&limit=50"
--header "x-api-key: $YOUR_API_KEY"
4. Utilisation des compétences
GET /v1/organizations/analytics/skills
Retourne les données d'utilisation des compétences dans Claude (chat) et Claude Code au sein de votre organisation pour une date donnée. Chaque élément représente une compétence et indique le nombre d'utilisateurs uniques qui l'ont utilisée.
Paramètres de requête
Champ | Type | Requis | Description |
| chaîne | Oui | La date pour laquelle récupérer les métriques, au format YYYY-MM-DD. Il y a un délai de trois jours dans la disponibilité des données, donc les données les plus récentes auxquelles vous pouvez accéder datent de trois jours. |
| entier | Non | Nombre d'enregistrements par page (par défaut : 100, max : 1000). |
| chaîne | Non | Jeton de curseur d'une réponse précédente's |
Champs de réponse (par compétence)
Champ | Description |
| Le nom de la compétence. |
| Nombre d'utilisateurs uniques qui ont utilisé cette compétence à la date donnée. |
| Nombre de conversations distinctes dans lesquelles la compétence a été utilisée au moins une fois, en chat. |
| Nombre de sessions distantes distinctes dans lesquelles la compétence a été utilisée au moins une fois, dans Claude Code. |
Métriques Office Agent (par compétence)
Chaque enregistrement de compétence inclut également un objet office_metrics qui rapporte le nombre de sessions Office Agent ayant utilisé la compétence, ventilé par produit. Ce bloc est toujours présent—les organisations sans utilisation d'Office Agent voient des valeurs nulles.
Champ | Description |
| Nombre de sessions Office Agent distinctes dans Excel dans lesquelles cette compétence a été utilisée. |
| Nombre de sessions Office Agent distinctes dans PowerPoint dans lesquelles cette compétence a été utilisée. |
Métriques Claude Cowork (par compétence)
Chaque enregistrement de compétence inclut également un objet cowork_metrics qui rapporte le nombre de sessions Cowork ayant utilisé la compétence. Ce bloc est toujours présent—les organisations sans utilisation de Cowork voient des valeurs nulles.
| Nombre de sessions Cowork distinctes dans lesquelles cette compétence a été utilisée au moins une fois. |
Exemple de requête
curl -X GET "https://api.anthropic.com/v1/organizations/analytics/skills?date=2025-01-01"
--header "x-api-key: $YOUR_API_KEY"
5. Utilisation des connecteurs
GET /v1/organizations/analytics/connectors
Retourne les données d'utilisation MCP/connecteur dans Claude (chat) et Claude Code au sein de votre organisation pour une date donnée. Chaque élément représente un connecteur et indique le nombre d'utilisateurs uniques qui l'ont utilisé. Les noms de connecteurs sont normalisés à partir de diverses sources — par exemple, "Atlassian MCP server," "mcp-atlassian," et "atlassian_MCP" apparaîtraient tous comme "atlassian."
Paramètres de requête
Champ | Type | Requis | Description |
| chaîne | Oui | La date pour laquelle récupérer les métriques, au format YYYY-MM-DD. Il y a un délai de trois jours dans la disponibilité des données, donc les données les plus récentes auxquelles vous pouvez accéder datent de trois jours. |
| entier | Non | Nombre d'enregistrements par page (par défaut : 100, max : 1000). |
| chaîne | Non | Jeton de curseur du champ |
Champs de réponse (par connecteur)
Champ | Description |
| Le nom normalisé du connecteur. |
| Nombre d'utilisateurs uniques qui ont utilisé ce connecteur à la date donnée. |
| Nombre de conversations distinctes dans lesquelles le connecteur a été utilisé au moins une fois, en chat. |
| Nombre de sessions distantes distinctes dans lesquelles le connecteur a été utilisé au moins une fois, dans Claude Code. |
Métriques Office Agent (par connecteur)
Chaque enregistrement de connecteur inclut également un objet office_metrics qui rapporte le nombre de sessions Office Agent ayant utilisé le connecteur, ventilé par produit. Ce bloc est toujours présent—les organisations sans utilisation d'Office Agent voient des valeurs nulles.
Champ | Description |
| Nombre de sessions distinctes d'Office Agent dans Excel dans lesquelles ce connecteur a été utilisé. |
| Nombre de sessions distinctes d'Office Agent dans PowerPoint dans lesquelles ce connecteur a été utilisé. |
Métriques Claude Cowork (par connecteur)
Chaque enregistrement de connecteur inclut également un objet cowork_metrics qui rapporte le nombre de sessions Cowork ayant utilisé le connecteur. Ce bloc est toujours présent—les organisations sans utilisation de Cowork voient des valeurs nulles.
Champ | Description |
| Nombre de sessions Cowork distinctes dans lesquelles ce connecteur a été utilisé au moins une fois. |
Exemple de requête
curl -X GET "https://api.anthropic.com/v1/organizations/analytics/connectors?date=2025-01-01"
--header "x-api-key: $YOUR_API_KEY"
Points de terminaison de coût et d'utilisation
Remarque : Les points de terminaison de coût et d'utilisation s'appliquent aux plans Enterprise basés sur l'utilisation. Pour les plans Enterprise basés sur les sièges, ces points de terminaison refléteront uniquement les crédits d'utilisation.
Les points de terminaison de coût et d'utilisation (disponibles maintenant en bêta) donnent à votre organisation un accès programmatique aux données de coût en jetons et en USD pour Claude (chat), Claude Code, Cowork, Office Agent et Claude dans Chrome.
Il y a quatre points de terminaison en deux formes :
Forme | Points de terminaison | Retours |
Par utilisateur (une ligne par utilisateur, triée) | user_usage_report, user_cost_report | Utilisateurs classés par jetons ou dépenses sur une plage de dates. |
Regroupé (une ligne par intervalle de temps, optionnellement groupé) | usage_report, cost_report | Utilisation ou coût au fil du temps, ventilé par produit, modèle ou autres dimensions. |
Utilisez les points de terminaison par utilisateur pour répondre à « qui sont mes plus gros dépensiers ? » Utilisez les points de terminaison regroupés pour répondre à « comment l'utilisation évolue-t-elle jour après jour, ventilée par produit ? »
Actualisation et finalité des données
Les données sont généralement disponibles dans les quatre heures suivant l'utilisation sous-jacente, mais peuvent prendre jusqu'à 24 heures. Chaque réponse inclut un horodatage data_refreshed_at indiquant l'export à partir duquel la réponse a été servie ; l'utilisation qui s'est produite après ce repère n'est pas encore reflétée.
Les valeurs pour une date donnée peuvent être révisées jusqu'à 30 jours à mesure que les événements tardifs arrivent et que les réconciliations s'exécutent. Pour les totaux de qualité facturation, interrogez les dates d'au moins 30 jours dans le passé.
Lorsque ending_at est omis (la valeur par défaut est « maintenant »), la réponse inclura une queue de données après data_refreshed_at qui est incomplète. Pour des résultats stables lors d'appels répétés, définissez ending_at sur une valeur égale ou antérieure à un data_refreshed_at précédemment retourné.
Limites de plage de dates
starting_at peut être jusqu'à 365 jours dans le passé, et une seule requête peut s'étendre sur au maximum 31 jours (ending_at - starting_at). Pour couvrir une période plus longue, émettez plusieurs requêtes avec des fenêtres adjacentes. Aucune donnée n'est disponible avant 2026-01-01.
Pagination
Les quatre points de terminaison de coût et d'utilisation sont paginés avec un curseur opaque. La première requête retourne jusqu'à limit lignes plus un curseur next_page ; transmettez ce curseur inchangé en tant que paramètre page sur la requête suivante, et répétez jusqu'à ce que has_more soit false.
Traitez next_page comme opaque : renvoyez-le inchangé sur la requête suivante et envoyez les mêmes paramètres de requête sur chaque page. Si une requête retourne 400 ou 410 avec un message concernant le curseur de page, ignorez-le et recommencez à partir de la première page.
Ne modifiez pas les paramètres de requête en cours de séquence. Les curseurs sont liés aux filtres et à la plage de dates qui les ont émis. Si vous modifiez products[], order_by, group_by[], la plage de dates ou tout filtre et transmettez un ancien curseur, vous obtiendrez une erreur 400.
Sérialisation des paramètres de liste
Les paramètres de liste utilisent la notation entre crochets : répétez le nom du paramètre avec [] pour chaque valeur.
products[]=chat&products[]=claude_code
L'objet Actor
Chaque ligne de résultat par utilisateur identifie l'utilisateur qui a généré l'utilisation.
{
"type": "user_actor",
"user_id": "user_01AbCdEfGh",
"name": "Jane Smith",
"email": "[email protected]"
}
Champ | Type | Description |
type | string | Toujours « user_actor ». |
user_id | string | L'ID de l'utilisateur. Même valeur acceptée par user_ids[]. |
name | string or null | Le nom de l'utilisateur. « Utilisateur supprimé » si l'utilisateur a été supprimé. |
string or null | L'adresse e-mail de l'utilisateur. Null lorsque l'utilisateur est supprimé. | |
deleted | boolean | True si le compte a été supprimé. |
6. Utilisation des jetons par utilisateur
GET /v1/organizations/analytics/user_usage_report
Retourne l'utilisation des jetons par utilisateur sur une plage de dates, triée selon la métrique de jetons choisie.
Paramètres de requête
Champ | Type | Requis | Par défaut | Description |
starting_at | RFC 3339 datetime | Oui | — | Début de la plage, inclus. Arrondi au début de l'heure en UTC. Doit être dans les 365 derniers jours. |
ending_at | RFC 3339 datetime | Non | maintenant | Fin de la plage, exclusive. La plage peut s'étendre sur au maximum 31 jours. |
products[] | un ou plusieurs de chat, claude_code, cowork, office_agent, claude_in_chrome, claude_design | Non | tous les produits basés sur les sièges | Surfaces de produits basées sur les sièges uniquement. Répétez le paramètre pour plusieurs valeurs. |
models[] | chaîne, max 100 entrées | Non | tous | Filtrer par noms de modèles spécifiques (par ex., claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5-20251001). |
user_ids[] | chaîne, max 100 entrées | Non | tous | Filtrer par utilisateurs spécifiques. Utile pour rechercher un ensemble connu d'utilisateurs sans paginer toute l'organisation. |
context_windows[] | un ou plusieurs de 0-200k, 200k-1M | Non | tous | Filtrer par niveaux de tarification de fenêtre contextuelle spécifiques. Utilisez group_by[]=context_window pour ventiler les valeurs par niveau. |
inference_geos[] | un ou plusieurs de global, us, not_available | Non | tous | Filtrer par régions d'inférence spécifiques. not_available correspond aux lignes où la région n'est pas définie. Utilisez group_by[]=inference_geo pour ventiler les valeurs par région. |
speeds[] | un ou plusieurs de fast, standard | Non | tous | Filtrer par mode d'inférence rapide ou standard. Utilisez group_by[]=speed pour ventiler les valeurs par mode. |
group_by[] | un ou plusieurs de product, model, context_window, inference_geo, speed | Non | aucun | Ventiler chaque ligne d'utilisateur selon les dimensions données. Avec des dimensions présentes, un utilisateur peut s'étendre sur plusieurs lignes. |
order_by | total_tokens, output_tokens, uncached_input_tokens | Non | total_tokens | Métrique de tri. |
exclude_deleted_users | booléen | Non | faux | Lorsque la valeur est true, les lignes des utilisateurs supprimés sont omises. |
order | desc, asc | Non | desc | Direction de tri. |
limit | entier 1–1000 | Non | 20 | Lignes par page. |
page | chaîne de curseur opaque | Non | — | La valeur next_page d'une réponse précédente. |
Champs de réponse
Champ | Description |
organization_id | ID de l'organisation à laquelle appartient la clé API. |
data | Tableau d'entrées, trié par order_by dans le sens de l'ordre. |
data[].actor | L'objet Actor pour l'utilisateur qui a généré l'utilisation. |
data[].product | Lorsque group_by[] inclut product, la surface du produit. Sinon null. |
data[].model | Lorsque group_by[] inclut model, le nom du modèle. Sinon null. |
data[].context_window | Lorsque group_by[] inclut context_window, le niveau de contexte (0-200k ou 200k-1M). Sinon null. |
data[].inference_geo | Lorsque group_by[] inclut inference_geo, la région d'inférence. Sinon null. |
data[].speed | Lorsque group_by[] inclut speed : fast ou standard. Sinon null. |
data[].uncached_input_tokens | Jetons d'entrée qui n'ont pas été servis à partir du cache de prompt. |
data[].cache_creation.ephemeral_5m_input_tokens | Jetons écrits dans le cache de prompt de 5 minutes. |
data[].cache_creation.ephemeral_1h_input_tokens | Jetons écrits dans le cache de prompt d'1 heure. |
data[].cache_read_input_tokens | Jetons d'entrée servis à partir du cache de prompt. |
data[].output_tokens | Jetons de sortie générés. |
data[].total_tokens | Somme de tous les composants de jetons ci-dessus. Le order_by=total_tokens par défaut trie sur cette valeur. |
data[].server_tool_use.web_search_requests | Nombre d'appels d'outil de recherche web. |
data[].requests | Nombre de requêtes API |
has_more | Indique si une autre page existe. |
next_page | Curseur opaque pour la page suivante ; null lorsque has_more est false. |
data_refreshed_at | Horodatage de l'export de données à partir duquel cette réponse a été servie. |
Exemple de requête
curl "https://api.anthropic.com/v1/organizations/analytics/user_usage_report?starting_at=2026-03-01T00:00:00Z&products[]=claude_code&order_by=output_tokens&limit=20" \
--header "x-api-key: $YOUR_API_KEY"
7. Coût par utilisateur
GET /v1/organizations/analytics/user_cost_report
Retourne le coût USD par utilisateur sur une plage de dates, trié par montant remisé ou prix catalogue.
Paramètres de requête
Identique à user_usage_report, avec ces différences :
Champ | Type | Requis | Par défaut | Description |
order_by | amount, list_amount | Non | amount | Métrique de tri. |
group_by[] | un ou plusieurs parmi product, model, context_window, inference_geo, speed, cost_type, token_type | Non | aucun | Décompose la ligne de chaque utilisateur selon les dimensions données. cost_type retourne une ligne par composant de coût (tokens, web search, code execution) ; token_type retourne une ligne par type de token. |
Tous les autres paramètres (starting_at, ending_at, products[], models[], user_ids[], order, limit, page) sont identiques.
Champs de réponse
Champ | Description |
organization_id | ID de l'organisation à laquelle appartient la clé API. |
data | Tableau d'entrées, trié par order_by dans le sens de tri. |
data[].actor | L'objet Actor pour l'utilisateur qui a généré le coût. |
data[].product, data[].model, data[].context_window, data[].inference_geo, data[].speed | Lorsque la valeur group_by[] correspondante est définie, la valeur de la dimension. Sinon null. |
data[].currency | Toujours « USD ». |
data[].amount | Montant en cents fractionnaires — coût de consommation brut après remises négociées. Par exemple, « 41280.000000 » représente 412,80 $. La valeur est additionnée sur tous les produits du filtre products[]. |
data[].list_amount | Montant au prix catalogue (avant remise) en cents fractionnaires, même format. |
data[].cost_type | Lorsque group_by[] inclut cost_type : l'un de tokens, web_search, code_execution. null si non défini. |
data[].token_type | Lorsque group_by[] inclut token_type : l'un de uncached_input_tokens, output_tokens, cache_read_input_tokens, cache_creation.ephemeral_5m_input_tokens, cache_creation.ephemeral_1h_input_tokens. Non-null uniquement sur les lignes où cost_type est tokens. |
data[].requests | Nombre de requêtes API |
has_more | Indique si une autre page existe. |
next_page | Curseur opaque pour la page suivante. |
data_refreshed_at | Horodatage de l'export de données à partir duquel cette réponse a été servie. |
Analyse des montants
amount et list_amount sont des chaînes décimales libellées en cents. « 41280.000000 » représente 41 280 cents (412,80 $ US). Pour convertir en dollars, analysez comme décimal et divisez par 100. Évitez l'analyse en virgule flottante binaire pour les valeurs qui pourraient dépasser plusieurs millions de dollars.
Exemple de requête
curl "https://api.anthropic.com/v1/organizations/analytics/user_cost_report?starting_at=2026-03-01T00:00:00Z&order_by=amount&limit=20" \
--header "x-api-key: $YOUR_API_KEY"
8. Utilisation des jetons au fil du temps
GET /v1/organizations/analytics/usage_report
Utilisation des jetons au fil du temps, regroupée par minute, heure ou jour, optionnellement ventilée par produit, modèle, fenêtre de contexte, région d'inférence ou vitesse.
Paramètres de requête
Champ | Type | Requis | Par défaut | Description |
starting_at | Date-heure RFC 3339 | Oui | — | Début de la plage, inclus. Doit être dans les 365 derniers jours. Arrondi à la limite bucket_width la plus proche en UTC. |
ending_at | Date-heure RFC 3339 | Non | maintenant | Fin de la plage, exclusive. La plage peut s'étendre sur au maximum 31 jours. Arrondie à la limite bucket_width la plus proche en UTC. |
bucket_width | 1m, 1h, 1d | Non | 1d | Granularité du compartiment temporel : minute, heure ou jour. |
group_by[] | un ou plusieurs parmi product, model, context_window, inference_geo, speed | Non | aucun | Dimensions à ventiler dans chaque compartiment. Omettez pour un seul agrégat par compartiment. |
products[] | un ou plusieurs parmi chat, claude_code, cowork, office_agent, claude_in_chrome, claude_design | Non | tous | Filtrer les surfaces de produit spécifiques. |
models[] | chaîne, 100 entrées maximum | Non | tous | Filtrer les noms de modèles spécifiques. |
context_windows[] | un ou plusieurs parmi 0-200k, 200k-1M | Non | tous | Filtrer les niveaux de tarification de fenêtre de contexte spécifiques. Utilisez group_by[]=context_window pour ventiler les valeurs par niveau. |
inference_geos[] | un ou plusieurs parmi global, us, not_available | Non | tous | Filtrer les régions d'inférence spécifiques. not_available correspond aux lignes où la région n'est pas définie. Utilisez group_by[]=inference_geo pour ventiler les valeurs par région. |
speeds[] | un ou plusieurs parmi rapide, standard | Non | tous | Filtrer par mode d'inférence rapide ou standard. |
user_ids[] | chaîne, max 100 entrées | Non | tous | Filtrer par utilisateurs spécifiques. |
limit | entier | Non | varie | Buckets par page. Les valeurs par défaut et maximales varient selon bucket_width : 1d → 7 (max 31) ; 1h → 24 (max 168) ; 1m → 60 (max 256). |
page | chaîne de curseur opaque | Non | — | La valeur next_page d'une réponse précédente. |
Champs de réponse
Champ | Description |
organization_id | ID de l'organisation à laquelle appartient la clé API. |
data | Tableau d'entrées, une par bucket temporel. |
data[].starting_at | Début du bucket. |
data[].ending_at | Fin du bucket. |
data[].results | Tableau d'entrées, une par groupe dans le bucket. Une seule entrée avec tous les champs de dimension null lorsque group_by[] est omis. |
data[].results[].product, .model, .context_window, .inference_geo, .speed | Lorsque la valeur group_by[] correspondante est définie, la valeur de dimension. Sinon null. |
data[].results[].uncached_input_tokens | Tokens d'entrée non servis à partir du cache de prompt. |
data[].results[].cache_creation.ephemeral_5m_input_tokens | Tokens écrits dans le cache de prompt de 5 minutes. |
data[].results[].cache_creation.ephemeral_1h_input_tokens | Tokens écrits dans le cache de prompt d'1 heure. |
data[].results[].cache_read_input_tokens | Tokens d'entrée servis à partir du cache de prompt. |
data[].results[].output_tokens | Tokens de sortie générés. |
data[].results[].server_tool_use.web_search_requests | Nombre d'appels d'outil de recherche web. |
has_more | Indique si d'autres buckets existent. |
next_page | Curseur opaque pour la page suivante. |
data_refreshed_at | Horodatage de l'export de données à partir duquel cette réponse a été servie. |
Exemple de requête
--header "x-api-key: $YOUR_API_KEY"
9. Coût au fil du temps
GET /v1/organizations/analytics/cost_report
Retourne le coût en USD au fil du temps, regroupé et agrégé de la même manière que usage_report.
Paramètres de requête
Identiques à usage_report (bucket_width, group_by[], filters, limit, page). Les valeurs group_by[] acceptent également cost_type et token_type sur ce point de terminaison.
Champs de réponse
Champ | Description |
organization_id | ID de l'organisation à laquelle appartient la clé API. |
data | Tableau d'entrées, une par intervalle de temps. |
data[].starting_at | Début de l'intervalle. |
data[].ending_at | Fin de l'intervalle. |
data[].results | Tableau d'entrées, une par groupe dans l'intervalle. |
data[].results[].product, .model, .context_window, .inference_geo, .speed | Lorsque la valeur group_by[] correspondante est définie, la valeur de la dimension. Sinon, null. |
data[].results[].cost_type | Lorsque group_by[] inclut cost_type : tokens, web_search ou code_execution. null si non défini. |
data[].results[].token_type | Lorsque group_by[] inclut token_type : l'un des types de jetons énumérés sous le point de terminaison 7. Point de terminaison de coût uniquement — token_type est rejeté sur usage_report. |
data[].results[].currency | Toujours "USD". |
data[].results[].amount | Montant en cents fractionnaires — coût de consommation brut après remises négociées. |
data[].results[].list_amount | Montant au prix catalogue (avant remise) en cents fractionnaires. |
has_more | Indique si d'autres intervalles existent. |
next_page | Curseur opaque pour la page suivante. |
data_refreshed_at | Horodatage de l'export de données à partir duquel cette réponse a été servie. |
Exemple de requête
curl "https://api.anthropic.com/v1/organizations/analytics/cost_report?starting_at=2026-03-01T00:00:00Z&bucket_width=1d&group_by[]=model" \
--header "x-api-key: $YOUR_API_KEY"
