Saltar al contenido

API · Referencia

Errores

El formato único de errores de la API de Clipia — campos type, code y message, la tabla de estados HTTP y códigos, qué reintentar y cómo leer message.

Todos los errores de la API REST usan el mismo formato: un objeto error con los campos type, code y message. El estado HTTP determina la clase de error; code es el motivo legible por máquina. Solo merece la pena reintentar tras una pausa los errores transitorios: 409 request_in_progress, 429, 500 y 503.

{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "Invalid or revoked API key."
  }
}

Base su lógica en code. El campo message está pensado para personas y puede cambiar. En 400 invalid_request, message incluye un detalle breve como prompt_required o webhook_url_invalid; la lista completa para el envío de generaciones está en Enviar una generación.

A veces error incluye retry_after_ms o retry_after_seconds: una indicación de cuándo reintentar.

Códigos

HTTPcodetypeCuándoReintento
400invalid_requestinvalid_request_errorcuerpo, parámetros o ID no válidos; el motivo está en messageno, corrija la solicitud
401invalid_api_keyauthentication_errorla clave falta, es incorrecta o está revocadano
402insufficient_creditsbilling_errorno hay créditos suficientes, o la cuenta nunca ha comprado créditos (clave live)tras recargar
402subscription_requiredbilling_erroresta operación requiere una suscripción activatras suscribirse
403insufficient_scopepermission_errorla clave no tiene el permiso necesariono
404not_foundinvalid_request_errorno existe el modelo (model_not_found) o la solicitud (request_not_found)no
409idempotency_key_reuseidempotency_errorla misma Idempotency-Key con un cuerpo distintono, cambie la clave
409request_in_progressidempotency_errorun reintento mientras la primera solicitud aún se procesasí, en unos segundos
422model_input_invalidinvalid_request_errorlos parámetros no son válidos para el modelono, corrija input
429rate_limit_exceededrate_limit_errorse ha superado el límite de frecuencia de solicitudessí, tras Retry-After
429concurrency_limit_exceededapi_errorse ha superado el límite de generaciones simultáneas, si está configuradosí, cuando termine un trabajo
500internal_errorapi_errorerror internosí, con pausas crecientes
503service_unavailableapi_errorservicio no disponible temporalmentesí, con pausas crecientes

Los errores de AI Gateway (/v1/chat/completions y los endpoints relacionados) usan el formato de OpenAI; sus códigos se enumeran en Chat Completions.

Reintentos

Qué reintentar

Reintente 429, 500 y 503 con pausas crecientes: 1, 2, 4, 8 segundos, como máximo 5 intentos. En 429, espere el tiempo que indique Retry-After. Reintente el envío de una generación con la misma Idempotency-Key para que el reintento no cree un segundo trabajo. Los demás errores 4xx, salvo 409 request_in_progress y 429, se repiten sin cambios si reenvía la misma solicitud.

Sin detalles internos

Los mensajes de error no revelan la infraestructura interna. En 500 y 503 el texto es genérico: "An internal error occurred. Please retry or contact support." y "Service temporarily unavailable. Please retry later."

Una generación fallida no es un error HTTP: la solicitud del resultado devuelve 200 con status: "FAILED" y un objeto error, y los créditos vuelven a su saldo. Consulte Resultado.

En esta página