Overview
Public APIs should never require parsing free-form error strings.
Include request ids in client-visible failures.
Map auth, quota, billing, validation, conflict, and runtime failures to stable codes.
Developer notes
- Expose request_id on every public response.
- Keep secrets out of error details.
- Use 429 for rate limits and quota throttling.
- Use 409 for idempotency or state-machine conflicts.