Monitors#
Watch a public URL on a schedule. Each check scrapes the page, compares a content hash against the last snapshot, and can post a signed monitor.page webhook when the page is new or changed. Intervals: 60, 360, 1440 or 10080 minutes (or 0 for manual runs only). One credit per successful check; failed checks are free, and a lack of credits pauses scheduled checks.
curl -X POST https://api.luni.gg/v1/monitors \
-H "Authorization: Bearer $LUNI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Pricing",
"url": "https://example.com/pricing",
"intervalMinutes": 360,
"webhook": {
"url": "https://your-app.example/luni-monitor",
"secret": "<your-signing-secret>"
}
}'curl -X POST https://api.luni.gg/v1/monitors/$MONITOR_ID/run \
-H "Authorization: Bearer $LUNI_API_KEY" \
-H "Idempotency-Key: monitor-run-1"MVP scope is one URL per monitor, text diffs, and webhooks. AI goals, crawl/search targets, email and Slack are not included yet. The same watches are available as MCP tools (luni_monitor_*).
