Skip to main content
WEBHOOK
monitorRunCompleted
{
  "event": "run.completed",
  "id": "evt_123",
  "created_at": "2026-07-09T18:00:12.000Z",
  "data": {
    "run": {
      "id": "run_123",
      "monitor_id": "mon_123",
      "status": "completed",
      "started_at": "2023-11-07T05:31:56Z",
      "completed_at": "2023-11-07T05:31:56Z",
      "change_detected": false,
      "change_id": null,
      "baseline_created": true
    },
    "change": {
      "mode": "web",
      "id": "chg_123",
      "monitor_id": "mon_123",
      "run_id": "run_123",
      "title": "Acme pricing page changed",
      "summary": "The visible text on the page changed.",
      "detected_at": "2023-11-07T05:31:56Z",
      "url": "<string>",
      "tags": [
        "pricing",
        "competitor"
      ],
      "confidence": 0.5,
      "diff": "<string>",
      "before_text_excerpt": "<string>",
      "after_text_excerpt": "<string>",
      "added_urls": [
        "<string>"
      ],
      "removed_urls": [
        "<string>"
      ],
      "added_url_count": 1,
      "removed_url_count": 1,
      "matched_urls": [
        "<string>"
      ],
      "matched_url_count": 1,
      "evidence": [
        {
          "before": "<string>",
          "after": "<string>",
          "url": "<string>"
        }
      ]
    }
  }
}

Headers

User-Agent
string
required

Identifies the Context.dev webhook sender.

Example:

"Context.dev-Webhooks/1.0"

X-Context-Event
enum<string>
required

Event type for this delivery.

Available options:
run.completed
X-Context-Id
string
required

Unique event ID. Matches the top-level id field in the request body.

Example:

"evt_123"

X-Context-Signature
string

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.

Example:

"t=1783620012,v1=087d98aada1e39f9d24d65951f51e672da12b2f9ea1c02c7c8c5ef254f5d4068"

Body

application/json

Payload sent after every completed run when the monitor's webhook subscribes to run.completed. A run with change_detected: false is a confirmation that the monitor ran and found no change.

event
enum<string>
required
Available options:
run.completed
id
string
required
Example:

"evt_123"

created_at
string<date-time>
required
Example:

"2026-07-09T18:00:12.000Z"

data
object
required

Response

2XX

Webhook accepted.