Для # 1 403 предполагает, что ваше приложение поняло запрос, но не выполнит его (то есть текущий пользователь по каким-либо причинам не имеет права делать это). Я думаю, что 400 плохих запросов может иметь больше смысла в этом случае.
Для # 2 - я бы подумал, что 404 будет иметь больше смысла, т.е. ресурс не найден, если только
ресурс действительно существовал в некоторый момент, а затем был удален, и в этом случае 410 будет справедливым, но не многие клиенты знают, что делать с 410.
Для # 3 и # 4 - 200, если вы успешно обработали удаление, 202, если удаление поставлено в очередь и будет обработано позднее «вне диапазона».
RFC 2616 дает отличные объяснения того, что означает каждый код ответа в довольно понятных терминах.