KuikCodeDocs
API

Errores

Un solo formato de respuesta, un conjunto estable de códigos y un mensaje que puedes pegar en un reporte de error.

Cada respuesta de error tiene el estado HTTP correspondiente y este cuerpo:

{
  "error": {
    "code": "invalid_request",
    "message": "destination.url must be a valid URL (http or https).",
    "param": "destination.url"
  }
}
  • code es estable y está pensado para que tu código decida según su valor.
  • message es una frase pensada para una persona.
  • param indica el campo de la solicitud al que se refiere el error, cuando lo hay. Los campos anidados usan puntos (destination.url) y los elementos de un arreglo usan su índice (rows.0.url).

Códigos

EstadocodeCuándo
400invalid_requestEl cuerpo o la consulta no pasó la validación, o rompe una regla (una carpeta desconocida, un host de escaneo que no es tuyo). param indica el campo.
401invalid_api_keyFalta el encabezado Authorization, tiene un formato incorrecto o la clave fue revocada.
401expired_api_keyLa clave pasó su fecha de vencimiento. Crea una nueva en Configuración, Desarrolladores.
403plan_requiredEl plan del espacio de trabajo no incluye la API o esta función (webhooks, GPS, códigos de acceso).
403insufficient_scopeSe usó una clave de solo lectura en una solicitud que cambia datos.
403forbiddenSe alcanzó un límite del plan (códigos, carpetas, páginas, filas de un lote) o la acción no está permitida para este espacio de trabajo.
404not_foundNo hay ningún recurso con ese id en este espacio de trabajo, o no hay ningún endpoint en esa ruta.
409conflictEl cambio choca con datos existentes; por ejemplo, una carpeta movida dentro de sí misma.
409preview_changedLas filas detrás de un previewHash de un lote cambiaron desde la vista previa. Vuelve a ejecutar la simulación y confirma con el nuevo hash.
409idempotency_in_progressUna solicitud con el mismo Idempotency-Key todavía está en curso. Vuelve a intentarlo en un momento para obtener su resultado.
422idempotency_mismatchEl Idempotency-Key ya se usó para un endpoint o un payload distinto. Usa una clave de idempotencia nueva.
413payload_too_largeEl cuerpo de la solicitud supera el tamaño aceptado.
429rate_limitedSe agotó el presupuesto por minuto de esta clave. Espera los segundos que indica Retry-After.
500internal_errorAlgo falló de nuestro lado; puedes reintentar la solicitud sin riesgo.
503service_unavailableNo se pudo contactar a una dependencia (el limitador de frecuencia) para una escritura. Reintenta después de Retry-After.

Reintentos

Puedes reintentar 429 y 500 sin riesgo; usa el encabezado Retry-After en un 429 y una espera breve y creciente en un 500. Envía un Idempotency-Key en las solicitudes POST para que un reintento después de un tiempo de espera agotado no pueda crear el mismo código dos veces; consulta Idempotencia.

En esta página