I very much dislike HTTP response status codes. HTTP is very annoying because a request can fail in so many different ways: connection error, status code wrong, response may be invalid JSON, response may be valid JSON with an `"error"` property somewhere.
Discussion
and then the error codes don't even make any sense. there have universal absolute codes, but their meaning depends on the context anyway, so it's often not helpful.