application/problem+json:
type: Um URI que identifica o tipo de erro, construído comohttps://errors.lerian.studio/v1/seguido do código de erro.title: Um resumo breve do problema.status: O código de status HTTP da resposta.detail: Orientação detalhada para resolver o erro. As tabelas abaixo mostram esse conteúdo na colunamessage.code: Um identificador único e estável do erro. Geralmente é uma cadeia numérica de quatro dígitos extraída do registro de erros compartilhado da plataforma (por exemplo,0347); as falhas de autenticação são a exceção e usam a cadeia literalUnauthenticated(consulte a nota abaixo).entityType: A entidade à qual o erro se refere (por exemplo,Rule). Presente apenas quando aplicável.message: A razão legível por humanos, exposta textualmente como campo de nível superior. Presente apenas nas respostas413 Payload Too Largee504 Gateway Timeout; os demais erros o omitem.
Nos erros do lado do servidor (HTTP 5xx),
title e detail são sanitizados com valores genéricos para que causas internas nunca vazem. Use code e type para identificar o erro. Nos timeouts 504, o campo de nível superior message ainda carrega a razão específica.0009 com o título Validation Error e um detail que nomeia o campo e a restrição específicos; por exemplo, transactionType must be one of [CARD WIRE PIX CRYPTO].
Exemplos:
Duas famílias de respostas mantêm uma forma plana legada
{"code", "title", "message"} em vez do objeto de detalhes de problema, porque são emitidas por um middleware que roda antes da camada da API. Falhas de autenticação: uma API key ausente ou inválida retorna HTTP 401 com "code": "Unauthenticated", "title": "Unauthorized" e "message": "API Key missing or invalid" — compare com a cadeia literal Unauthenticated; um token Bearer que é analisado mas não tem o claim sub obrigatório retorna HTTP 401 com "code": "0474". Capacidade de tenants: o código 0466 retorna HTTP 503 com a mesma forma plana.Erros gerais
Estes erros podem ser retornados por qualquer endpoint da API do Tracer.
O código
0009 também aparece com o título Validation Error quando a validação em nível de campo rejeita uma requisição — veja a nota acima.
O código 0143 é retornado com HTTP 413 quando o corpo de uma requisição excede o limite de 100KB nos endpoints de validação e de reservas; a razão também aparece no campo de nível superior message. O código 0497 é retornado com HTTP 431 quando os cabeçalhos da requisição são grandes demais. O código 0484 é retornado com HTTP 404 para uma rota que o serviço não serve, e o código 0485 com HTTP 405 para um método que a rota não aceita.
Erros de data e hora
Erros de paginação
Erros de metadata
Estes erros são gerados pelo mapa
metadata de uma requisição de validação (POST /v1/validations) e de uma requisição de reserva (POST /v1/reservations).
Uma chave de metadata com mais de 64 caracteres, ou mais de 50 entradas de metadata em uma mesma requisição, é rejeitada com HTTP
400.
Erros de expressão CEL
As regras são escritas como expressões CEL (Common Expression Language). Estes erros são gerados quando uma expressão de regra é criada, atualizada ou avaliada.
Erros de regras
Erros de limites
| 0371 | Limit Name Invalid Chars | Limit name contains invalid characters. |
| 0372 | Limit Description Invalid Chars | Limit description contains invalid characters. |
| 0373 | Limit Invalid ID | Limit ID is invalid or nil. |
| 0378 | Limit Check Failed | Limit check failed. |
| 0379 | Limit Nil Input | Limit input cannot be nil. |
| 0380 | Limit Immutable Field | Cannot modify immutable field (limitType, asset). |
| 0438 | Limit Time Window Mismatch | ActiveTimeStart and activeTimeEnd must both be set or both be nil. |
| 0442 | Limit Name Already Exists | Limit name already exists. |
| 0447 | Limit Invalid Custom Start Format | Invalid customStartDate format, expected RFC3339. |
| 0448 | Limit Invalid Custom End Format | Invalid customEndDate format, expected RFC3339. |
| 0449 | Limit Custom Dates Required | CustomStartDate and customEndDate required for CUSTOM limitType. |
Erros de eventos de auditoria
Erros de solicitação de validação
Estes erros são retornados pelos endpoints de validação de transações (
POST /v1/validations e as consultas de validação).
Os códigos
0422 e 0433 são retornados com HTTP 504 Gateway Timeout — 0422 quando uma avaliação de validação excede seu prazo, 0433 quando uma consulta de listagem de validações excede o dela. Como em todas as respostas 5xx, detail é sanitizado; a razão específica viaja no campo de nível superior message.
Erros de reserva
Estes erros são retornados pelos endpoints de reserva de uso (
/reservations), a superfície de duas fases de reservar / confirmar / liberar. As solicitações de reserva também podem retornar os erros gerais e de solicitação de validação listados acima.
| 0487 | Reservation Tenant Required | Reservation: tenant id is required on the multi-tenant reservation surface. |
Erros de multi-tenant e autenticação
A instância retorna HTTP 503 com um cabeçalho
Retry-After quando atinge o teto de workers por tenant e por pod; os clientes devem aguardar e tentar novamente. Um token Bearer que é analisado mas não tem o claim sub obrigatório é rejeitado com HTTP 401.
Erros de inicialização de multi-tenant
Estes códigos aparecem apenas na inicialização do serviço, quando
MULTI_TENANT_ENABLED=true e uma configuração obrigatória está ausente ou é incompatível. Aparecem nos logs de inicialização e impedem que o serviço inicie; nunca chegam aos consumidores da API /v1/*.
Erros de sonda de prontidão
Estes códigos são expostos pelo endpoint operacional
/readyz e pelo ciclo de vida do supervisor de workers. Aparecem no campo error da resposta JSON de /readyz — que carrega apenas o código — e não nas respostas da API /v1/*. O title e a message abaixo descrevem cada código como referência para o operador.
O ciclo de /readyz sonda cinco dependências: postgres e rule_cache sempre; redis e tenant_manager apenas em modo multi-tenant (puladas caso contrário); streaming é consultiva — aparece nas verificações e métricas, mas nunca força um 503.

