Public uptime stats — no auth required, 0 credits. **`uptime_30d_pct` is nullable — type `number | null`, not `number`.** It is `null`, with `checks: 0`, whenever the monitor has written no samples inside the window: the buffer file is absent, or every sample in it predates the 30-day cutoff. Until 2026-08-18 those branches returned `100.0`, which published *no measurement* as *perfect availability*; the honest value is null and it stays null. Guard before any arithmetic or `>=` comparison: ```python pct = r.get("uptime_30d_pct") ok = pct is not None and pct >= 99.9 # not: r["uptime_30d_pct"] >= 99.9 ``` The no-measurement body in full: ```json { "uptime_30d_pct": null, "checks": 0, "status": "no data yet", "probe_target": "https://puntersedge.online/ping", "measures": "puntersedge.online (website), not api.puntersedge.online", "note": "..." } ``` `checks == 0` tests the same condition without touching the nullable field.
X-API-Key
curl 'https://api.puntersedge.online/v1/uptime' \
-H 'X-API-Key: YOUR_KEY'
This endpoint takes no parameters beyond authentication.
Status codes: 200, 401, 402, 429, 500. Response bodies are JSON; the full schema is in /openapi.json.
200 application/json
Field names and types are as the API returns them; values are a real sample, trimmed to a few items.
{
"uptime_30d_pct": 99.99,
"checks": 8640,
"last_status": "ok",
"monitor_stale": false,
"window_span_days": 30.0,
"probe_target": "https://puntersedge.online/ping"
}
GET /v1/account — Your account: email, plan, password, billing and consent statusPOST /v1/account/marketing — Turn promotional emails on or off for your accountPOST /v1/account/password — Set or change your account passwordGET /v1/billing/overage — Overage: state, rate and ceilingPOST /v1/billing/overage — Switch overage on or offGET /v1/billing/portal — Self-service billing portal linkPOST /v1/billing/portal — Billing portal link (console; confirms your password)GET /v1/billing/upgrade-link — A signed link to your prorated upgrade pageThe free tier needs no credit card, and the sandbox endpoints need no key at all.
Get a free API key Quickstart