7.10Error categories are more useful
For an integration API, think:
BAD INPUT
→ 400
NOT FOUND
→ 404
AUTHORIZATION
→ 401 / 403
CONFLICT / business rule
→ 409 / 422 depending on contract
DOWNSTREAM TEMPORARY FAILURE
→ 502 / 503 / 504
UNEXPECTED BUG
→ 500
Your API shouldn't expose:
SALESFORCE:INVALID_INPUT
directly to consumers.
That's implementation detail.