Authentification
Une clé rst_ dans l'en-tête Authorization pour tes scripts, OAuth pour les agents. Jamais de clé dans une adresse.
Les clés d’API
Une clé se crée dans Réglages › Clés d’API. Elle commence par rst_, vaut pour tout ton espace et ne s’affiche qu’une fois : Rustine n’en garde qu’une empreinte.
Elle se passe uniquement dans l’en-tête :
Authorization: Bearer rst_...
Jamais dans l’adresse (?key=…) : une URL finit dans les journaux des serveurs, l’historique du navigateur et les captures d’écran.
- Une clé par usage (« CI », « n8n », « script de déploiement ») : tu sais laquelle révoquer.
- Une clé a toutes les permissions de ton espace : lire, scanner, débloquer un correctif, marquer un problème.
- Les messages d’erreur et les textes des problèmes arrivent dans la langue du propriétaire de la clé.
- Si une clé fuit, clique sur Révoquer : elle cesse de marcher aussitôt. Crée-en une autre.
OAuth, pour les agents
Claude, ChatGPT, Claude Code, Cursor et VS Code se branchent sur le serveur MCP avec OAuth : pas de clé à copier, tu cliques sur Autoriser et l’agent renouvelle son accès seul. Tu vois chaque agent branché dans Réglages › Agents connectés, et tu le déconnectes d’un clic.
Le jeton d’accès OAuth (rat_…) marche aussi sur l’API, dans le même en-tête. Il n’a que les permissions accordées à l’agent : chaque page de la référence dit laquelle la route demande (scans:read, scans:run, fixes:unlock ou issues:write). Sans elle, la réponse est 403 scope_missing.
Les conditions
- Une offre qui ouvre l’API et le MCP : Pro, ou l’essai de l’offre Solo (Accès).
- La double authentification activée sur ton compte Rustine, pour créer une clé ou autoriser un agent.
Les refus
| Statut | error.code |
Ce qui se passe |
|---|---|---|
| 401 | authentication_required |
Aucune clé dans la requête. |
| 401 | invalid_api_key |
Clé fausse, révoquée ou expirée. |
| 403 | scope_missing |
Le jeton OAuth n’a pas la permission. |
| 402 | api_plan_required |
L’offre n’ouvre pas l’API. |