Jobs

Sent to `webhook_url` when a background job ends

The body is the job exactly as GET /api/v1/jobs/{id} returns it, plus event. Signed with two headers: x-timestamp (Unix seconds when this attempt was signed) and x-signature, the hex HMAC-SHA256 of <x-timestamp>.<raw body> keyed with your secret key. Refuse a delivery whose timestamp is more than 5 minutes from your clock, so a captured delivery cannot be replayed. Other headers: x-webhook-event, x-job-id, x-webhook-attempt. Answer with any 2xx status; other answers are retried with a growing delay.

postWebhookscreenshotFinished

Payload

job_idstring required
batch_idstring nullable
status'queued' | 'processing' | 'done' | 'failed' required
job_urlstring uri required
error_code'invalid_url' | 'host_not_allowed' | 'navigation_failed' | 'timeout' | 'selector_not_found' | 'page_blocked' | 'concurrency_limit' | 'content_too_large' | 'internal_error' | 'renderer_busy' | 'renderer_unavailable' | 'invalid_options' | 'access_key_required' | 'access_key_invalid' | 'signature_required' | 'signature_invalid' | 'quota_exceeded' | 'rate_limited' | 'job_not_found' | 'service_unavailable' | 'invalid_request' | 'email_not_verified' | 'feature_not_available' | 'request_expired' | 'not_found' | 'file_not_found' | 'method_not_allowed' | 'queue_limit' | 'failure_limit' | 'null' nullable
error_messagestring nullable
created_atstring date-time
finished_atstring date-time nullable
event'screenshot.completed' | 'screenshot.failed' required

Response

Received.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.