Lee la respuesta completa
Para un estado fallido, conserva el código HTTP, las cabeceras, el cuerpo del error y el ID de solicitud después de eliminar secretos. Permiten distinguir una solicitud no válida de un rechazo de acceso o un problema temporal.
No expongas una respuesta sin procesar del servicio como único mensaje para el usuario: explica la acción y conserva detalles de diagnóstico para el operador.
curl --include --request POST https://cicora.ai/api/v1/chat/completions \
--header "Authorization: Bearer $CICORA_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"model":"openai/gpt-5.6-sol","messages":[]}'Clasifica el fallo
- Un 4xx suele requerir corregir una clave, datos de entrada o acceso.
- Un 429 exige respetar la ventana del límite y evitar reintentos agresivos.
- Los errores 5xx y de red requieren reintentos limitados con espera exponencial y variación aleatoria.
Reintenta de forma segura
Reintenta solo fallos transitorios y únicamente si la operación es idempotente en tu producto. Para la generación, conserva un ID de solicitud del cliente para evitar cargos dobles o artefactos duplicados.
En streaming, distingue un error anterior al primer delta de una interrupción tras una salida parcial: esta última no puede sustituirse silenciosamente por una respuesta nueva.