18+ Only  |  Gambling can be addictive — please gamble responsibly  |  Gambling Help: 1800 858 858  |  GambleAware

API reference / Account

GET /v1/uptime

Public uptime stats

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.

Requires X-API-Key

Request

curl 'https://api.puntersedge.online/v1/uptime' \
  -H 'X-API-Key: YOUR_KEY'

Parameters

This endpoint takes no parameters beyond authentication.

Responses

Status codes: 200, 401, 402, 429, 500. Response bodies are JSON; the full schema is in /openapi.json.

Example response

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"
}

Related endpoints

Try it against live data

The free tier needs no credit card, and the sandbox endpoints need no key at all.

Get a free API key Quickstart
This site contains wagering-related analysis and is intended for Australian users aged 18+. Gambling involves risk. Please gamble responsibly.