Quickstart

Add a monitor and read the status endpoint. The examples below assume the runner is on http://localhost:8080.

1. Define monitors in monitors.yaml

monitors:
  - name: my-site
    url: https://example.com
    interval_s: 60        # minimum 10
    expected_status: [200]
    keyword: "Welcome"    # optional
    timeout_s: 15

2. Start the runner

pip install -r requirements.txt
python -m watchline.runner
# [watchline] watching 1 monitor(s): my-site

3. Read the status payload

curl localhost:8080/status | python3 -m json.tool
# {"service": "watchline", "summary": {"total": 1, "up": 1, ...},
#  "monitors": [{"name": "my-site", "status": "up",
#   "latency_ms": 212.4, "uptime_pct": 100.0, ...}],
#  "incidents": [...]}
Full reference: every endpoint — method, path, auth, request and response shapes — is documented in OPENAPI.md in the product repo.

Pick a plan