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 HTTP200, 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
429afterRetry-After, with jitter. - Retry errors only when
retryable:trueor 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.