What is the HTTP response code for failed HTTP Delete operation?

HttpRest

Http Problem Overview


I have a resources with uri /api/books/122 , if this resource doesn't exist at the point where a client sends HTTP Delete for this resource, what is the appropriate response code from this action? Is it 404 Not Found?
Thanks

Http Solutions


Solution 1 - Http

The response code for a delete call can be any of the following :

  • DELETE /api/book/122 - The server successfully processed the request, but is not returning any content

  • 204 No Content

  • DELETE /api/book/122 - Resource does not exist

  • 404 Not Found

  • DELETE /api/book/122 - Resource already deleted

  • 410 Gone

  • DELETE /api/book/122 - Users does not have permission

  • 403 Forbidden

  • DELETE /api/book/122 - Method Not Allowed

  • 405 Method Not Allowed

  • DELETE /api/book/122 - Conflict (User can resolve the conflict and delete)

  • 409 Conflict

In your case 404 is apt.

Solution 2 - Http

Yes, it would be 404.

In general it will be a 400 series error if the request is wrong somehow, and a 500 series error if something goes awry on the server.

Solution 3 - Http

I would suggest taking a look at this flow diagram. It's obviously a little bit more than you need but a great resource for future readers. Sadly there is no excerpt possible.

http-decision-diagram

enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKlsLondonView Question on Stackoverflow
Solution 1 - HttpGeorge JohnView Answer on Stackoverflow
Solution 2 - HttpWill HartungView Answer on Stackoverflow
Solution 3 - HttpErik PhilipsView Answer on Stackoverflow