Mam aplikację, która wysyła wiadomości do użytkowników. W żądaniu pocztowym przesyłany jest ciąg XML zawierający wszystkich użytkowników, którzy powinni otrzymać tę konkretną wiadomość. Jeśli któryś z użytkowników na liście nie istnieje, oddaję listę brakujących użytkowników z powrotem do klienta do dalszej oceny.
Teraz zadaję sobie pytanie, jaki byłby prawidłowy kod statusu dla aplikacji, mówiąc, że żądanie zostało zaakceptowane, ale są rzeczy, których nie można zrobić.
Problemu można by uniknąć, gdyby nie pozwolono na umieszczenie brakujących użytkowników na liście. Wtedy przy próbie wysłania wystąpiłby błąd 4xx. Jednak tworzenie API w ten sposób nie ma sensu. Z drugiej strony mógłbym uznać, że warunek błędu dotyczy wyłącznie aplikacji. Ale wysłanie 200 po prostu nie wydaje się właściwe. Byłoby miło dać klientowi wskazówkę, kiedy dokładnie przyjrzeć się odpowiedzi błędu. np. aby uniknąć ciągłego wysyłania wiadomości do tych użytkowników