Referencia
Errores
Todos los errores se devuelven con la misma estructura; ramifica tu código según el campo code, no según el texto del mensaje.
Estructura de error
{
"error": {
"code": "not_found",
"message": "Order not found.",
"request_id": "83955522c09ff2d1"
}
}Una ruta no definida también devuelve JSON 404 not_found con la misma estructura; no devuelve una página HTML.
Códigos
| HTTP | code | Cuándo |
|---|---|---|
| 401 | unauthorized | No hay token, su formato es incorrecto o no es válido. |
| 403 | insufficient_scope | El token no tiene el permiso que requiere este endpoint. |
| 403 | tier_required | La función solicitada no está en tu plan (p. ej., elegir tu propio nombre de usuario). |
| 403 | forbidden | Esta operación no está permitida. |
| 404 | not_found | No se encontró el recurso o está oculto porque venció. |
| 404 | api_disabled | El acceso a la API está desactivado. |
| 405 | method_not_allowed | Este endpoint no admite este método HTTP. Los métodos admitidos están en el encabezado Allow. |
| 400 | invalid_request | Campo no válido, campo o parámetro desconocido, o un campo propio de otro tipo. |
| 402 | insufficient_balance | El saldo no alcanza para esta operación. |
| 409 | conflict | Conflicto de estado: servicio no renovable, solicitud idempotente aún en proceso, nombre de usuario ya ocupado. |
| 429 | rate_limited | Se superó el límite de solicitudes. |
| 502 / 503 | service_unavailable | No se pudo acceder al proveedor o al almacén de logs; vuelve a intentarlo. |
| 500 / 502 | internal_error | Error inesperado; ponte en contacto con soporte e indica el request_id. |
details
Si el error tiene un detalle legible por máquina, se devuelve en el campo details: el campo incorrecto (field), el stock (available), la cantidad mínima (min_required), el saldo (balance), el valor máximo permitido (max), el motivo del error (reason), entre otros. Por ejemplo, si el tipo de servicio está en mantenimiento, llega reason: maintenance junto con service_unavailable.
402 insufficient_balance
{
"error": {
"code": "insufficient_balance",
"message": "Insufficient balance for this operation.",
"request_id": "5f1c0a9e7b2d4c61",
"details": { "field": "balance", "balance": 3.2, "min_required": 12.5 }
}
}request_id
Registra el valor request_id en tus logs; el equipo de soporte puede buscar con ese identificador en el registro del servidor.