Errores
Esta es la lista completa de errores de la API de la plataforma Kaleidr. Cada uno tiene un estado HTTP y un código: una cadena corta y estable con la que se puede decidir qué hacer. El estado por sí solo no basta. 403 tiene muchas causas diferentes, y 429 puede significar tanto «reduzca el ritmo» como «se ha agotado la cuota».
Comience por los formatos de respuesta, porque el código no siempre está en el mismo campo.
Formatos de respuesta
| Formato | Ejemplo | Se utiliza para |
|---|---|---|
| Código envuelto | {"detail": "origin_not_allowed"} | Casi todos los errores 401, 403, 404, 413, 500 y 503, los códigos de límites de solicitud 422 y dos errores 429 (map_load_quota_exceeded e ingest_rate_limited de la API de carga). El código es la cadena detail. |
| Objeto plano | {"error": "rate_limited", "detail": "API key rate limit exceeded. Slow down."} | Todos los demás errores 429. El código es error; detail contiene una frase destinada al usuario. Los errores de cuota incluyen otros campos. |
| Lista de validación | {"detail": [{"loc": ["body", "product"], "msg": "…", "type": "…"}]} | Error 422 por un cuerpo o una consulta mal formados. detail es una matriz con una entrada por problema. |
| Error con 200 | {"error": "Route planning failed."} | Solo POST /chat/control/route. Consulte más abajo. |
Una función que obtiene el código de cualquiera de esos formatos:
async function kaleidrError(res) {
const body = await res.json().catch(() => ({}));
const code =
typeof body.error === 'string' ? body.error : // flat 429
typeof body.detail === 'string' ? body.detail : // wrapped code
Array.isArray(body.detail) ? 'validation_error' : // 422
'unknown_error';
return { status: res.status, code, body, retryAfter: Number(res.headers.get('retry-after')) || null };
}
Hay dos cabeceras importantes: Retry-After, que indica en segundos cuánto esperar ante una respuesta 429, y X-Request-Id, cuando está presente, que identifica la solicitud al contactar con soporte.
Autenticación: 401
La API no acepta las credenciales.
| Código | Cuándo ocurre | Qué hacer |
|---|---|---|
Invalid or missing API key | No se enviaron credenciales o la clave es desconocida, fue revocada o ha caducado. También ocurre con un token de sesión caducado; una sesión cuya clave fue revocada o rotada sin período de gracia; una sesión cuyo origen o producto se eliminó de su clave; una sesión emitida antes de cambiar a un plan inferior; o una organización suspendida o sin plan. | Compruebe la clave y su estado en kaleidr.com/api-keys. En el caso de una sesión, intercámbiela de nuevo. Si una clave válida sigue fallando, vuelva a intentarlo al cabo de unos instantes: un fallo temporal de la plataforma también produce esta respuesta. |
publishable_requires_session | Se envió una clave publicable (kld_pk_…) a un endpoint de ejecución. | En el navegador, deje que el SDK la intercambie o llame primero a POST /sdk/sessions. En el backend, utilice una clave de servidor. |