it depends on the API. to me a 404 only makes sense if one can definitately know the given resource never existed. but even if one can, the question is what the value is in returning a 404? I have a hard time imagining a use case where I as the user care if I was the one that removed a resource. when I hit delete, all I care about is that its gone and so a 204 makes a lot more sense.