async:true or provide webhookUrl on a supported screenshot or diff request. Scrinly returns 202 with a job ID and statusUrl. Async screenshots are stored automatically.
Poll status
401; unknown and cross-account job IDs return 404. Jobs transition through queued, in_progress, completed, or failed, with progress from 0 to 100.
Completed status includes safe screenshot, region, Style Guide, diff, credit, and typed component-error fields. Private headers, cookies, provider keys, customer-storage credentials, webhook secrets, and source URLs used only for diff download are not exposed. Oversized stored job results may list optional fields in result.truncated; direct media URLs remain in the result.
Signed webhooks
webhookUrl implies async mode. Add webhookSecret and verify the HMAC-SHA256 signature against the raw request body before parsing it. Webhook results follow the same safe response projection as status polling.
Return a successful response quickly and queue your own expensive work. Delivery retry failure does not rewrite a completed browser or diff result.