Earlier quoted context omitted.
Here’s the standard for 422: https://tools.ietf.org/html/rfc4918#section-11.2 . It’s not a WebDAV-specific error condition. People are right to see the similarity and reuse the status code. This is not “overloading”.
There will be cases where an HTTP status code matches perfectly with an application specific scenario, and in those cases using an HTTP status code is not confusing. The confusion comes when the API developer tries to shoehorn all application specific errors into pre-existing HTTP status codes. In most cases it is clearer to simply adopt a payload format that includes application specific error codes, so that the cla…
Absolutely. This is a common practice and there’s even a proposed standard for it (RFC 7807). But such a payload need not be sent with 200 (OK). It can refine the status code instead of overriding it.