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"
}| Campo | Tipo | Descripción |
|---|---|---|
| statusCode | integer | El código de estado HTTP |
| error | string | Nombre corto del error (por ejemplo, "Bad Request") |
| message | string | Descripció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"}