Docs/Errores

Errores

La API de Apertur utiliza códigos de estado HTTP estándar. Todas las respuestas de error incluyen un cuerpo JSON con detalles.

Formato de error

Todas las respuestas de error siguen esta estructura:

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "delivery_mode is required"
}
CampoTipoDescripción
statusCodeintegerEl código de estado HTTP
errorstringNombre corto del error (por ejemplo, "Bad Request")
messagestringDescripción legible del error

Códigos de estado HTTP

400Bad Request

El cuerpo o los parámetros de la solicitud no son válidos.

Causas comunes

  • Falta un campo requerido (por ejemplo, delivery_mode)
  • Valor o tipo de campo no válido
  • webhook_url faltante cuando delivery_mode es webhook
401Unauthorized

La autenticación falló. La clave API falta o no es válida.

Causas comunes

  • Sin encabezado Authorization
  • Token Bearer mal formado
  • La clave API no existe o ha sido eliminada
403Forbidden

La clave API es válida pero no tiene permiso para esta acción.

Causas comunes

  • La sesión pertenece a un proyecto diferente
  • Cuenta suspendida
  • El plan no permite esta funcionalidad
404Not Found

El recurso solicitado no existe.

Causas comunes

  • ID de sesión no encontrado
  • ID de imagen no encontrado
  • Ruta no válida
409Conflict

La solicitud entra en conflicto con el estado actual del recurso.

Causas comunes

  • La sesión ya está completada — no se pueden subir más imágenes
  • La imagen ya fue confirmada
410Gone

El recurso existió pero ya no está disponible.

Causas comunes

  • La sesión ha expirado
  • Todas las imágenes han sido confirmadas (long polling completado)
429Too Many Requests

Se ha excedido el límite de tasa para esta clave API.

Causas comunes

  • Se excedió el límite de solicitudes por minuto
  • Se excedió la cuota mensual de sesiones de su plan
500Internal Server Error

Ocurrió un error inesperado en nuestros servidores.

Causas comunes

  • Problema transitorio de infraestructura — reintente con retroceso exponencial
  • Si persiste, consulte nuestra página de estado

Manejo de errores en código

# Show both headers and body to inspect error responses
curl -v -X POST https://api.apertur.ca/v1/sessions \
  -H "Authorization: Bearer aptr_xxxx" \
  -H "Content-Type: application/json" \
  -w "\nHTTP Status: %{http_code}\n" \
  -d '{"delivery_mode": "webhook", "webhook_url": "https://your-app.com/webhook"}'

# Example error response (400):
# {"statusCode":400,"error":"Bad Request","message":"delivery_mode is required"}