L'API Coffrify distingue trois environnements : live (production), test (staging, données isolées) et sandbox (clés éphémères à 24 h, idéales pour les démos). Chaque clé API porte son environnement directement dans son préfixe, ce qui rend impossible toute confusion entre un appel de test et un appel de production. Cet article explique comment vérifier votre contexte courant, lister vos workspaces accessibles et mettre en place une stratégie robuste d'isolation CI/CD.
Endpoints concernés
Deux endpoints suffisent à vérifier votre contexte d'exécution : GET /v1/me pour la clé courante et GET /v1/workspaces pour les espaces accessibles.
/v1/meRetourne le contexte complet de la clé API courante : workspace, scopes accordés, environnement détecté et horodatages.GET/v1/workspacesListe les workspaces accessibles à la clé ou à la session. Avec une clé API, seul le workspace propriétaire est retourné.Authentification
Ces deux endpoints ne requièrent aucun scope particulier : une clé valide suffit. La clé doit être transmise dans l'en-tête Authorization: Bearer <clé>. L'environnement est déduit automatiquement du préfixe de la clé :
- cof_live_… correspond à l'environnement live (production)
- cof_test_… correspond à l'environnement test (staging)
- cof_sandbox_… correspond à l'environnement sandbox (éphémère 24 h)
Les préfixes cof_rk_live_, cof_rk_test_ et cof_rk_sandbox_ correspondent aux clés restreintes (scopes limités). Les tokens MCP utilisent cof_mcp_live_, cof_mcp_test_ et cof_mcp_sandbox_.
Vérifier votre contexte courant
L'appel GET /v1/me est le réflexe à avoir au démarrage : il confirme le workspace, l'environnement et les scopes de la clé. L'exemple ci-dessous le montre dans chaque langage.
Réponse de GET /v1/me
La réponse expose le workspace, les scopes accordés et surtout l'environnement détecté (live, test ou sandbox), déduit du préfixe de la clé. C'est ce champ qui garantit que vous appelez le bon environnement.
Lister vos workspaces
Avec une clé API (cof_live_… ou cof_test_…), GET /v1/workspaces retourne uniquement le workspace auquel la clé appartient, avec le rôle fictif api_key. Avec une session utilisateur (cookie Supabase), il retourne tous les workspaces dont vous êtes propriétaire ou membre, chacun avec son rôle réel (owner, admin, member).
Réponse de GET /v1/workspaces
Avec une clé API, la liste se limite au workspace propriétaire de la clé. La réponse confirme son id et son nom, utiles pour verrouiller vos appels sur le bon espace.
Erreurs fréquentes
La plupart des erreurs viennent d'une clé absente, invalide ou utilisée dans le mauvais environnement. Le tableau ci-dessous indique la cause et la résolution.
| Code HTTP | Code erreur | Cause | Résolution |
|---|---|---|---|
| 401 | missing_api_key | En-tête Authorization absent ou vide. | Ajoutez Authorization: Bearer cof_test_… à chaque requête. |
| 401 | invalid_api_key | Le préfixe de la clé n'est pas reconnu (ni cof_live_, ni cof_test_, ni cof_sandbox_, ni cof_rk_*, ni cof_mcp_*). | Vérifiez que la clé est copiée intégralement depuis l'interface Développeur. |
| 401 | revoked_api_key | La clé a été révoquée manuellement ou via rotation. | Créez une nouvelle clé dans Paramètres > Développeur. |
| 401 | expired_api_key | La clé sandbox est expirée (durée de vie 24 h) ou une date d'expiration personnalisée est dépassée. | Générez une nouvelle clé sandbox ou ajustez la date d'expiration. |
| 403 | ip_not_allowed | L'IP appelante ne figure pas dans la liste d'autorisation de la clé. | Ajoutez l'IP du serveur CI dans les restrictions de la clé. |
| 429 | rate_limited | Quota de requêtes par minute dépassé pour ce workspace. | Respectez les en-têtes X-RateLimit-Remaining et Retry-After retournés. |
| 500 | internal_error | Erreur interne inattendue. | Réessayez avec un backoff exponentiel en vous aidant du request_id retourné pour le support. |
Bonnes pratiques
En-têtes de réponse utiles
Plusieurs en-têtes accompagnent les réponses et aident au débogage (environnement, identifiant de requête). Le tableau ci-dessous les décrit.
| En-tête | Description |
|---|---|
X-Request-Id | Identifiant unique de la requête, à communiquer au support en cas d'incident. |
X-Coffrify-Api-Version | Version de l'API utilisée pour traiter la requête (ex. 2026-05-14). |
X-RateLimit-Limit | Quota total de requêtes autorisées par minute pour ce workspace sur cet endpoint class. |
X-RateLimit-Remaining | Nombre de requêtes restantes dans la fenêtre courante. |
X-RateLimit-Reset | Timestamp Unix de la prochaine remise à zéro du compteur. |
Retry-After | Nombre de secondes à attendre avant de retenter (présent uniquement lors d'un 429). |
Voir aussi
- Créer votre première clé API
- Authentification et scopes
- Limites de débit (rate limiting)
- Rotation de clé API
- Tokens MCP