Skip to main content
Every check is a run. A run that finds a difference that counts creates a change. You can read both through the API whether or not you use webhooks.

List changes

GET /v1/monitors/{monitor_id}/changes lists a monitor’s changes, newest first.
A semantic page change (trimmed):
Every change has title, summary, url, detected_at, and tags. The other fields depend on the monitor: importance is low, medium, or high, and confidence runs from 0 to 1. diff holds the changed lines, each prefixed with + or -, capped at 400 lines, 2,000 characters per line, and 100,000 characters in total. URL lists hold the first 500 URLs, and the *_url_count fields are always exact.

Runs

GET /v1/monitors/{monitor_id}/runs lists a monitor’s runs, newest first. run_type is baseline for the run queued when a monitor is created or its target or detection changes, and scheduled for scheduled runs and Run now. Failed and skipped runs don’t send webhooks, so a missing event doesn’t mean nothing changed. Check runs for failures, or see Schedules for when repeated failures pause a monitor.

Account-wide lists

Every list returns 25 items by default and up to 100 with limit. While has_more is true, request the next page with cursor set to next_cursor. Change lists return full change records, the same as Retrieve a monitor change. Deleting a monitor also deletes its runs and changes. GET /v1/monitors/{monitor_id} includes baseline, the snapshot that runs compare against. It’s null until a baseline run completes.