Meet the new Scripe, live on October 7.Register

API v1 · 5xx

service_unavailable

HTTPWhen
503A downstream service the request needed was 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.