application/problem+json. Uma recusa por rate limit responde com um corpo plano {code, title, message} em
application/json.
status– O código de status HTTP.title– O nome do status, comoUnprocessable Entity.detail– O que deu errado nessa ocorrência. Abaixo de500, descreve a recusa específica. Para500,502e503, carrega um valor genérico fixo em vez da causa subjacente.errors– Lista opcional de detalhes de validação de schema. Cada entrada carrega umalocation, umamessagee ovalueque o Lender recebeu.type– Presente nos erros que o framework produz, onde carrega o padrãoabout:blankda RFC 9457.
code, title e message em vez disso. Seu code repete o status HTTP numérico. Seu title nomeia a recusa e sua message a explica em uma frase. Nenhuma das duas strings varia conforme o chamador ou nomeia sua cota restante.
Faça o branch pelo status HTTP e pelo content type, então leia detail para a recusa específica. O middleware de autorização e de idempotência pode responder em seus próprios formatos de resposta.
Erros do cliente
O Lender responde com
4xx quando a requisição é o problema, e detail nomeia a recusa específica.
O Lender restringe uma busca ao tenant do chamador e ao pai nomeado no path. Um identificador que resolve fora desse escopo responde da mesma forma que um identificador que não resolve a nada.
Um comando precisa de um subject na identidade do chamador, porque o Lender registra esse subject como o ator por trás da mudança. Limites de bytes se aplicam duas vezes: o framework limita o corpo da requisição, e cada superfície de ingestão de arquivo limita o arquivo que aceita.
A validação de schema roda antes do handler e preenche errors com uma entrada por localização rejeitada. Uma regra de negócio roda dentro do handler e responde apenas com detail. Três exemplos: uma verificação de moeda que diverge do empréstimo, uma composição de conjunto que mistura moedas, e um fundo configurado sem um registro.
Erros do servidor
O Lender responde com
5xx quando a requisição está correta e a chamada não pôde ser concluída. Nesses status, detail carrega um valor genérico fixo, então a causa subjacente permanece dentro do serviço.
Um 503 cobre duas condições: uma capacidade que o deploy não executa, e uma dependência que o Lender não consegue alcançar no momento da chamada. Um 502 cobre um terceiro que recusa um comando que o Lender encaminha a ele, como o registro que grava uma cessão de recebíveis.

