standing queries

POST /monitor

Watch a question instead of asking it once. Each sweep re-answers the query and diffs the grounded claim set against the last snapshot — a deterministic normalized-text comparison, zero extra model calls. The webhook fires only when the facts change: rephrasing is silence, a new number is a signal.

querystring
required — the watched question (1–1000 chars)
webhookUrlstring (url)
optional — POSTed the claim diff + new answer on change
routes
POST /monitor      # register → 201 { monitor_id }
GET /monitor       # list
GET /monitor/:id   # one monitor + last snapshot
DELETE /monitor/:id
POST /monitor/run   # the cron target — sweep + diff
webhook ◂ on change
{ "monitor_id": "mon_9b2e…",
  "diff": { "addedClaims": ["…"], "removedClaims": ["…"],
           "confidenceDelta": -0.05 },
  "answer": "… [1]", "citations": […], "confidence": 0.81
}