Skip to main content
POST
Rotate a monitor webhook secret
0 Credits
Rotation takes effect immediately. Deliveries sent after this call are signed with the new secret, so update your endpoint to accept the new secret before you rotate — or briefly accept both — to avoid signature verification failures.
Use this endpoint when you suspect a leak, on a scheduled rotation cadence, or when moving webhook handling to a new environment. Only monitors that already have a webhook.url configured can be rotated; monitors without a webhook return 409 MONITOR_NO_WEBHOOK — add a webhook first with Update a Monitor. The 200 response returns the full monitor with the new value at webhook.secret. Store it and use it to verify webhook deliveries.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

monitor_id
string
required
Example:

"mon_123"

Response

Monitor with the rotated webhook secret

A web monitor. mode is the constant web; behavior is described by target (page/sitemap/extract) and change_detection (exact/semantic).

mode
enum<string>
required

Top-level monitor category. Always web today; the concrete behavior is described by target and change_detection.

Available options:
web
id
string
required
Example:

"mon_123"

name
string
required
Example:

"Acme pricing monitor"

target
Page target · object
required

Discriminated union describing what the monitor watches.

change_detection
Exact · object
required

Discriminated union describing how changes are detected.

schedule
Interval · object
required

Discriminated union describing how the monitor is scheduled. Only interval is supported today; cron and exact_time are reserved for future use.

status
enum<string>
required

Monitor lifecycle status. failed means the most recent run failed (see the monitor's last_error); failed monitors keep running on schedule and flip back to active on the next successful run. Monitors are auto-paused after repeated consecutive failures or insufficient-credit skips; resume by PATCHing status to active.

Available options:
active,
paused,
failed
created_at
string<date-time>
required
updated_at
string<date-time>
required
webhook
object | null
last_run_at
string<date-time> | null
last_change_at
string<date-time> | null
next_run_at
string<date-time> | null

When the next scheduled run is due.

last_error
object | null

Error from the most recent failed run; null when the last run succeeded.

webhook_failure
object | null

Present while webhook deliveries are failing consecutively; null when deliveries are healthy or no webhook is configured. Cleared on the next successful delivery and when the webhook URL changes.

tags
string[]

User-defined tags for grouping and filtering monitors and their changes. Duplicates are removed.

Maximum array length: 20
Required string length: 1 - 50
Example:
baseline
Page baseline · object

Current baseline: the last observed value the monitor compares new snapshots against. Its shape follows target.type (page/sitemap/extract). Only populated on GET /monitors/{monitor_id}; null until the first baseline run completes (and after a target or change_detection update, which resets the baseline).