v10
latestOpenAPI 3.1.02026-08-0375143791.1 KBMonitors
Create a monitor
Creates a monitor. The request body is a union of the supported target/change detection combinations. The monitor runs immediately after creation to create its initial baseline.
post/monitors
Request body
Example request
{
"name": "Acme pricing monitor",
"tags": [
"pricing",
"competitor"
],
"target": {
"url": "https://acme.com/pricing",
"instructions": "Report pricing or plan availability changes. Ignore counters, timestamps, testimonials, and navigation."
},
"schedule": {
"frequency": 6,
"unit": "hours"
},
"webhook": {
"url": "https://example.com/webhook",
"events": [
"change.detected",
"run.completed"
],
"secret": "whsec_8f3a…"
}
}Response
Monitor created
Example response
{
"id": "mon_123",
"name": "Acme pricing monitor",
"target": {
"url": "https://acme.com/pricing",
"instructions": "Report pricing or plan availability changes. Ignore counters, timestamps, testimonials, and navigation."
},
"schedule": {
"frequency": 6,
"unit": "hours"
},
"webhook": {
"url": "https://example.com/webhook",
"events": [
"change.detected",
"run.completed"
],
"secret": "whsec_8f3a…"
},
"last_error": {
"code": "fetch_failed",
"message": "The target URL could not be fetched."
},
"webhook_failure": {
"consecutive_failures": 3,
"last_message": "Webhook endpoint returned HTTP 429."
},
"tags": [
"pricing",
"competitor"
],
"baseline": {
"text": "Acme Pricing\nStarter $9/mo…"
},
"initial_run_id": "run_123"
}