4004xx · Erro do cliente
HTTP 400 Bad Request
O 400 Bad Request indica que o servidor não conseguiu entender a requisição: a sintaxe ou o formato dos dados está inválido.
O que significa
O servidor não entendeu a requisição — sintaxe ou dados inválidos. A requisição tem algum problema — quem chamou precisa corrigir.
Quando usar
Payload malformado. Para regra de negócio, prefira 422.
Especificação: RFC 9110
Causas comuns
- JSON malformado no corpo — vírgula sobrando ou aspas erradas
- Parâmetro obrigatório ausente na query string
- Tipo de dado incompatível, como texto onde se espera número
- Content-Type declarado diferente do corpo realmente enviado
Como resolver
- Valide o JSON do corpo antes de enviar
- Confira se o Content-Type corresponde ao formato do corpo
- Leia a mensagem de erro da resposta: APIs bem feitas apontam o campo problemático
- Para erro de regra de negócio com sintaxe válida, o correto é 422, não 400
Exemplo de resposta
HTTP/1.1 400 Bad Request
Content-Type: application/json
{"erro": "corpo_invalido", "detalhe": "JSON malformado na posição 42"}Perguntas frequentes
- Qual a diferença entre 400 e 422?
- O 400 é para requisição que o servidor não consegue nem interpretar — JSON quebrado, parâmetro faltando. O 422 é para requisição bem formada cujos dados não passam nas regras de negócio, como CPF inválido.
- Como descobrir o que está errado em um 400?
- Inspecione o corpo da resposta, que costuma trazer o detalhe. Se estiver vazio, valide o JSON enviado e confira o Content-Type — essas duas causas cobrem a maioria dos casos.