POST
Capture asynchronously

Authorizations

Authorization
string
header
required

Authenticate with a Snapsnip API key using Authorization: Bearer <api-key>.

Body

application/json

Capture options with an optional webhook or cloud-storage delivery.

Request body for an asynchronous capture.

output
PNG · object
required

Primary render output selection. format is the public JSON discriminator.

source
URL · object
required

Input document loaded into the isolated capture page.

actions
(Add style · object | Hide selector · object | Evaluate · object | Click · object | Hover · object | Press key · object | Wait · object)[]

One page mutation or wait executed before rendering.

blocking
null | object

Capture-layer request blocking policy.

cleanup
object

Optional conservative page cleanup performed before explicit actions.

dialog_policy
Dismiss · object

Automatic JavaScript-dialog response.

environment
object

Browser environment configured before loading the source.

metadata
object

Metadata fields collected after page preparation.

navigation
object

Navigation behavior for one capture request.

stealth
null | enum<string>

Lightweight headless-browser masking policy.

None on the request inherits browser defaults. This does not guarantee evasion of automation detection or anti-bot systems.

Available options:
disabled,
hide_headless
target
Viewport · object

Page area rendered by a capture.

timeout
integer<int64> | null
Required range: 1 <= x <= 300
delivery
Webhook · object

Optional external destination for the completion result.

Omit this field to retrieve the result through the status and download endpoints.

Callbacks

POST
{$request.body#/delivery/destination}captureEvent

Body

application/json

Webhook payload emitted after a successful asynchronous capture.

data
object
required

Details of the completed capture.

event
enum<string>
required

Webhook event name. Always capture.completed.

Available options:
capture.completed
id
string<uuid>
required

Unique identifier for this webhook event.

timestamp
string<date-time>
required

Time at which the webhook event was created.

Response

2XX

Event accepted

Response

Capture accepted for asynchronous processing.

Receipt returned after an asynchronous capture is accepted.

capture_id
string
required

Opaque identifier used to query and download this capture.

Required string length: 36
requested_at
string<date-time>
required

Time at which the server accepted the request.

status
enum<string>
required

Initial lifecycle state of the capture.

Available options:
queued,
running,
completed,
failed,
expired
status_url
string<uri>
required

API path used to retrieve the latest capture status.