O que significa
A requisição conflita com o estado atual do recurso, como uma duplicata ou uma edição simultânea.
Causas comuns
- Criar um registro que já existe (e-mail ou nome único)
- Editar um recurso que outra pessoa alterou
- Um conflito de versão ou estado no estilo git
Como resolver
Se você é o cliente ou visitante
Busque o estado mais recente, resolva o conflito ou escolha outro valor e tente de novo.
Se você mantém o site ou a API
Explique no corpo o que conflita. Para bloqueio otimista com ETags, 412 é o status mais preciso.
Resposta de exemplo
HTTP/1.1
HTTP/1.1 409 Conflict
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Conflict",
"status": 409,
"detail": "A user with this email already exists."
} Especificação
Perguntas frequentes
› 409 ou 422 para e-mail duplicado?
Ambos são usados. 409 combina com conflito com dados existentes; 422 com um framework de validação. Seja consistente.
› Clientes devem repetir 409 automaticamente?
Não; o conflito costuma exigir uma decisão. Atualize os dados primeiro.