У меня есть приложение, которое отправляет сообщения пользователям. В почтовом запросе передается строка XML, которая состоит из всех пользователей, которые должны получить это конкретное сообщение. Если ни один из пользователей в списке не существует, я возвращаю список пропавших пользователей клиенту для дальнейшей оценки.
Теперь я спрашиваю себя, какой будет правильный код состояния для приложения, говоря, что запрос принят, но есть вещи, которые невозможно сделать.
Проблемы можно было бы избежать, если бы не разрешалось включать пропущенных пользователей в список. Тогда попытка отправки просто получит ошибку 4xx. Но нет смысла формировать API таким образом.
С другой стороны, я мог бы считать условие ошибки чисто специфическим для приложения. Но отправка 200 просто не чувствуется правильным. И было бы неплохо дать клиенту подсказку, когда следует внимательно изучить ответ об ошибке. например чтобы не отправлять сообщения этим пользователям снова и снова