message carries the reason and data is an empty object.
Status codes
Some validation and state errors that other APIs return as
403/404 are
reported here as 400 or 401 with a descriptive message. Always read
message rather than inferring meaning from the code alone.Common messages
Handling errors
Because the HTTP code andstatus field always agree, you can branch on either.
A robust client checks status >= 400 and surfaces message to logs or to the
end user.