Authentification
Authentifiez les requêtes de l’API HTTP avec une clé d’API d’organisation ou un jeton d’accès OAuth.
Envoyez un identifiant Bearer dans chaque requête POST /api/v1/* :
Authorization: Bearer <credential>Clés d’API d’organisation
Une clé d’API d’organisation commence par aut_ :
Authorization: Bearer aut_…La clé sélectionne son organisation et reçoit actuellement toutes les portées de l’API. La restriction des portées par clé ne fait pas partie de l’API HTTP v1. Conservez la clé dans le coffre de secrets de votre CI et ne la placez jamais dans un corps de requête ni dans le dépôt.
Jetons d’accès OAuth
Un jeton Bearer qui ne commence pas par aut_ est vérifié comme jeton d’accès OAuth. Il doit identifier un utilisateur et une organisation, l’utilisateur doit toujours appartenir à cette organisation, et le jeton doit porter la portée requise par l’opération.
| Portée | Accès |
|---|---|
autonomy:read | Lire les cas de test, plans de test, exécutions, preuves externes, environnements et notes |
autonomy:test_cases:write | Créer des cas de test et remplacer leurs étapes |
autonomy:test_plans:write | Créer des plans de test et remplacer leur composition |
autonomy:runs:write | Déclencher des exécutions |
autonomy:environments:write | Créer ou mettre à jour des environnements ; également requis pour déplacer une valeur d’identifiant d’un cas de test vers un secret d’environnement |
autonomy:notes:write | Créer des notes et des commentaires |
Le catalogue d’opérations indique la portée exacte de chaque route.
Échecs d’authentification
Un identifiant absent, mal formé, expiré ou invalide renvoie 401 avec l’erreur UNAUTHENTICATED. La réponse contient aussi un défi Bearer :
WWW-Authenticate: Bearer resource_metadata="<SITE_URL>/.well-known/oauth-protected-resource/api/mcp"SITE_URL est l’URL de l’application Autonomy du déploiement, et non l’URL du site Convex. Les clients OAuth peuvent utiliser l’URL des métadonnées de ressource protégée pour découvrir le serveur d’autorisation.