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.
Headers
Identifies the Context.dev webhook sender.
Event type for this delivery.
Unique event ID. Matches the top-level id field in the request body.
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.
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.