Skip to main content
A monitor captures a baseline of a target, checks the target again on a schedule, and records a change when it finds a difference that counts. Receive changes as signed webhooks, or poll runs and changes through the API.

Pick a target

These are the only supported pairs. Exact detection reports every text difference. Semantic detection confirms a text difference, then asks an AI judge whether it matters under your instructions. When you omit change_detection, it’s inferred from the target as in the table. Extract monitors cost more per run than page and sitemap monitors. See credits.

Create a monitor

This monitor watches a changelog page and reports only the changes its instructions describe. Because the target has instructions, detection is semantic. The examples read your API key from CONTEXT_DEV_API_KEY; the Quickstart shows how to set one up.
The API returns 201 with the monitor and initial_run_id (trimmed):
Creating a monitor queues a baseline run right away. The baseline run captures the first snapshot and never reports a change; later runs compare against it. Pass initial_run_id to Retrieve a monitor run to confirm the baseline worked. If the run couldn’t be queued, initial_run_id is null and the baseline runs at the next scheduled time. Save webhook.secret in server-side secret storage, associated with the monitor id, and use it to verify incoming deliveries. With no schedule, the monitor runs once a day; see Schedules.

Monitor fields

Create, retrieve, update, and list all return the monitor object. Besides name, target, change_detection, schedule, and webhook, it has: The baseline shape depends on the target, and every shape has captured_at, when it was last captured or replaced:

List monitors

GET /v1/monitors returns your monitors in data, 25 per page by default and up to 100 with limit. While has_more is true, request the next page with cursor set to next_cursor. Filters combine. If search is temporarily unavailable, a request with q returns 503 SEARCH_UNAVAILABLE; retry, or list without search filters.

Access

A restricted API key needs monitors:write to create, update, delete, or run a monitor, rotate its webhook secret, and replay its webhook deliveries. monitors:read covers monitors, runs, changes, limits, credit usage, and delivery history. webhook.secret is returned only to keys with monitors:write. See API keys.

Before you rely on alerts

  • The baseline run completed: status: "completed" and baseline_created: true.
  • instructions say what matters and what to ignore.
  • Your receiver verifies signatures and deduplicates events on X-Context-Id.
  • Failed runs send no webhook, so you check runs for failures or subscribe to run.completed as a heartbeat.