billing/usage te retourne la consommation du mois calendaire courant pour un tenant donné. C’est ce que le dashboard utilise pour afficher la jauge “X / Y tickets utilisés” et estimer la prochaine facture.
Authentification
Authorization: Bearer <jwt> ou Bearer <ak_…>.
L’utilisateur doit être :
- Admin Actero (équipe interne, accès à tous les tenants), ou
- Membre du
client_id(présent dans la tableclient_users).
403 Acces refuse.
Query params
string
required
ULID du tenant. Si absent →
400 Missing client_id.Headers
Response — 200 OK
enum
free, starter, pro, enterprise. Lu depuis clients.plan.string
Mois calendaire au format
YYYY-MM. Tous les compteurs ci-dessous sont strictement sur ce mois — ils repassent à 0 le 1er du mois suivant.integer
Nombre de tickets traités par l’agent ce mois (passage Brain + Executor, peu importe le résultat).
integer
Quota du plan. Vaut
-1 si illimité (Enterprise).number
Minutes consommées par l’agent vocal. Toujours
0 — l’agent vocal n’est pas encore disponible.number
Quota minutes vocales du plan. Toujours
0 tant que l’agent vocal n’est pas lancé.integer
Déprécié — toujours
0. Aucun plan ne facture de dépassement (plafond strict).number
Déprécié — toujours
0.boolean
true quand le quota mensuel est atteint : l’agent est en pause jusqu’à l’achat de crédits ou un upgrade.integer
Crédits disponibles. Consommés automatiquement (1 crédit = 1 ticket) au-delà du quota.
string|null
ISO timestamp de fin de période d’essai.
null si le tenant n’est pas en trial.string
Date approximative de prochain prélèvement Stripe (1er du mois suivant). Format
YYYY-MM-DD.Response — autres cas
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
Cet endpoint accepte uniquement GET. Tout autre verbe renvoie 405.
500 Internal Server Error
Dépassement de quota
Les
price_ids Stripe ne sont pas exposés via l’API publique — ils restent server-side. Aucun dépassement n’est facturé : surveille quota_reached et credits_balance pour savoir si l’agent est en pause.Exemples
Polling vs webhook
Pour suivre la consommation en temps réel sans poller cet endpoint en continu, abonne-toi à l’événementusage.threshold_reached via un webhook sortant. Tu reçois un POST quand le tenant franchit 80 % puis 100 % de son quota mensuel — utile pour :
- Notifier l’équipe finance avant le hard cap (Free).
- Déclencher un upgrade automatique côté ton CRM.
- Pause-r ton crawl/import si tu sais que chaque event = 1 ticket.