L'API Coffrify expose trois endpoints dédiés au suivi des ressources consommées par votre workspace : GET /v1/quotas/check retourne un état consolidé (plan, plafonds, consommation actuelle et booléens de dépassement), GET /v1/quotas/bandwidth renvoie une série temporelle journalière des octets sortants et du nombre de téléchargements, et GET /v1/quotas/storage fournit les instantanés quotidiens de l'espace occupé. Ces endpoints sont en lecture seule, légers (skipIdempotency activé) et partagent tous le scope quotas:read.
/v1/quotas/checkRetourne le plan actif, les plafonds du plan (storage_bytes, bandwidth_bytes_per_month, active_transfers, max_transfer_size_bytes) et la consommation courante avec des pourcentages et des booléens over_quota_*.GET/v1/quotas/bandwidthRetourne la série journalière de bande passante (bytes_egress, download_count) sur une fenêtre glissante. Paramètre : days (1-365, défaut 30).GET/v1/quotas/storageRetourne les instantanés quotidiens de stockage (snapshot_date, storage_bytes, transfer_count) sur une fenêtre glissante. Paramètre : days (1-365, défaut 90).Authentification
Les trois endpoints requièrent le scope quotas:read. Transmettez votre clé dans l'en-tête Authorization: Bearer <clé>. Les clés de test commencent par cof_test_…, les clés de production par cof_live_…. En sandbox, utilisez le préfixe cof_sandbox_…. Aucune clé ne peut accéder à un workspace différent du sien : le workspace_id est résolu à partir de la clé, côté serveur.
Paramètres de requête
Les endpoints de séries temporelles acceptent un paramètre days qui fixe la fenêtre glissante. Le tableau ci-dessous récapitule les paramètres et leurs bornes.
| Endpoint | Paramètre | Type | Défaut | Plage autorisée | Description |
|---|---|---|---|---|---|
| /v1/quotas/bandwidth | days | integer | 30 | 1 - 365 | Nombre de jours glissants à inclure dans la réponse. |
| /v1/quotas/storage | days | integer | 90 | 1 - 365 | Nombre de jours glissants couverts par les instantanés. |
| /v1/quotas/check | (aucun) | - | - | - | L'endpoint lit directement le plan et la consommation courante. |
Exemples d'appel
Les exemples ci-dessous interrogent l'état consolidé, puis les séries de bande passante et de stockage. Choisissez votre langage.
Réponses
Voici les trois structures de réponse réelles renvoyées par chaque endpoint.
En-têtes de réponse notables
Au-delà du corps, certaines réponses portent des en-têtes utiles (fraîcheur des données, quota). Le tableau ci-dessous les décrit.
| En-tête | Description |
|---|---|
| X-Request-Id | Identifiant unique de la requête, utile pour le support et les logs. |
| X-Coffrify-Api-Version | Version de l'API utilisée côté serveur (ex. 2026-05-14). |
| X-RateLimit-Limit | Nombre maximum de requêtes autorisées par minute sur les endpoints read. |
| X-RateLimit-Remaining | Requêtes restantes dans la fenêtre courante. |
| X-RateLimit-Reset | Timestamp UNIX de la prochaine réinitialisation de la fenêtre. |
| Retry-After | Présent uniquement en cas de 429 : secondes à attendre avant de réessayer. |
Erreurs
Ces endpoints étant en lecture seule, les erreurs se limitent à l'authentification et au scope quotas:read. Le tableau ci-dessous indique la résolution.
| HTTP | Code d'erreur | Quand | Résolution |
|---|---|---|---|
| 401 | missing_api_key | En-tête Authorization absent. | Ajoutez Authorization: Bearer cof_live_… à chaque requête. |
| 401 | invalid_api_key | Clé mal formée ou inconnue. | Vérifiez le préfixe (cof_test_…, cof_live_…) et l'intégrité de la clé. |
| 401 | expired_api_key | La clé a dépassé sa date d'expiration. | Régénérez une clé dans le tableau de bord ou via POST /v1/api-keys. |
| 401 | revoked_api_key | La clé a été révoquée manuellement. | Créez une nouvelle clé avec le scope quotas:read. |
| 403 | scope_missing | La clé ne possède pas le scope quotas:read. | Émettez une clé avec le scope requis, ou ajoutez-le à la clé existante. |
| 429 | rate_limited | Trop de requêtes read dans la fenêtre d'une minute. | Respectez l'en-tête Retry-After et réduisez la fréquence de polling. |
| 500 | internal_error | Erreur interne (ex. table de quotas temporairement indisponible). | Consultez le X-Request-Id pour ouvrir un ticket support. |
Voir aussi
- Référence : GET /v1/quotas/check
- Référence : GET /v1/quotas/bandwidth
- Référence : GET /v1/quotas/storage
- Quickstart : Lister et supprimer des fichiers
- Quickstart : Créer une clé API avec les bons scopes
- Quickstart : Comprendre les plans et les plafonds