Error Semantics
Common classes
400: invalid payload, missing required business fields401/403: authorization/ownership mismatch402: payment required for paid mutation404: resource not found409: state conflict (invalid transition)
Always parse error JSON and branch by code + message.