We intentionally keep the public API surface small. The endpoints below are stable and safe for community integrations. Device and account endpoints require their own authentication and are not public.
Returns the current number of online platforms across the fleet. Used by our landing page and by community dashboards.
{
"online": 42
}curl -sS https://chronogate.io/api/onlineLightweight liveness probe suitable for uptime monitors. Returns HTTP 200 when healthy, HTTP 503 when degraded.
{
"status": "ok"
}With a valid X-Health-Key request header the response expands to include database latency, disk free, memory free, and uptime. The key is not public; ask us if you have a legitimate monitoring need.
curl -sS -H "X-Health-Key: <your-key>" \
https://chronogate.io/api/health{
"status": "ok",
"checks": {
"database": { "status": "ok", "latency_ms": 3 },
"disk": { "status": "ok", "free_mb": 8421 },
"memory": { "status": "ok", "free_mb": 743 }
},
"uptime_seconds": 123456
}The endpoints above are unauthenticated. Device telemetry endpoints (/api/heartbeat, /api/alert, /api/diagnostics and friends) use device-scoped credentials issued during provisioning and are not part of the public API. Account-scoped endpoints require a session cookie.
We do not version these endpoints today because the surface is tiny and we promise not to break JSON field names. Any breaking change will be announced on the /changelog page at least 30 days in advance.
Limits are per client IP and are reset each minute. When you exceed a limit you will see HTTP 503 with a JSON body {"error":"rate limited"}. Back off and retry; there is no hard ban.
Identify your client with a descriptive User-Agent (for example "acme-dashboard/1.2 +https://example.com"). Do not scrape endpoints to rebuild a database you then redistribute. Respect HTTP 503 responses as a signal to slow down.
Building something on top of Chrono Gate? We would love to hear about it and can often raise limits or share additional data under an agreement.