Що це означає
Запит конфліктує з поточним станом ресурсу, наприклад дублікат або одночасне редагування.
Типові причини
- Створення запису, що вже існує (унікальний email чи назва)
- Редагування ресурсу, який змінив хтось інший
- Конфлікт версій чи стану, як у git
Як виправити
Якщо ви клієнт або відвідувач
Отримайте найновіший стан, розв'яжіть конфлікт або виберіть інше значення й повторіть.
Якщо ви власник сайту чи API
Поясніть у тілі, що саме конфліктує. Для оптимістичного блокування з ETag точнішим статусом є 412.
Приклад відповіді
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."
} Специфікація
Часті запитання
› 409 чи 422 для дубліката email?
Використовують обидва. 409 пасує до конфлікту з наявними даними; 422 — до фреймворку валідації. Будьте послідовні.
› Чи мають клієнти автоматично повторювати 409?
Ні; конфлікт зазвичай потребує рішення. Спершу оновіть дані.