Qué significa
La petición entra en conflicto con el estado actual del recurso, como un duplicado o una edición simultánea.
Causas habituales
- Crear un registro que ya existe (email o nombre únicos)
- Editar un recurso que otra persona cambió
- Un conflicto de versión o estado al estilo git
Cómo solucionarlo
Si eres el cliente o visitante
Obtén el estado más reciente, resuelve el conflicto o elige otro valor, y vuelve a intentarlo.
Si administras el sitio o la API
Explica en el cuerpo qué entra en conflicto. Para bloqueo optimista con ETag, 412 es el estado más preciso.
Respuesta de ejemplo
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."
} Especificación
Preguntas frecuentes
› ¿409 o 422 para un email duplicado?
Se usan ambos. 409 encaja con un conflicto con datos existentes; 422 con un framework de validación. Sé coherente.
› ¿Los clientes deben reintentar un 409 automáticamente?
No; el conflicto suele requerir una decisión. Actualiza los datos primero.