Inceptiva· SDKv0.4.0
API REFERENCE

Manejo de errores

Las clases específicas heredan de InceptivaApiError, que conserva las propiedades compatibles status y detail.

EstadoClaseCausa habitual
401InceptivaAuthenticationErrorAPI key ausente, inválida o rotada.
403InceptivaForbiddenErrorIP no permitida o acceso denegado.
404InceptivaNotFoundErrorAgente o conversación inexistente.
409InceptivaConflictErrorClave idempotente reutilizada o petición todavía en curso.
422InceptivaValidationErrorEntrada inválida o límite de consumo.
429InceptivaRateLimitErrorLímite por minuto superado.
ts
import {
  InceptivaApiError,
  InceptivaRateLimitError,
} from "@inceptiva/sdk";

try {
  await client.responses.create({ message: "Hola" });
} catch (error) {
  if (error instanceof InceptivaRateLimitError) {
    console.error("Reintentar después de", error.retryAfter, "segundos");
  } else if (error instanceof InceptivaApiError) {
    console.error(error.status, error.detail);
  }
}

retryAfter respeta tanto segundos como una fecha HTTP y vale null cuando la cabecera no está presente o no es válida. El SDK no reintenta automáticamente.

Los errores de red y la cancelación de fetch mediante AbortSignal no se convierten en InceptivaApiError.

Todos los errores conservan status, code, message, el alias compatible detail y responseMetadata con límites de velocidad y consumo.

Códigos funcionales

CategoríaCódigos
Autenticaciónmissing_api_key, invalid_api_key, ip_not_allowed
Límitesrate_limit_exceeded, rate_limit_unavailable, usage_limit_exceeded
Entradamessage_too_large, metadata_too_large, metadata_too_many_keys, metadata_too_deep, metadata_invalid_key, metadata_invalid_value, metadata_list_too_large
Idempotenciaidempotency_key_reused, idempotency_request_in_progress
Conversaciónexternal_reference_mismatch, conversation_not_found
Generacióngeneration_failed