Skip to main content
JSON errors include success:false, a safe error message, and a stable type. Some products add a more specific code, retryable, fields, or settled credits.

Partial screenshot results

Add-ons settle independently. A successful screenshot with failed regions returns HTTP 200, regions:null, regionError, and a two-credit refund. A successful screenshot and regions with failed AI generation returns status:"partial", styleGuide:null, a typed styleGuideError, and only the AI refund. Treat partial responses as usable evidence. Persist the complete screenshot and inspect the typed component error before deciding whether to retry. A customer retry can use cache:true to avoid another browser capture when the cached entry contains all required inputs.

Retry guidance

  • Retry 429 after Retry-After, with jitter.
  • Retry errors only when retryable:true or the transport failed before a response.
  • Do not retry validation, ownership, hash-mismatch, or unbounded-page errors unchanged.
  • Make async settlement idempotent on your side by job ID or webhook event identity.
  • Polling GET /status/{jobId} does not charge credits.
Scrinly does not expose customer retry or recovery routes. Submit a new screenshot or diff request when a retry is appropriate.