Ce guide couvre les limites de dépenses et les demandes d'augmentation de limites de dépenses pour votre organisation Claude Enterprise à l'aide de l'API Claude Enterprise Admin. Les limites de dépenses vous permettent de plafonner les dépenses en crédits d'utilisation de chaque membre sur une période récurrente, de voir d'où provient la limite de chaque membre, et d'examiner ou de traiter les demandes des membres pour une limite plus élevée.
Pour les rapports d'utilisation et de coûts par utilisateur et par période, consultez le guide de référence de l'API Analytics.
L'API Claude Enterprise Admin est actuellement en version bêta publique et disponible pour les organisations disposant de plans Enterprise avec crédits d'utilisation activés.
Aperçu
Il y a huit points de terminaison répartis sur deux ressources :
Ressource | Points de terminaison | Utilisation |
Limites de dépenses |
| Lire la limite effective et les dépenses cumulées de chaque membre ; définir ou effacer un remplacement par utilisateur. |
Demandes d'augmentation de limites de dépenses |
| Lister les demandes des membres pour une limite plus élevée, avec le contexte nécessaire pour décider ; approuver ou refuser chaque demande. |
Utilisez les points de terminaison des limites de dépenses pour répondre à « Quelle limite s'applique à chaque membre, d'où provient-elle et à quel point en sont-ils ? » et pour définir un remplacement par utilisateur. Utilisez les points de terminaison des demandes d'augmentation de limites de dépenses pour traiter la file d'attente des demandes soumises par les membres.
Conditions préalables et authentification
Votre organisation doit être sur un plan Claude Enterprise.
Les crédits d'utilisation doivent être activés pour votre organisation. Votre propriétaire principal peut activer cela sous Paramètres de facturation dans Claude.
Le propriétaire principal doit créer une clé API Admin avec l'une ou les deux portées suivantes :
read:spend_limits(requis pour tous les points de terminaisonGET)write:spend_limits(requis pour les points de terminaisonPOSTetDELETE)
Transmettez la clé dans l'en-tête x-api-key à chaque demande.
Important : Ne partagez pas les clés API publiquement et ne les archivez pas dans le contrôle de source.
Créer une clé API Admin pour votre organisation Claude Enterprise
Connectez-vous en tant que propriétaire principal — Seul le propriétaire principal de votre organisation parent Claude Enterprise peut créer ces clés.
Ouvrir les paramètres API — Allez à Paramètres de l'organisation > API et trouvez la section Clés.
Cliquez et créez une clé — Nommez la clé et sélectionnez les portées dont vous avez besoin dans le tableau des portées. Vous pouvez combiner les portées de différentes API (par exemple,
read:analyticsetread:spend_limits) sur une seule clé.Copiez et stockez le secret — Copiez le secret affiché (commençant par
sk-ant-api01-) et stockez-le dans votre gestionnaire de secrets. Le secret complet n'est affiché qu'une seule fois.
URL de base
https://api.anthropic.com
Limitation de débit
Les huit points de terminaison partagent une seule limite par organisation de 60 demandes par minute. Les demandes dépassant la limite retournent 429 Trop de demandes.
Pagination
GET /v1/organizations/spend_limits/effective et GET /v1/organizations/spend_limit_increase_requests sont paginés avec un curseur opaque. La première demande retourne jusqu'à limit lignes plus un curseur next_page. Transmettez ce curseur inchangé en tant que paramètre page à la demande suivante, et répétez jusqu'à ce que next_page soit null.
Important : Ne modifiez pas les paramètres de requête en cours de séquence. Les curseurs sont liés aux filtres qui les ont émis. Si vous modifiez user_ids[], status[] ou actor_ids[] et transmettez un ancien curseur, vous obtiendrez une erreur 400 avec « le curseur ne correspond pas aux paramètres de requête actuels ». Commencez plutôt une nouvelle séquence à partir de la première page.
Traitez la chaîne de curseur comme opaque : ne l'analysez pas, ne la modifiez pas et ne la construisez pas vous-même.
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.
user_ids[]=user_01AbCdEfGh&user_ids[]=user_01JkLmNoPq
Réponses d'erreur
Statut | Signification |
400 | Entrée invalide, valeur de paramètre non prise en charge, le curseur de page ne correspond pas aux paramètres actuels, ou une condition préalable n'est pas remplie (voir les validations par point de terminaison). |
401 | En-tête |
403 | La clé API n'a pas la portée requise ( |
404 | Ressource non trouvée, ou clé API inconnue, expirée ou révoquée. |
429 | Limite de débit dépassée. |
500 | Erreur interne. |
Les corps d'erreur ont la forme :
{"type": "error", "error": {"type": "<error_type>", "message": "..."}, "request_id": "req_..."}
error.type est un discriminateur dépendant du statut : invalid_request_error (400), authentication_error (401), permission_error (403), not_found_error (404), rate_limit_error (429), api_error (500). request_id est toujours présent et est la valeur à citer lors de la prise de contact avec le support. Le tableau Validations sous chaque endpoint liste les messages spécifiques.
Concepts
La hiérarchie des limites de dépenses
Les dépenses en crédits d'utilisation de chaque membre sont plafonnées par une limite de dépense effective, résolue à partir d'une hiérarchie de niveaux de portée. Lorsqu'un membre n'a pas de remplacement par utilisateur, il hérite de la limite configurée pour son niveau de siège, son groupe (si votre organisation utilise des limites basées sur les groupes), ou la valeur par défaut à l'échelle de l'organisation.
La lecture de GET /v1/organizations/spend_limits/effective retourne chaque membre actuel avec sa limite effective résolue, d'où cette limite a été résolue (source), et ses dépenses cumulées pour la période. La définition d'un remplacement par utilisateur via POST /v1/organizations/spend_limits épingle un membre à une limite spécifique, indépendamment de ce qu'il hériterait autrement. La suppression du remplacement le ramène à la limite héritée.
Portée
Une portée identifie le niveau auquel une limite de dépense est écrite ou résolue :
Type | Champs | Signification |
|
| Un membre spécifique. |
|
| Une valeur par défaut de niveau de siège. Les valeurs |
|
| Une valeur par défaut de groupe, lorsque votre organisation gère les limites par groupe. |
| — | La valeur par défaut à l'échelle de l'organisation. |
scope.type est une chaîne ouverte. Les clients doivent traiter les valeurs inconnues comme opaques et passer outre plutôt que d'échouer. Des types de portée supplémentaires peuvent être ajoutés à l'avenir.
Période
period est la fenêtre récurrente sur laquelle la limite est appliquée et les dépenses sont réinitialisées. La seule valeur aujourd'hui est "monthly".
period est une chaîne ouverte. Les clients doivent traiter les valeurs inconnues comme opaques et passer outre plutôt que d'échouer. Des valeurs de période supplémentaires peuvent être ajoutées à l'avenir.
Montants et devise
Toutes les valeurs monétaires sont des chaînes en unités mineures de la devise de facturation de l'organisation (centimes, pour USD). Par exemple, "50000" représente 500,00 USD. Analysez comme un nombre décimal et divisez par 100 pour afficher les dollars. Évitez la virgule flottante binaire pour les grandes valeurs.
amount est nullable : null signifie illimité (pas de limite). "0" signifie que les crédits d'utilisation sont désactivés pour ce membre.
period_to_date_spend est le crédit d'utilisation accumulé par le membre depuis le début de la period actuelle, dans le même format d'unité mineure. Il peut inclure une partie fractionnaire (par exemple, "41280.125").
Cycle de vie de la demande d'augmentation
Une demande d'augmentation de limite de dépense est créée lorsqu'un membre clique sur « demander plus d'utilisation » dans claude.ai. Les demandes ne sont pas créées via cette API.
Statut | Signification |
| En attente d'action de l'administrateur. La demande porte normalement un |
| La demande a été résolue avec approbation : soit un administrateur l'a approuvée explicitement (en écrivant une limite de dépense par utilisateur au montant fourni par l'administrateur), soit une autre action d'administrateur a rendu les crédits d'utilisation disponibles pour le membre (par exemple, en augmentant une limite de niveau de siège ou en activant la facturation des crédits d'utilisation pour l'organisation), soit le support Anthropic a augmenté une limite au nom de l'organisation. |
| Un administrateur a refusé. |
approved et denied sont tous deux terminaux. Un membre a au maximum une demande pending à la fois.
L'approbation via POST …/approve écrit la même ligne de limite de dépenses par utilisateur que POST /v1/organizations/spend_limits écrit. La définition directe d'une limite de dépenses ne transition pas une demande en attente. Utilisez le point de terminaison d'approbation pour résoudre une demande.
Par défaut, Anthropic envoie un e-mail au membre lorsque sa demande est approuvée ou refusée. Passez suppress_notification: true sur approve ou deny pour supprimer cet e-mail (par exemple, lorsque votre propre système notifie le membre).
L'objet SpendLimit
Une limite configurée à un niveau de portée.
{
"type": "spend_limit",
"id": "spl_01AbCdEfGhIjKlMnOpQrSt",
"created_at": "2026-05-01T12:00:00Z",
"updated_at": "2026-05-03T09:14:11Z",
"scope": { "type": "user", "user_id": "user_01AbCdEfGh" },
"amount": "50000",
"currency": "USD",
"period": "monthly"
}Champ | Type | Description |
| string | Toujours |
| string | Préfixé |
| string (RFC 3339) | Quand cette limite a été définie pour la première fois. |
| string (RFC 3339) | Quand cette limite a été modifiée pour la dernière fois. |
| Portée | Le niveau auquel cette limite est écrite. Voir la section « Portée ». |
| string ou null | Limite pour la |
| string | ISO 4217. La devise de facturation de l'organisation. |
| string | La fenêtre récurrente sur laquelle |
L'objet SpendSummary
Une ligne de rapport calculée par membre : la limite effective du membre, sa provenance et ses dépenses cumulées pour la période. Pas une ressource adressable (pas de id).
{
"scope": { "type": "user", "user_id": "user_01AbCdEfGh" },
"amount": "50000",
"currency": "USD",
"period": "monthly",
"source": { "type": "seat_tier", "seat_tier": "enterprise_standard" },
"spend_limit_id": "spl_01XyZaBcDeFgHiJkLmNoPq",
"period_to_date_spend": "31402.5"
}Champ | Type | Description |
| Portée ( | Le membre pour lequel cette ligne est destinée. |
| string ou null | La limite effective pour la |
| string | ISO 4217. |
| string | La période de la limite de dépenses que |
| Portée | Où |
| chaîne | ID de la |
| chaîne | Les crédits d'utilisation du membre accumulés depuis le début de la |
L'objet SpendLimitIncreaseRequest
{
"type": "spend_limit_increase_request",
"id": "slir_01AbCdEfGhIjKlMnOpQrSt",
"created_at": "2026-05-04T16:22:09Z",
"status": "pending",
"resolved_at": null,
"resolved_by": null,
"actor": {
"type": "user_actor",
"user_id": "user_01AbCdEfGh",
"name": "Jane Smith",
"email_address": "[email protected]"
},
"spend_summary": {
"scope": { "type": "user", "user_id": "user_01AbCdEfGh" },
"amount": "50000",
"currency": "USD",
"period": "monthly",
"source": { "type": "seat_tier", "seat_tier": "enterprise_standard" },
"spend_limit_id": "spl_01XyZaBcDeFgHiJkLmNoPq",
"period_to_date_spend": "48900"
}
}Champ | Type | Description |
| chaîne | Toujours |
| chaîne | Préfixé |
| chaîne (RFC 3339) | Quand le membre a soumis la demande. |
| chaîne |
|
| chaîne (RFC 3339) ou null | Quand la demande a été approuvée ou refusée. |
| Actor ou null | Qui a approuvé ou refusé la demande : soit un |
| Actor ( | Le membre qui a soumis la demande. |
| SpendSummary ou null | Contexte de décision en direct pour le demandeur : sa limite effective et ses dépenses jusqu'à la date actuelle. Présent tant que |
Actor
Champ | Type | Description |
| chaîne |
|
| chaîne | Présent sur |
| chaîne ou null | Présent sur |
| chaîne ou null | Présent sur |
| chaîne | Présent sur |
Limites de dépenses
1. Lister les limites de dépenses effectives
GET /v1/organizations/spend_limits/effective
Retourne tous les membres actuels de l'organisation avec leur limite effective résolue et les dépenses cumulées pour la période. Les membres sans remplacement par utilisateur apparaissent avec source.type de seat_tier, rbac_group, ou organization. Les anciens membres ne sont pas listés.
Nécessite la portée : read:spend_limits.
Paramètres de requête
Champ | Type | Requis | Par défaut | Description |
| chaîne, max 100 entrées | Non | tous les membres | Restreindre à des membres spécifiques. Accepte les ID |
| entier 1–1000 | Non | 20 | Lignes par page. |
| chaîne de curseur opaque | Non | — | La valeur |
Champs de réponse
Champ | Type | Description |
| tableau de SpendSummary | Une entrée par membre, ordonnée par date d'adhésion à l'organisation (plus récent en premier). |
| chaîne ou null | Curseur opaque pour la page suivante ; |
Exemple de requête
curl "https://api.anthropic.com/v1/organizations/spend_limits/effective?limit=20" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY"
Exemple de réponse
{
"data": [
{
"scope": { "type": "user", "user_id": "user_01AbCdEfGh" },
"amount": "50000",
"currency": "USD",
"period": "monthly",
"source": { "type": "seat_tier", "seat_tier": "enterprise_standard" },
"spend_limit_id": "spl_01XyZaBcDeFgHiJkLmNoPq",
"period_to_date_spend": "31402.5"
}
],
"next_page": "page_..."
}
Validations
Condition | Statut | Message |
| 400 |
|
| 400 |
|
| 400 |
|
| 400 |
|
| 400 |
|
| 400 |
|
L'organisation n'est pas sur un plan Entreprise | 400 |
|
Facturation par crédit d'utilisation non activée | 400 |
|
2. Obtenir une limite de dépenses
GET /v1/organizations/spend_limits/{spend_limit_id}
Retourne une limite de dépenses unique par ID. Utilisez ceci pour inspecter la ligne qu'une SpendSummary.spend_limit_id ou une réponse POST référencée.
Nécessite la portée : read:spend_limits.
Paramètres de chemin
Champ | Type | Description |
| chaîne | Préfixé |
Réponse
Un objet SpendLimit.
Exemple de requête
curl "https://api.anthropic.com/v1/organizations/spend_limits/spl_01AbCdEfGhIjKlMnOpQrSt" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY"
Validations
Condition | Statut | Message |
| 404 |
|
L'organisation n'est pas sur un plan Entreprise | 400 |
|
Facturation par crédit d'utilisation non activée | 400 |
|
3. Définir une limite de dépenses
POST /v1/organizations/spend_limits
Définit un remplacement de limite de dépenses par utilisateur. Upsert : définir une limite pour un utilisateur qui en a déjà une la remplace sur place.
Seul scope.type: "user" est accepté. Les valeurs par défaut au niveau du siège, du groupe et de l'organisation sont configurées dans les paramètres claude.ai.
Définir une limite de dépenses directement ne fait pas passer la demande d'augmentation en attente d'un membre. Utilisez le point de terminaison d'approbation pour résoudre une demande.
Nécessite la portée : write:spend_limits.
Corps de la requête
Champ | Type | Requis | Description |
| objet | Oui |
|
| chaîne ou null | Oui | Nouvelle limite pour la |
| chaîne | Non | Par défaut |
Réponse
Un objet SpendLimit reflétant le remplacement écrit.
Exemple de requête
curl -X POST "https://api.anthropic.com/v1/organizations/spend_limits" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY" \
-H "content-type: application/json" \
-d '{"scope": {"type": "user", "user_id": "user_01AbCdEfGh"}, "amount": "75000"}'
Exemple de réponse
{
"type": "spend_limit",
"id": "spl_01RsTuVwXyZaBcDeFgHiJk",
"created_at": "2026-05-11T10:02:44Z",
"updated_at": "2026-05-11T10:02:44Z",
"scope": { "type": "user", "user_id": "user_01AbCdEfGh" },
"amount": "75000",
"currency": "USD",
"period": "monthly"
}
Validations
Condition | Statut | Message |
| 400 |
|
| 400 |
|
| 400 |
|
| 400 |
|
| 400 |
|
L'organisation n'est pas sur un plan Entreprise | 400 |
|
Facturation du crédit d'utilisation non activée | 400 |
|
4. Supprimer une limite de dépenses
DELETE /v1/organizations/spend_limits/{spend_limit_id}
Supprime un remplacement par utilisateur afin que le membre revienne à la limite héritée (niveau de siège, groupe ou défaut de l'organisation). Les lignes au niveau du niveau de siège, du groupe et de l'organisation ne peuvent pas être supprimées via ce point de terminaison.
Nécessite la portée : write:spend_limits.
Paramètres de chemin
Champ | Type | Description |
| chaîne | Préfixé |
Réponse
{ "type": "spend_limit_deleted", "id": "spl_01RsTuVwXyZaBcDeFgHiJk" }
Exemple de requête
curl -X DELETE "https://api.anthropic.com/v1/organizations/spend_limits/spl_01RsTuVwXyZaBcDeFgHiJk" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY"
Validations
Condition | Statut | Message |
| 404 |
|
| 400 |
|
L'organisation n'est pas sur un plan Entreprise | 400 |
|
Facturation des crédits d'utilisation non activée | 400 |
|
Demandes d'augmentation de limite de dépenses
5. Lister les demandes d'augmentation
GET /v1/organizations/spend_limit_increase_requests
Liste les demandes d'augmentation, les plus récentes en premier. Les demandes dont le demandeur n'est plus membre de l'organisation sont exclues.
Nécessite l'étendue : read:spend_limits.
Paramètres de requête
Champ | Type | Requis | Par défaut | Description |
| un ou plusieurs de | Non | tous | Filtrer par statut. Répétez le paramètre pour plusieurs valeurs. |
| chaîne | Non | tous | Filtrer par demandeur. Accepte les ID |
| entier 1–1000 | Non | 20 | Lignes par page. |
| chaîne de curseur opaque | Non | — | La valeur |
Champs de réponse
Champ | Type | Description |
| tableau de SpendLimitIncreaseRequest | Trié par |
| chaîne ou null | Curseur opaque pour la page suivante ; |
Exemple de requête
curl "https://api.anthropic.com/v1/organizations/spend_limit_increase_requests?status[]=pending&limit=50" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY"
Exemple de réponse
{
"data": [
{
"type": "spend_limit_increase_request",
"id": "slir_01AbCdEfGhIjKlMnOpQrSt",
"created_at": "2026-05-04T16:22:09Z",
"status": "pending",
"resolved_at": null,
"resolved_by": null,
"actor": {
"type": "user_actor",
"user_id": "user_01AbCdEfGh",
"name": "Jane Smith",
"email_address": "[email protected]"
},
"spend_summary": {
"scope": { "type": "user", "user_id": "user_01AbCdEfGh" },
"amount": "50000",
"currency": "USD",
"period": "monthly",
"source": { "type": "seat_tier", "seat_tier": "enterprise_standard" },
"spend_limit_id": "spl_01XyZaBcDeFgHiJkLmNoPq",
"period_to_date_spend": "48900"
}
}
],
"next_page": null
}
Validations
Condition | Statut | Message |
Entrée | 400 |
|
| 400 |
|
Curseur | 400 |
|
Le curseur | 400 |
|
Curseur | 400 |
|
L'organisation n'est pas sur un plan Entreprise | 400 |
|
Facturation par crédit d'utilisation non activée | 400 |
|
6. Obtenir une demande d'augmentation
GET /v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}
Retourne une seule demande d'augmentation.
Nécessite la portée : read:spend_limits.
Paramètres de chemin
Champ | Type | Description |
| chaîne | Préfixé |
Réponse
Un objet SpendLimitIncreaseRequest.
Exemple de requête
curl "https://api.anthropic.com/v1/organizations/spend_limit_increase_requests/slir_01AbCdEfGhIjKlMnOpQrSt" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY"
Validations
Condition | Statut | Message |
Demande introuvable dans cette organisation | 404 |
|
Le demandeur n'est plus membre de cette organisation | 404 |
|
L'organisation n'est pas sur un plan Enterprise | 400 |
|
Facturation par crédit d'utilisation non activée | 400 |
|
7. Approuver une demande d'augmentation
POST /v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}/approve
Approuve une demande en attente. Écrit une limite de dépenses par utilisateur à amount pour le demandeur et fait passer la demande à approved. La demande ne comporte pas de montant demandé, l'administrateur fournit la nouvelle limite lors de l'approbation.
Nécessite l'étendue : write:spend_limits.
Paramètres de chemin
Champ | Type | Description |
| chaîne | Préfixé |
Corps de la demande
Champ | Type | Obligatoire | Par défaut | Description |
| chaîne | Oui | — | Nouvelle limite par utilisateur pour la |
| chaîne | Non |
| Voir la section « Période ». |
| booléen | Non |
| Si |
Réponse
La SpendLimitIncreaseRequest avec le statut approved, avec un champ spend_limit supplémentaire contenant la SpendLimit qui a été écrite.
Exemple de demande
curl -X POST "https://api.anthropic.com/v1/organizations/spend_limit_increase_requests/slir_01AbCdEfGhIjKlMnOpQrSt/approve" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY" \
-H "content-type: application/json" \
-d '{"amount": "75000", "suppress_notification": true}'
Exemple de réponse
{
"type": "spend_limit_increase_request",
"id": "slir_01AbCdEfGhIjKlMnOpQrSt",
"created_at": "2026-05-04T16:22:09Z",
"status": "approved",
"resolved_at": "2026-05-11T10:05:02Z",
"resolved_by": {
"type": "scoped_api_key_actor",
"scoped_api_key_id": "apikey_01ZyXwVuTsRqPoNmLkJiHg"
},
"actor": {
"type": "user_actor",
"user_id": "user_01AbCdEfGh",
"name": "Jane Smith",
"email_address": "[email protected]"
},
"spend_summary": null,
"spend_limit": {
"type": "spend_limit",
"id": "spl_01RsTuVwXyZaBcDeFgHiJk",
"created_at": "2026-05-11T10:05:02Z",
"updated_at": "2026-05-11T10:05:02Z",
"scope": { "type": "user", "user_id": "user_01AbCdEfGh" },
"amount": "75000",
"currency": "USD",
"period": "monthly"
}
}
Validations
Condition | Statut | Message |
Demande introuvable dans cette organisation | 404 |
|
Le demandeur n'est plus membre de cette organisation | 404 |
|
Demande déjà | 400 |
|
| 400 |
|
| 400 |
|
L'organisation n'est pas sur un plan Entreprise | 400 |
|
Facturation des crédits d'utilisation non activée | 400 |
|
8. Refuser une demande d'augmentation
POST /v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}/deny
Refuse une demande en attente. Idempotent sur refusé : refuser une demande déjà refusée retourne 200 avec la ressource existante. Refuser une demande déjà approuvée est rejeté pour que l'automatisation puisse distinguer une nouvelle tentative d'une décision conflictuelle.
Nécessite la portée : write:spend_limits.
Paramètres de chemin
Champ | Type | Description |
| chaîne | Préfixé |
Corps de la demande
Champ | Type | Requis | Par défaut | Description |
| booléen | Non |
| Si |
Réponse
Une SpendLimitIncreaseRequest avec le statut refusé.
Exemple de demande
curl -X POST "https://api.anthropic.com/v1/organizations/spend_limit_increase_requests/slir_01AbCdEfGhIjKlMnOpQrSt/deny" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY" \
-H "content-type: application/json" \
-d '{"suppress_notification": true}'
Validations
Condition | Statut | Message |
Demande introuvable dans cette organisation | 404 |
|
Le demandeur n'est plus membre de cette organisation | 404 |
|
Demande déjà | 400 |
|
Demande déjà | — (200, idempotent) |
|
L'organisation n'est pas sur un plan Enterprise | 400 |
|
Crédits d'utilisation non activés | 400 |
|
