Obtenir les dépenses d’IA
Dépenses d’IA d’une période, par émetteur, éditeur du modèle, modèle ou centre de coûts.
GET/v1/workspaces/{regionId}/ai-spend
Paramètres
periodstringLe mois, YYYY-MM. Par défaut, le mois en cours.
groupBy"invoicer" | "vendor" | "model" | "costCenter"Ce qu’est chaque groupe. Par défaut invoicer, qui correspond à vos factures. vendor additionne un éditeur de modèle entre émetteurs (ce que vous dépensez pour Claude, quel que soit celui qui le facture), model un identifiant de modèle tel que facturé, costCenter les centres de coûts des règles d’attribution.
Retour
200 OK avec l’objet présenté dans la réponse.
Plus de détails
Pour une période (par défaut le mois en cours), les dépenses d’IA de chaque émetteur connecté, groupées selon groupBy : mois en cours, prévision pour toute la période, dernier mois clôturé et variation par rapport à celui-ci, avec la consommation par compteur et, à côté de chaque émetteur, les lignes de bon de commande ouvertes émises à son nom et ce qu’il y reste. Les chiffres sont les lignes d’IA que les connexions ont synchronisées (chaque jour pour current_cost, comme le coût du mois en cours aujourd’hui). Un émetteur dont la connexion ne lit que les factures affiche le mois clôturé : son mois en cours et sa prévision sont absents (un compte AWS qui ne lit que les factures n’a aucune ligne d’IA et figure dans notReadable). La prévision est celle du fournisseur lorsqu’il en donne une (AWS Cost Explorer), sinon linéaire sur les jours écoulés. Les montants sont dans la devise de facturation de chaque émetteur, et les totaux comptent une entrée par devise, jamais additionnés entre devises. Grouper par costCenter suit les règles d’attribution (GetAiAttribution) ; une ligne qu’aucune règle ne retient est non attribuée.
Champs de la réponse
periodstringLe mois auquel les chiffres se rapportent, YYYY-MM.
asOfstringQuand la ligne la plus récente a été synchronisée, ISO 8601. Le mois en cours est arrêté à ce moment, pas à maintenant.
totalsArray<object>Une entrée par devise de facturation, jamais additionnées entre devises : monthToDate, forecast pour toute la période, lastMonth (le dernier mois clôturé) et changePct, la variation de la prévision par rapport à lastMonth, en pourcentage.
groups[].keystringSelon groupBy : l’identifiant de la connexion cloud de l’émetteur ; l’éditeur du modèle (anthropic, openai, google, meta, mistral, amazon, microsoft, cohere, xai, deepseek ou unknown pour un type d’usage que Pleaxy n’a pas encore mappé) ; l’identifiant du modèle tel que facturé, par exemple claude-sonnet-4-5 ou gemini-2.5-pro ; ou le code du centre de coûts.
groups[].labelstringCe qu’il faut afficher pour le groupe : le libellé de compte de la connexion, le nom de l’éditeur du modèle, le nom du modèle ou le nom du centre de coûts.
groups[].invoicerstringQui facture les dépenses du groupe, un cloud ou un fournisseur IA, avec invoicerId pour sa connexion : toujours avec groupBy invoicer et, pour un groupe par éditeur ou par modèle, lorsqu’une seule connexion facture le tout (Claude uniquement via Bedrock, par exemple) ; absent lorsqu’il y en a plusieurs. Un groupe par centre de coûts n’en a jamais.
groups[].monthToDatenumberDans la devise du groupe, avec forecast, lastMonth et changePct comme dans totals. monthToDate et forecast sont absents pour un émetteur dont la connexion ne lit que les factures : il n’affiche que lastMonth.
groups[].quantitiesArray<object>La consommation par compteur. Lignes mesurées en tokens : input_tokens, output_tokens, cached_input_tokens, cache_write_tokens, batch_input_tokens, batch_output_tokens, images, audio_seconds, embeddings_tokens ou requests. Lignes de capacité : gpu_hours, ptu_hours, model_units_hours ou cluster_hours. other pour une ligne que Pleaxy n’a pas encore mappée à un compteur. unit est l’unité de la quantité : 1M_tokens, tokens, requests, images, seconds, gpu_hours, ptu_hours, model_unit_hours ou units pour une ligne non mappée.
groups[].purchaseOrdersArray<object>Les lignes de bon de commande ouvertes émises à l’émetteur du groupe, avec ce qu’il reste sur chacune (remaining, dans la devise du groupe) après les factures déjà imputées dessus. Uniquement pour un groupe avec émetteur.
groups[].servicesArray<object>Uniquement avec groupBy invoicer : les chiffres du groupe par service propre du fournisseur (Amazon Bedrock, avec les modèles du marketplace qu’il facture ; Amazon SageMaker ; Vertex AI ; ...), tels que l’onglet Cloud de la page Dépenses les affiche.
unattributedArray<object>Uniquement avec groupBy costCenter : les dépenses qu’aucune règle d’attribution n’a retenues, une entrée par devise sous la forme d’un groupe, affichées et jamais masquées. Écrivez une règle pour elles avec SetAiAttribution.
notReadableArray<object>Les comptes connectés sans ligne d’IA, et pourquoi : needs_current_cost pour un compte AWS dont la connexion n’autorise pas le coût actuel (AWS ne fournit ses lignes d’IA que via Cost Explorer), not_synced_yet pour un compte dont les lignes d’IA n’ont pas encore été lues. Absent lorsqu’il n’y en a aucun.
Erreurs
- 400 Bad Request - period n’est pas un mois au format YYYY-MM, ou groupBy n’est ni invoicer, ni vendor, ni model, ni costCenter.
- 401 Unauthorized - Aucun identifiant n’a été fourni, ou la valeur du jeton Bearer / de X-Api-Key est manquante, invalide, expirée ou révoquée.
- 403 Forbidden - Le jeton Bearer ou la clé API de l’appelant ne donne pas accès à cet espace de travail (regionId), ou n’a pas le rôle requis.
GET /v1/workspaces/reg_01k5x8p9j3q7vn2mhb4tzc6rde.buyer/ai-spend?period=2026-10&groupBy=vendor{
"period": "2026-10",
"asOf": "2026-10-29T06:10:00.000Z",
"totals": [
{ "currency": "USD", "monthToDate": 57280.14, "forecast": 61400, "lastMonth": 48930.55, "changePct": 25.5 }
],
"groups": [
{
"key": "anthropic",
"label": "Anthropic",
"invoicer": "aws",
"invoicerId": "conn_01k7q2n4m8b3xd5fwj9hz6rsvt",
"currency": "USD",
"monthToDate": 44612.3,
"forecast": 47830,
"lastMonth": 38104.2,
"changePct": 25.5,
"quantities": [
{ "meter": "input_tokens", "unit": "1M_tokens", "quantity": 7120.4 },
{ "meter": "output_tokens", "unit": "1M_tokens", "quantity": 918.3 },
{ "meter": "cached_input_tokens", "unit": "1M_tokens", "quantity": 15480 },
{ "meter": "cache_write_tokens", "unit": "1M_tokens", "quantity": 1288.7 }
],
"purchaseOrders": [ { "poId": "PO-8842", "lineNo": 1, "remaining": 4200 } ]
},
{
"key": "amazon",
"label": "Amazon",
"invoicer": "aws",
"invoicerId": "conn_01k7q2n4m8b3xd5fwj9hz6rsvt",
"currency": "USD",
"monthToDate": 12667.84,
"forecast": 13570,
"lastMonth": 10826.35,
"changePct": 25.3,
"quantities": [
{ "meter": "input_tokens", "unit": "1M_tokens", "quantity": 10874.8 },
{ "meter": "output_tokens", "unit": "1M_tokens", "quantity": 1240 }
],
"purchaseOrders": [ { "poId": "PO-8842", "lineNo": 1, "remaining": 4200 } ]
}
]
}