application/problem+json:
type: un URI que identifica el tipo de error, formado porhttps://errors.lerian.studio/v1/seguido del código de error.title: un resumen breve del problema.status: el código de estado HTTP de la respuesta.detail: orientación detallada para resolver el error. Las tablas siguientes muestran este contenido en la columnamessage.code: un identificador único y estable para el error. Suele ser una cadena numérica de cuatro dígitos tomada del registro de errores compartido de la plataforma (por ejemplo,0347). Los fallos de autenticación por API key usan la cadena literalUnauthenticated(consulta la nota siguiente). Los rechazos de Access Manager y Tenant Manager usan sus propios códigos, incluidos los códigos de Errores de capacidad y autenticación.entityType: la entidad con la que se relaciona el error (por ejemplo,Rule). Solo está presente cuando corresponde.message: el motivo en lenguaje natural, expuesto tal cual como campo de primer nivel. Está presente en las respuestas413 Payload Too Largey504 Gateway Timeout.
En los errores del lado del servidor (HTTP 5xx),
title y detail llevan valores genéricos. Los rechazos de Access Manager y Tenant Manager conservan sus propios title y detail. Usa code y type para identificar el error. En los 504 por timeout, el campo message de primer nivel sigue llevando el motivo específico.0009 con el título Validation Error y un detail que nombra el campo y la restricción específicos, por ejemplo scope at index 0: scheme must be 1 to 50 characters of A-Z, 0-9, _ or - after trimming and upper-casing.
Ejemplos:
Dos familias de respuestas conservan una forma plana heredada
{"code", "title", "message"} en lugar del objeto de detalles de problema. Las emite un middleware que se ejecuta antes de la capa de API. Fallos de autenticación: una clave de API ausente o inválida devuelve HTTP 401 con "code": "Unauthenticated", "title": "Unauthorized", y "message": "API Key missing or invalid". Haz coincidir la cadena literal Unauthenticated. Un token Bearer que se analiza correctamente pero carece del claim sub requerido devuelve HTTP 401 con "code": "0474". Capacidad de tenant: el código 0466 devuelve HTTP 503 en la misma forma plana.Errores generales
Cualquier endpoint de la API de Tracer puede devolver estos errores.
El código
0009 también aparece con el título Validation Error cuando la validación en el nivel de campo rechaza una solicitud. Consulta la nota anterior.
El endpoint de validación devuelve el código 0143 con HTTP 413 cuando el cuerpo de la solicitud supera el límite de 100KB. El motivo también aparece en el campo message de primer nivel. La API de Tracer devuelve el código 0497 con HTTP 431 cuando los headers de la solicitud son demasiado grandes. Devuelve el código 0484 con HTTP 404 para una ruta que el servicio no atiende. Devuelve el código 0485 con HTTP 405 para un método que la ruta no acepta.
Errores de fecha y hora
Errores de paginación
Errores de metadatos
Estos errores provienen del mapa
metadata de una solicitud de validación (POST /v1/validations y POST /v1/validations/rules-only).
La API devuelve HTTP
400 cuando una clave de metadatos supera los 100 bytes.
Errores de expresión CEL
Escribes las reglas como expresiones CEL (Common Expression Language). Estos errores aparecen al crear, actualizar o evaluar la expresión de una regla.
Errores de regla
Errores de límite
Errores de evento de auditoría
Errores de solicitud de validación
Los endpoints de validación de transacciones (
POST /v1/validations, POST /v1/validations/rules-only y las consultas de validación) devuelven estos errores.
La API devuelve el código
0084 con HTTP 409 cuando una solicitud de validación reutiliza un requestId que otro cuerpo o la otra ruta de validación ya guardó. Un cuerpo que difiere solo en transactionTimestamp reproduce la decisión guardada.
Las solicitudes de reglas y límites, y los filtros de lista scheme y transaction_type, también devuelven 0540 cuando los dos nombres tienen valores distintos.
Errores del seam de reservas
Tracer devuelve estos códigos al ledger de Midaz en el seam gRPC de reservas. La API HTTP de Tracer no los devuelve. Un cliente de la API de Ledger recibe códigos de Midaz en su lugar. Consulta la lista de errores de Midaz.
Errores de capacidad y autenticación
La instancia devuelve HTTP 503 con un header
Retry-After cuando alcanza su tope de workers de tenant por pod. Los clientes deben aplicar backoff y reintentar. Un token Bearer que se analiza correctamente pero carece del claim sub requerido devuelve HTTP 401. Una solicitud que pasa de REQUEST_TIMEOUT_SEC devuelve HTTP 504 con el código 0564. Una base de datos que rechaza la conexión devuelve HTTP 503 con el código 0567.
Los rechazos de Access Manager incluyen los códigos AUT- de abajo. AUT-0006 y AUT-0007 devuelven HTTP 401, AUT-1020 devuelve 403, AUT-0033 devuelve 503 y AUT-1021 devuelve 504. Con multi-tenant habilitado, Tracer devuelve TENANT_MANAGER_UNAVAILABLE (503) cuando Tenant Manager no está disponible y TENANT_MANAGER_TIMEOUT (504) cuando no responde a tiempo.
Códigos solo de log
Tracer escribe estos códigos en sus logs. No aparecen en las respuestas de la API
/v1/*. El title y el message de abajo describen cada código como referencia para el operador.
/readyz lista una entrada por verificación: postgres, license, rule_cache (single-tenant), redis y tenant_manager (multi-tenant), y streaming cuando el streaming está habilitado. El campo error de una verificación fallida nombra una clase de falla, no un código de error. streaming es consultivo: nunca fuerza un 503.
