POST /v1/monitor · GET /v1/monitor · GET /v1/monitor/:id · DELETE /v1/monitor/:id

WebGlean checks the URL at your chosen interval, hashes the content, and fires a webhook when anything changes.

Cost: 1 credit per check

Register a monitor

curl -X POST https://www.webglean.com/v1/monitor \
  -H "Authorization: Bearer wg_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/pricing",
    "interval": "daily",
    "webhookUrl": "https://yourapp.com/webhooks/webglean"
  }'

Body parameters

ParameterTypeDefaultDescription
urlstringrequiredThe URL to monitor
intervalstring"daily"Check frequency: hourly, daily, weekly
webhookUrlstringoptionalURL to POST to when a change is detected

Response

Returned with status 201.

{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "url": "https://example.com/pricing",
    "interval": "daily",
    "status": "active",
    "createdAt": "2025-06-01T12:00:00.000Z"
  }
}

List monitors

curl https://www.webglean.com/v1/monitor \
  -H "Authorization: Bearer wg_your_key"

Get monitor details

curl https://www.webglean.com/v1/monitor/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer wg_your_key"

Returns the monitor's status plus all detected changes with timestamps.

Cancel a monitor

curl -X DELETE https://www.webglean.com/v1/monitor/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer wg_your_key"

Webhook payload

When a change is detected, WebGlean POSTs to your webhookUrl:

{
  "monitorId": "550e8400-e29b-41d4-a716-446655440000",
  "url": "https://example.com/pricing",
  "detectedAt": "2025-06-01T12:00:00Z",
  "snapshot": "# Pricing\n\nHobby plan now $15/mo..."
}

snapshot is the first 500 characters of the page's cleaned Markdown after the change. Webhook delivery failures are not retried.

Notes

  • If you run out of credits, active monitors are paused (not deleted) and resume automatically when you top up
  • Change detection uses SHA-256 hashing of the cleaned Markdown — formatting-only changes are ignored