Signification
La requête entre en conflit avec l'état actuel de la ressource, par exemple un doublon ou une modification simultanée.
Causes courantes
- Création d'un enregistrement qui existe déjà (e-mail ou nom unique)
- Modification d'une ressource que quelqu'un d'autre a changée
- Un conflit de version ou d'état à la git
Comment corriger
Côté client ou visiteur
Récupérez l'état le plus récent, résolvez le conflit ou choisissez une autre valeur, puis réessayez.
Côté propriétaire du site ou de l’API
Expliquez dans le corps ce qui est en conflit. Pour le verrouillage optimiste avec des ETag, 412 est le statut le plus précis.
Exemple de réponse
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."
} Spécification
FAQ
› 409 ou 422 pour un e-mail en double ?
Les deux sont utilisés. 409 convient à un conflit avec des données existantes ; 422 à un framework de validation. Restez cohérent.
› Les clients doivent-ils réessayer une 409 automatiquement ?
Non ; le conflit demande généralement une décision. Rafraîchissez d'abord les données.