Management API : gestion des clés et facturation
Mis à jour le 28 juillet 2026
Administrer son compte sans passer par la console
La Management API de xAI est une interface REST dédiée à la gestion de votre compte Enterprise. Là où l’API d’inférence (api.x.ai) sert à appeler les modèles, la Management API (management-api.x.ai) sert à administrer vos ressources. La distinction paraît anodine ; elle ne l’est pas. Tout ce qui exigerait autrement qu’une personne ouvre la console web et clique devient ici automatisable, donc traçable, reproductible et intégrable aux outils que vos équipes utilisent déjà.
Provisionner et faire tourner les clés
La création de clé par l’API permet d’automatiser le provisionnement pour une nouvelle application ou un nouvel environnement :
curl -X POST "https://management-api.x.ai/auth/teams/{teamId}/api-keys" \
-H "Authorization: Bearer $MANAGEMENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "cle-production-chatbot",
"acls": ["api-key:endpoint:chat", "api-key:model:grok-4.3"],
"qps": 10,
"qpm": 100,
"tpm": 1000000,
"expireTime": "2026-12-31T23:59:59Z"
}'
Les paramètres de cette requête définissent entièrement le périmètre de la clé :
- name : identifiant lisible pour la clé
- acls : liste des permissions (endpoints et modèles autorisés)
- qps/qpm/tpm : limites de débit par seconde, par minute et en tokens par minute
- expireTime : date d’expiration automatique
Renseigner expireTime dès la création est le réflexe qui épargne le plus d’ennuis à long terme : une clé émise pour un pilote de trois mois s’éteint d’elle-même au lieu de survivre indéfiniment dans un fichier de configuration que plus personne ne relit.
La rotation régulière des clés relève de la même hygiène. L’endpoint dédié génère une nouvelle clé secrète et invalide l’ancienne :
curl -X POST "https://management-api.x.ai/auth/api-keys/{apiKeyId}/rotate" \
-H "Authorization: Bearer $MANAGEMENT_KEY"
Attention : l’ancienne clé secrète est invalidée immédiatement et définitivement. Préparez donc le déploiement de la nouvelle valeur dans votre gestionnaire de secrets avant de lancer la commande, jamais après. Trois endpoints de lecture complètent l’ensemble : GET /auth/teams/{teamId}/api-keys liste toutes les clés de la team, GET /auth/api-keys/{apiKeyId}/propagation vérifie que la clé est propagée sur tous les nœuds, et GET /auth/teams/{teamId}/models liste les modèles accessibles avec leurs tarifs. Le deuxième est celui que l’on consulte juste après une rotation, quand une application renvoie encore des erreurs d’authentification et qu’on hésite entre un bug applicatif et un simple délai de propagation.
Suivre et encadrer la facturation
La consultation des informations de facturation passe par un endpoint dédié :
curl "https://management-api.x.ai/v1/billing/teams/{teamId}/billing-info" \
-H "Authorization: Bearer $MANAGEMENT_KEY"
L’historique des factures s’obtient avec un filtrage par période, ici le mois de mars 2026 :
curl "https://management-api.x.ai/v1/billing/teams/{teamId}/invoices?billingCycle.year=2026&billingCycle.month=3" \
-H "Authorization: Bearer $MANAGEMENT_KEY"
Chaque facture porte un statut parmi PENDING, PAID, FAILED et WILL_NEVER_BE_CHARGED. Faire remonter l’apparition d’un FAILED dans votre supervision vaut nettement mieux que d’apprendre l’incident par une interruption de service un lundi matin.
Pour prévenir les dépassements budgétaires, configurez un plafond mensuel :
curl -X POST "https://management-api.x.ai/v1/billing/teams/{teamId}/postpaid/spending-limits" \
-H "Authorization: Bearer $MANAGEMENT_KEY" \
-H "Content-Type: application/json" \
-d '{"monthlyLimit": 5000}'
Si vous fonctionnez en prépayé, le solde se consulte de la même manière :
# Consulter le solde
curl "https://management-api.x.ai/v1/billing/teams/{teamId}/prepaid/balance" \
-H "Authorization: Bearer $MANAGEMENT_KEY"
Rappelez-vous que les crédits prépayés ne sont pas remboursables, sauf obligation légale. Dimensionnez vos achats sur une consommation observée pendant plusieurs semaines, pas sur une projection de croissance optimiste.
Lire sa consommation avec la bonne granularité
L’endpoint d’analyse permet de suivre l’utilisation avec une granularité fine :
curl -X POST "https://management-api.x.ai/v1/billing/teams/{teamId}/usage" \
-H "Authorization: Bearer $MANAGEMENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"analyticsRequest": {
"timeRange": {
"startTime": "2026-03-01 00:00:00",
"endTime": "2026-04-01 00:00:00",
"timezone": "UTC"
},
"timeUnit": "DAY",
"values": [{"name": "tokens", "aggregation": "SUM"}],
"groupBy": ["model"]
}
}'
Cette requête retourne la consommation quotidienne en tokens, ventilée par modèle, sur le mois de mars. En changeant timeUnit, vous passez d’une vue mensuelle à une vue à la minute : les valeurs possibles sont MONTH, CALENDAR_WEEK, DAY, HOUR, QUARTER_HOUR et MINUTE. Les agrégations vont bien au-delà du simple total, avec SUM, AVG, MIN, MAX, P50, P90, P99 et COUNT. Les percentiles sont ceux qui servent à caractériser une charge, car une moyenne lisse précisément les pics qui, eux, déterminent la capacité dont vous avez réellement besoin.
La Management API prend alors sa place dans votre chaîne d’outillage. Vous provisionnez les clés depuis Terraform ou Pulumi au même titre qu’une base de données, votre pipeline CI/CD crée des clés éphémères pour les environnements de test puis les supprime en fin d’exécution, des scripts de monitoring alertent avant que le plafond de dépenses ne soit atteint, et vos dashboards internes affichent la consommation sans qu’un humain exporte un CSV chaque lundi.
Points clés à retenir
- La Management API sur management-api.x.ai gère les clés, la facturation et les métriques
- La rotation de clé invalide définitivement l’ancienne clé secrète
- Les limites de dépenses protègent contre les dépassements budgétaires
- L’analyse d’utilisation offre une granularité allant de la minute au mois
- Intégrez la Management API dans vos outils d’infrastructure pour automatiser l’administration