Errors
Com informa dels errors l'API i què significa cada codi.
L'API retorna els errors en l'array errors estàndard de GraphQL; l'estat HTTP continua sent 200 i data pot ser null o parcial. Cada error diu de quin tipus és en extensions.code, i una petició rebutjada diu per què en extensions.reasonCode.
{
"errors": [
{
"message": "Input does not meet data validation rules.",
"path": ["issueCreate"],
"extensions": {
"code": "VALIDATION",
"reasonCode": "REQUIRED",
"field": "issueCreate.title",
"reason": "title is required"
}
}
],
"data": null
}Errors en qualsevol petició
Estos es poden retornar en qualsevol operació de tota l'API.
UNAUTHENTICATEDLa teua clau d'API falta, és invàlida o ha caducat.RATE_LIMITHas enviat massa peticions; espera abans de reintentar.INTERNALS'ha produït un error inesperat del servidor; reintenta-ho més tard.Errors específics
Segons l'operació i les dades que envies, una petició també pot retornar:
NOT_FOUNDEl recurs no existix o la teua organització no hi pot accedir.VALIDATIONLa petició s'ha rebutjat pel que demanava. extensions.reasonCode diu per què: consulta «Rebutjos» més avall.INPUTUn ID o un token que no es pot llegir: un error del client o un enllaç trencat, mai una cosa que haja escrit una persona. Tracta'l com NOT_FOUND.CONSTRAINTDos peticions s'han disputat la mateixa escriptura i esta ha perdut. Normalment n'hi ha prou de tornar-ho a provar.Rebutjos
Una petició rebutjada sempre és VALIDATION, amb estes extensions. Decidix segons reasonCode, mai segons message, que és la mateixa frase en tots els rebutjos.
reasonCodePer què s'ha rebutjat la petició, com una paraula estable. Fes-la servir com a clau de traducció.fieldOn és el problema dins de la petició: el nom de l'operació i després el camí dins del que has enviat, sense l'embolcall input i amb les posicions de les llistes des de zero (domainUpdate.nameServers[1]). No apareix quan el rebuig és de la petició sencera.paramsValors que necessita l'explicació, com kind o un nom de host. No apareix quan no n'hi ha cap.reasonLa mateixa explicació en anglés, per a desenvolupadors. No està pensada per a mostrar-la als usuaris.Motius que pot donar qualsevol operació
A més dels motius que s'indiquen en cada operació, qualsevol pot respondre amb estos. En els quatre últims, params.kind diu de quin tipus d'element tracta el rebuig (PROJECT, DNS_ZONE, DNS_RECORD…).
MALFORMEDUn valor no té la forma esperada. reason diu què falla.REQUIREDFalta un valor, o s'ha enviat null en un camp que no es pot buidar.TOO_LARGEUn text o un fitxer supera la mida permesa. params.maxBytes és el límit.NOT_FOUNDAlguna cosa a què es referix la petició no existix o és d'una altra organització.TAKENEl nom ja el fa servir un altre element.IN_USENo es pot eliminar mentre alguna cosa el continue fent servir.DELETEDEstà eliminat i no s'hi pot canviar res fins que es restaure.