CLI

Monitors

Page-change monitor operations

Page-change monitor operations

First-capture behavior is the same for both monitor types: the first capture is a silent baseline (has_change: false, change_pct: null) with no change_detected webhook, whether the monitor is scrape or screenshot. From the second capture onward both types diff against the previous capture.

monitors › captures

Monitor capture sub-resources

OptionDescription
-h, --helpdisplay help for command

monitors › captures › list

List captures for a monitor

OptionDescription
--limit <n>Maximum number of captures to return
--cursor <cursor>Pagination cursor from a previous page
-h, --helpdisplay help for command
$ bytekit monitors captures list <id> --limit <n> --cursor <cursor>

monitors › create

Create a page-change monitor

OptionDescription
--url <url>URL to monitor
--interval-type <type>Check interval: hourly, daily, weekly, or cron
--webhook-url <url>HTTPS webhook URL notified on change
--cron <expr>Cron expression (required when --interval-type is cron, e.g. "0 * * * *")
--type <type>Monitor type: screenshot, scrape (omitted → server default screenshot)
--change-threshold <pct>Change percentage that triggers a notification (float; omitted → server default 5)
--notify-on <event>When to notify: change, every (omitted → server default change)
--webhook-secret <secret>HMAC secret for webhook signature verification
--webhook-headers <json>Extra webhook headers as a JSON object, e.g. '{"X-Sig":"abc"}' (omitted → none)
--options <json>Screenshot-monitor options as a JSON object (omitted → server defaults)
--scrape-options <json>Scrape-monitor options as a JSON object (type=scrape only; omitted → server defaults)
--metadata <json>Arbitrary metadata echoed on the monitor envelope, as a JSON object, e.g. '{"run":"7"}' (omitted → none)
-h, --helpdisplay help for command
$ bytekit monitors create --url <url> --interval-type <type> --webhook-url <url> --cron <expr> --type <type> --change-threshold <pct> --notify-on <event> --webhook-secret <secret> --webhook-headers <json> --options <json> --scrape-options <json> --metadata <json>

monitors › list

List all monitors

OptionDescription
--limit <n>Maximum number of monitors to return
--cursor <cursor>Pagination cursor from a previous page
--status <status>Filter by status: active, processing, paused, cancelled, suspended (default active)
-h, --helpdisplay help for command
$ bytekit monitors list --limit <n> --cursor <cursor> --status <status>

monitors › get

Get a monitor by ID

OptionDescription
-h, --helpdisplay help for command
$ bytekit monitors get <id>

monitors › update

Update a monitor (including pause/resume via --status)

OptionDescription
--url <url>New URL to monitor (omitted → unchanged)
--interval-type <type>New check interval: hourly, daily, weekly, or cron
--cron <expr>New cron expression (when interval-type is cron, e.g. "0 * * * *")
--webhook-url <url>New HTTPS webhook URL
--status <status>Pause or resume the monitor: active, paused
--change-threshold <pct>New change percentage that triggers a notification (float)
--notify-on <event>When to notify: change, every
--webhook-secret <secret>New HMAC secret for webhook signature verification
--webhook-headers <json>New webhook headers as a JSON object, e.g. '{"X-Sig":"abc"}'
--options <json>New screenshot-monitor options as a JSON object
--scrape-options <json>New scrape-monitor options as a JSON object
--metadata <json>New metadata as a JSON object, e.g. '{"run":"7"}' (omitted → unchanged)
-h, --helpdisplay help for command
$ bytekit monitors update <id> --url <url> --interval-type <type> --cron <expr> --webhook-url <url> --status <status> --change-threshold <pct> --notify-on <event> --webhook-secret <secret> --webhook-headers <json> --options <json> --scrape-options <json> --metadata <json>

monitors › delete

Delete a monitor

OptionDescription
-h, --helpdisplay help for command
$ bytekit monitors delete <id>