Ir al contenido

Errores

Todos los errores siguen la misma estructura JSON:

{
"error": {
"code": "validation_error",
"message": "Request validation failed.",
"details": { }
},
"requestId": "58e27d56-a7b4-4243-924c-aab011b4de48"
}
  • error.code — código estable, legible por máquina.
  • error.message — descripción breve.
  • error.details — presente en errores de validación; indica los campos con problema.
  • requestId — identificador de la solicitud, útil para soporte.
HTTPcodeSignificado
400validation_errorEl cuerpo (o un parámetro de ruta, como un id) no cumple el esquema. details indica los campos con error.
400 / 409 / 422downstream_errorUvicuo rechazó la operación (datos inválidos, conflicto, etc.). details trae el motivo.
401unauthorizedFalta o es inválida la X-API-Key. Ver Autenticación.
404not_foundRuta o recurso inexistente.
422no_card_for_employeeEl empleado no tiene ninguna tarjeta asignada en Uvicuo (necesaria para un plan con tarjeta).
429rate_limitedSuperaste el límite de uso. Reintenta tras el valor de Retry-After.
502downstream_error / downstream_unavailableProblema temporal de Uvicuo. Reintenta más tarde.
500internal_errorError inesperado.
  • 409 al crear un presupuesto — ya existe un presupuesto con ese name (es único por empresa). Lista los existentes y reutiliza, o usa otro nombre.
  • 422 al activar un plan — validación de negocio fallida; el detalle viene en error.details. Ejemplo: VEHICLE_HAS_NO_TAG (el vehículo no tiene TAG y el presupuesto lo requiere).
  • 409 al activar un plan — el plan no puede activarse en su estado actual (p. ej. ya está activo).