Docs Autonomy
API HTTP v1

Erreurs

Gérez l'ensemble fermé de codes d'erreur de l'API HTTP et leurs détails structurés.

Toute opération en erreur renvoie une seule forme JSON :

Codejson
1{2  "error": {3    "code": "INVALID_ARGUMENT",4    "message": "Human-readable explanation",5    "details": {}6  }7}

code et message sont toujours présents. details est facultatif et contient un contexte lisible par machine propre à cette erreur. Basez votre logique sur code, pas sur le texte du message.

Codes d'erreur

CodeStatut HTTPSignification
INVALID_ARGUMENT400Le JSON ou un argument est invalide, une idempotencyKey obligatoire est absente, ou une confirmation est nécessaire.
UNAUTHENTICATED401L'identifiant Bearer est absent ou invalide.
FORBIDDEN403L'identifiant n'a pas la portée requise par l'opération, ou un lien de preuve signé est invalide ou expiré.
NOT_FOUND404La ressource n'existe pas, ou l'appelant n'y a pas accès.
CONFLICT409La modification entre en conflit avec l'existant, par exemple un nom d'environnement déjà utilisé, ou une idempotencyKey réutilisée avec des arguments différents.
LIMIT_REACHED402Réservé aux limites d'offre. Ce code n'est pas renvoyé aujourd'hui : voir Limites de l'offre.
UNAVAILABLE503Autonomy n'a pas pu effectuer l'opération pour le moment. Réessayez plus tard.

Une erreur inattendue utilise aussi le code UNAVAILABLE, avec le message « The operation could not be completed. », mais renvoie le statut HTTP 500.

Un JSON invalide renvoie 400 INVALID_ARGUMENT avec « Invalid JSON body. », et un corps qui n'est pas un objet JSON renvoie « The JSON body must be an object. » Une réponse 401 contient aussi le défi WWW-Authenticate.

Messages courants

CodeMessagedetails
INVALID_ARGUMENTidempotencyKey is required for this operation.field
INVALID_ARGUMENTlimit must be an integer between 1 and 100.
INVALID_ARGUMENTGive exactly one of testCaseId or testPlanId.
INVALID_ARGUMENTGive either environmentSlug or targets, not both.
FORBIDDENThis operation requires the <scope> scope.scope
NOT_FOUNDProject not found. / Test Case not found. / Test Plan not found. / Run not found. / Environment not found. / Issue not found.L'identifiant que vous avez envoyé
CONFLICTidempotencyKey was already used with different arguments.
CONFLICTThat name is taken in this organization. Pick another.

Une exécution qui ne peut pas être déclenchée renvoie aussi INVALID_ARGUMENT, par exemple lorsqu'un plan de test n'a aucun cas de test ou qu'un cas de test n'a encore que des étapes antérieures à la v0.5.

Détails de confirmation

Les opérations qui remplacent quelque chose renvoient un aperçu au lieu d'écrire lorsque confirm: true est absent. Par exemple, test_case.update_steps renvoie :

Confirmation requisejson
1{2  "error": {3    "code": "INVALID_ARGUMENT",4    "message": "Replacing all Test Case steps requires confirm: true.",5    "details": {6      "confirmRequired": true,7      "wouldChange": {8        "stepCountBefore": 4,9        "stepCountAfter": 610      }11    }12  }13}
OpérationMessagewouldChange
test_case.update_stepsReplacing all Test Case steps requires confirm: true.stepCountBefore, stepCountAfter
test_plan.set_membersConfirm removing cases from this plan.removed et added, chacun [{ testCaseId, name }]
environment.upsertUpdating an existing environment requires confirm: true.Les fields et platforms que vous avez fournis

Rien n'est écrit tant que vous n'avez pas confirmé. Lisez l'aperçu, puis renvoyez la même requête avec confirm: true et la même idempotencyKey. Une requête qui renvoie une erreur ne stocke rien sous sa clé : la clé reste donc disponible.

Limites de l'offre

Lorsqu'une limite de l'offre bloque une opération, comme le crédit d'exécution de l'offre Free, le nombre mensuel d'exécutions ou le nombre de cas de test, l'API renvoie actuellement UNAVAILABLE avec le statut HTTP 500 et le message « The operation could not be completed. » Elle ne renvoie pas encore LIMIT_REACHED. Si une opération qui fonctionnait se met à renvoyer cette erreur, consultez Organization → Billing. Voir Facturation.

Limites des clés API

Les clés API d’organisation autorisent 1 000 requêtes par heure et par clé. Une clé qui atteint sa limite reçoit 429 RATE_LIMITED, avec un en-tête Retry-After indiquant le nombre de secondes à attendre. Les clés invalides, désactivées ou expirées reçoivent toujours 401.

Ce refus d’authentification utilise un objet direct avant l’exécution de l’opération :

Codejson
1{2  "code": "RATE_LIMITED",3  "message": "This API key has made too many requests. Try again in 120 seconds."4}

Attendez la durée Retry-After avant de réessayer. Les outils MCP signalent aussi RATE_LIMITED lorsque l’API renvoie cette réponse.

Vous n’avez pas trouvé ?

On this page