Appearance
Error Model
Use this page to implement client retry, alerting, and incident triage behavior.
Standard response shape
json
{
"error": "string_code",
"message": "human_readable_message",
"details": {}
}Common classes
invalid_request(400)unauthorized/forbidden(401/403)not_found(404)rate_limited_*(429)backend_capability_unsupported(501)
Error example and fix
Example error:
json
{
"error": "rate_limited_write",
"message": "too many requests",
"details": { "retry_after_ms": 800 }
}Fix:
- Retry after the provided delay.
- Add exponential backoff + jitter in client retry policy.
- Reduce burst concurrency for the affected endpoint group.
Recommended client behavior
- Retry transient network failures.
- Retry
429using exponential backoff + jitter. - Persist and display
request_idfor all failures. - Log
error+detailsto preserve incident triage context.
Do not retry blindly
Do not blindly retry 400, 401, 403, or schema errors. These usually indicate caller bugs, missing credentials, or policy violations that require input changes instead of transport retry.