Skip to main content
A API do Midaz retorna erros nas rotas /v2 como um objeto problem details do RFC 9457, enviado com o tipo de conteúdo application/problem+json:
As rotas em /v1 retornam erros como application/json com code, title e message. Os erros de validação em /v1 também podem trazer entityType e fields.
Definições dos campos
  • type: Uma URI que identifica o tipo do erro, construída como https://errors.lerian.studio/v1/ seguida pelo código do erro.
  • title: Um breve resumo do problema.
  • status: O código de status HTTP da resposta.
  • detail: Orientação detalhada para resolver o erro. A coluna message da tabela abaixo mostra o texto que a API retorna. %v representa um valor que a resposta preenche.
  • code: Um identificador único e estável para o erro.
  • entityType: A entidade à qual o erro se refere (por exemplo, Organization). Presente apenas quando aplicável.
Para erros do lado do servidor (HTTP 5xx), title e detail trazem o texto do catálogo. Um erro inesperado retorna um corpo genérico. Use code e type para identificar o erro.
Detalhes de erro em nível de campo Para problemas específicos de campos individuais, um array errors lista cada campo com seu problema. Exemplos:

Erros do Midaz


Consulte a tabela a seguir para os códigos de erro e suas descrições:

Detalhes de alguns códigos

  • 0003 (409): o ledger já tem um ativo com esse nome ou código. Quando duas requisições criam um ativo com o mesmo código ao mesmo tempo, apenas uma tem sucesso.
  • 0020 (409): o ledger já tem uma conta com esse alias. Quando duas requisições criam uma conta com o mesmo alias ao mesmo tempo, apenas uma tem sucesso.
  • 0515 (400): a requisição tem mais pernas de débito e de crédito do que o Midaz aceita. Uma transação ou um estorno que registra mais de 10.000 pernas recebe esse código.
  • 0542 (503): o Midaz não consegue ler o estado de um saldo, ou o Valkey recusa a escrita de uma transação porque está sem memória. A requisição não altera nada. Repita-a, com a mesma chave de idempotência no caso de uma escrita.

Recusas de autenticação e de tenant


Uma requisição que a autenticação recusa retorna um código da camada de autorização, não um código do Midaz: Uma recusa que o Access Manager decide traz o código do Access Manager. Veja a lista de erros do Access Manager. Em um deploy multi-tenant, a resolução do tenant pode recusar uma requisição com estes códigos: O Midaz retorna 0042, 0043 ou 0525 apenas para uma recusa que não traz um código próprio.