Skip to main content

service_unavailable

Some endpoints call out to third parties to do their work: S3 for uploads, LinkedIn for publish and profile reads, Clerk for workspace and member metadata. When one of those is unreachable or unconfigured, the request fails with this code in the ordinary error envelope. GET /v1/health does not emit this code. The health probe reports degradation in its own body — a 503 carrying { "status": "degraded", "version", "checks" } with no error object — so a monitor switching on error.code sees nothing there. Read status instead. See health. To recover:
  1. Treat 503 as transient. Retry with exponential backoff (e.g. start at 1 s, cap at 30 s).
  2. Check status.scripe.io for ongoing incidents.
  3. If your retry loop has been failing for more than a few minutes and the status page is green, capture the request_id from the error envelope and contact support.
We deliberately fail closed instead of returning misleading 200s when a dependency the request needed is unhealthy.