4094xx · Erro do cliente
HTTP 409 Conflict
O 409 Conflict indica que a requisição colide com o estado atual do recurso e por isso não pode ser aplicada.
O que significa
A requisição conflita com o estado atual do recurso. A requisição tem algum problema — quem chamou precisa corrigir.
Quando usar
Cadastro duplicado, edição concorrente, versão desatualizada.
Especificação: RFC 9110
Causas comuns
- Cadastro com e-mail ou documento já existente
- Edição concorrente: dois usuários alterando o mesmo registro
- Versão desatualizada em controle de concorrência otimista
- Transição de estado inválida, como cancelar um pedido já entregue
Como resolver
- Informe no corpo qual campo ou regra gerou o conflito
- Em edição concorrente, recarregue o recurso e reaplique a alteração
- Use ETag com If-Match para detectar o conflito antes de sobrescrever
Exemplo de resposta
HTTP/1.1 409 Conflict
Content-Type: application/json
{"erro": "email_ja_cadastrado", "campo": "email"}Perguntas frequentes
- 409 ou 422 para cadastro duplicado?
- 409 é a escolha mais precisa: o dado é válido em si, o que impede a operação é o estado atual do sistema. O 422 fica melhor para dado que não passa na validação de formato ou de regra.