Auto Schedule API
Auto Schedule API
A trigger, not a capture engine. It fires an Auto Schedule that already exists in your account — with that schedule’s URL, its Web Profile, its delivery settings and its retention — from your own code.
What it does
Pressing Quick Capture in the application starts a capture of a scheduled page straight away, without waiting for its next run. This API is that button, reachable over HTTP.
- One endpoint, one path parameter, no request body
- The capture is identical to the one the button produces
- Everything about it comes from the schedule — nothing is configurable per call
- Calling it twice while a capture is already pending is safe, and costs nothing
Use it where a deploy or a release happens
Base URL and auth
https://autoapi.websitescreenshotworld.com/auto-schedule/v1A different host from the Instant Snap API
autoapi.websitescreenshotworld.com. The Instant Snap API is somewhere else entirely. A path sent to the wrong host will not work, which is why every example here shows the full URL.Authentication is the same X-Api-Key header, carrying an Auto Schedule API key (wsw_autoapi_…) — an Instant Snap API key is refused here — API keys covers both families. There is no JWT and no cookie, and the endpoint accepts no other credential.
The API is described in an OpenAPI 3.1 document at https://autoapi.websitescreenshotworld.com/auto-schedule/v1/openapi.json, which needs no key to read. Import it into Postman or a code generator — OpenAPI documents has the details.
What has to exist first
Unlike the Instant Snap API, this one captures nothing on its own. Before the first call you need:
- An Auto Schedule for the page you want captured.
- A Web Profile attached to it, describing how the page should be rendered.
- An API key.
- The web page id of the schedule.
The upside of that setup is that the request stays trivial forever: change the device, the format or the storage destination in the Web Profile, and every future trigger uses the new settings without a line of your code changing.
Finding the web page id
The id is a UUID that identifies one scheduled page. Open the schedule in the application and it is the last segment of the address bar:
Auto SchedulesOpen the scheduleCopy the id from the URLOn the schedule’s own page, the Trigger API button next to its status copies the whole URL with the id already in it, which is usually the quickest way to get from the application to a working request.
Your first call
curl -X POST \
https://autoapi.websitescreenshotworld.com/auto-schedule/v1/web-pages/8f14e45f-ceea-467a-9d0b-2c0b6f1a9e77/trigger-now \
-H "X-Api-Key: $WSW_API_KEY"{
"success": true,
"status": "triggered",
"web_page_id": "8f14e45f-ceea-467a-9d0b-2c0b6f1a9e77",
"triggered_by": "api",
"triggered_at": "2026-09-01T09:14:22Z",
"message": "A capture has been started."
}status is the field to read. triggered means a capture was started; already_pending means one was already running and nothing new was started. Trigger a capture now covers both answers in full.
Seeing every call
Every call made with one of your keys is recorded in the application under Auto Schedules → API Request Logs - the refused ones too, with the same error_code and message the response carried, the client IP, the key that made the call and how long it took. A schedule's own row menu opens the log filtered to that schedule. When the answer was triggered, the row is linked to the capture once it has run.
When your integration says it was refused
What it does not do
| Value | Meaning |
|---|---|
It does not accept settings | No body, no query parameters. Every rendering decision comes from the Web Profile. If you need per-call settings, that is the Instant Snap API. |
It does not move the schedule | The next scheduled run happens exactly when it was going to. A trigger is an extra capture, not a rescheduling. |
It does not create anything | Schedules and Web Profiles are made in the application. There is no API for creating them. |
It does not return the capture | The capture runs asynchronously and lands wherever the schedule sends it. The response tells you the trigger was accepted, not what was produced. |
Did this page answer your question?
Tell us what is missing