Errores

Ver en Markdown

El formato de los errores de la API de OpenWAF, sus estados HTTP y cada código de error estable con su significado.

En esta página

Los errores responden un estado HTTP y un cuerpo JSON:

{
  "error": {
    "code": "version_conflict",
    "message": "the configuration changed: the current version is 13"
  },
  "current_version": 13
}
CampoSignificado
error.codeCódigo estable: es el que debe usar tu código.
error.messageExplicación para personas; su texto puede cambiar.
error.fieldCampo que no pasó la validación, si lo hay (p. ej. ttl, records[3].content).

Algunos códigos añaden campos junto a error: current_version (version_conflict), hostnames (missing_certs), plan (merge_not_equivalent).

Estados HTTP

EstadoSignificado
200, 201Correcto. Con dry_run=1, 200 lleva el plan del cambio.
204Correcto, sin cuerpo.
400Petición mal formada: JSON no válido, campo desconocido, parámetro de consulta no válido.
401Token ausente, no válido, caducado o revocado.
403El rol o los límites del token no permiten la operación.
404El recurso no existe o el token no lo puede ver.
409El estado actual no permite el cambio.
412If-Match no coincide con la versión actual.
413El cuerpo es demasiado grande.
422Error de validación o falta el motivo del cambio.
428La operación exige If-Match.
429Demasiadas peticiones: espera los segundos de Retry-After.
502, 503Una dependencia no respondió o la función no está disponible: reinténtalo más tarde.

Códigos de error

CódigoEstadoDescripción
bad_request400Petición mal formada: JSON no válido, campo desconocido o parámetro no válido.
unauthorized401Token ausente, no válido, caducado o revocado.
forbidden403El rol o los límites del token no permiten la operación.
token_scope403Un token que solo puede purgar la caché ha llamado a otra ruta.
feature_disabled403La función (egress) no está activada en la organización.
zone_limit403La organización ha alcanzado su límite de zonas.
org_suspended403La organización está suspendida; se rechazan las escrituras.
org_pending_approval403La organización está pendiente de aprobación; se rechazan las escrituras.
not_found404El recurso no existe o el token no lo puede ver.
host_not_in_zone404El nombre no es la zona ni está por debajo de ella.
conflict409El estado actual no permite el cambio (p. ej. una zona desactivada, el último owner, un nombre repetido).
zone_exists409El dominio ya está dado de alta.
zone_overlaps409El dominio es padre o subdominio de una zona de otra organización o de otro cliente.
zone_not_active409La zona no está activa.
zone_not_external409La operación es solo para zonas externas.
zone_merged409La zona está fusionada en otra y es de solo lectura hasta que se separe.
merge_not_equivalent409La fusión cambiaría cómo se sirve algún nombre; el cuerpo lleva el plan.
merge_not_reversible409La zona no está fusionada o su padre ha cambiado desde la fusión.
missing_certs409Algunos sitios quedarían sin certificado válido; el cuerpo lista los nombres.
already_member409La persona ya es miembro de la organización.
owner_of_zones409El cambio dejaría zonas sin dueño.
client_has_zones409El cliente aún tiene zonas; muévelas o bórralas antes.
host_taken409El nombre lo usa otra organización.
target_in_use409Algún agente de egress aún permite el destino.
version_conflict412If-Match no coincide con la versión actual; el cuerpo lleva current_version.
too_large413El cuerpo o el fichero es demasiado grande.
invalid422Error de validación; field indica el campo.
reason_required422Falta la cabecera X-Change-Reason o no es válida.
if_match_required428La operación exige If-Match.
rate_limited429Demasiadas peticiones; espera los segundos de Retry-After.
too_many_streams429Demasiados streams de eventos abiertos en la organización.
dns_backend502El servicio DNS rechazó el cambio; reinténtalo más tarde.
dns_unavailable502El DNS público no respondió.
credential_store502El almacén de credenciales rechazó la escritura; reinténtalo más tarde.
unavailable503La función no está disponible ahora; reinténtalo más tarde.
busy503Demasiadas comprobaciones en curso; reinténtalo en unos segundos.
internal500Error inesperado; reinténtalo y, si persiste, escribe a [email protected].

Última actualización:

↑↓ para moverte↵ para abriresc para cerrar