v10
latestOpenAPI 3.1.02026-08-0375143791.1 KBMonitors
Monitor run completed
Sent to a monitor's configured webhook URL after every completed run when the webhook subscribes to the run.completed event — including runs that detected no change, as confirmation the monitor ran. When a change was detected it is embedded in the payload. Return any 2xx response to acknowledge the delivery.
postWebhookmonitorRunCompleted
Headers
User-Agentstring required
Example:Context.dev-Webhooks/1.0
Identifies the Context.dev webhook sender.
X-Context-Event'run.completed' required
Event type for this delivery.
X-Context-Idstring required
Example:evt_123
Unique event ID. Matches the top-level id field in the request body.
X-Context-Signaturestring
Example:t=1783620012,v1=087d98aada1e39f9d24d65951f51e672da12b2f9ea1c02c7c8c5ef254f5d4068
HMAC signature in the form t=<unix>,v1=<hmac>. The HMAC is SHA-256 over "{t}.{rawRequestBody}", keyed with the monitor webhook secret. Verify the unmodified request body with a constant-time comparison and reject stale timestamps.
Payload
Example payload
{
"id": "evt_123",
"created_at": "2026-07-09T18:00:12.000Z",
"data": {
"run": {
"id": "run_123",
"monitor_id": "mon_123"
},
"change": {
"id": "chg_123",
"monitor_id": "mon_123",
"run_id": "run_123",
"title": "Acme pricing page changed",
"summary": "The visible text on the page changed.",
"tags": [
"pricing",
"competitor"
]
}
}
}Response
Webhook accepted.