# 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

| Option | Description |
| --- | --- |
| `-h, --help` | display help for command |

#### monitors › captures › list

List captures for a monitor

| Option | Description |
| --- | --- |
| `--limit <n>` | Maximum number of captures to return |
| `--cursor <cursor>` | Pagination cursor from a previous page |
| `-h, --help` | display help for command |

```bash
$ bytekit monitors captures list <id> --limit <n> --cursor <cursor>
```

### monitors › create

Create a page-change monitor

| Option | Description |
| --- | --- |
| `--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, --help` | display help for command |

```bash
$ 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

| Option | Description |
| --- | --- |
| `--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, --help` | display help for command |

```bash
$ bytekit monitors list --limit <n> --cursor <cursor> --status <status>
```

### monitors › get

Get a monitor by ID

| Option | Description |
| --- | --- |
| `-h, --help` | display help for command |

```bash
$ bytekit monitors get <id>
```

### monitors › update

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

| Option | Description |
| --- | --- |
| `--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, --help` | display help for command |

```bash
$ 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

| Option | Description |
| --- | --- |
| `-h, --help` | display help for command |

```bash
$ bytekit monitors delete <id>
```