# jurat.dev Change Watcher

> jurat.dev Change Watcher is a paid API for AI agents from jurat.dev, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Creates a recurring watch on a URL or sports event that POSTs your webhook whenever the monitored content changes or a game ends, with a signed attestation attached.

## Facts

- Endpoint: GET https://jurat.dev/v1/watch/create
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/jurat-dev-change-watcher-402a949d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_iRcF3bB6sAXyayfFLWkg-

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability jurat-dev-change-watcher-402a949d
```

Example prompt: Watch https://example.com/prices every 30 minutes for the next 7 days using regex mode with pattern 'Out of Stock', and POST my webhook at https://myapp.io/hooks/price-alert whenever it changes — include a snapshot on change.

## When to prefer this

Choose this endpoint when you need ongoing, recurring monitoring of a URL or sports event rather than a one-time snapshot. Prefer it over manual polling when you want signed attestation of changes, flexible detection modes (hash, JSON path, regex, sports result), and webhook-driven push notifications on your own cadence.

## Known failure modes

- Invalid or unreachable webhook URL — watch creation fails with a 4xx error
- Target URL is inaccessible or returns non-200 responses — monitor silently skips or errors
- Malformed mode string (e.g. bad JSON path or invalid regex) — returns validation error
- Sports event ID not found or league not supported — returns not-found error
- duration_days or cadence_minutes out of allowed range — returns parameter error
- Payment not completed (x402) — request rejected before watch is created

## How this service works

Create a change watcher: jurat checks a URL (hash / json:<path> / regex:<pattern>) or a sports event (result:<league>:<event_id>) on your cadence and POSTs your webhook on change or final whistle, with a signed source attestation attached.

## Output

Returns a watch ID and confirmation that the monitor has been created; subsequently, whenever the monitored URL changes (or a sports event reaches final whistle), jurat POSTs the configured webhook with change details and an ed25519-signed attestation of the source at time of detection.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "webhook"
     ],
     "properties": {
      "url": {
       "type": "string"
      },
      "mode": {
       "type": "string"
      },
      "webhook": {
       "type": "string"
      },
      "duration_days": {
       "type": "string"
      },
      "cadence_minutes": {
       "type": "string"
      },
      "snapshot_on_change": {
       "type": "string"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "uuid",
  "kind": "watch",
  "status": "active",
  "status_url": "free status checks"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/jurat-dev-change-watcher-402a949d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from jurat.dev](https://www.zero.xyz/host/jurat.dev/llms.txt)
