Public endpoints

The visitor-facing surfaces a published status page exposes on its mounted host - the rendered page, the status.json feed, and the embeddable SVG badge.

Public endpoints

A published status page exposes three unauthenticated surfaces on its mounted host. None take an API key; access is governed by the page row (published, not suspended, not expired). Replace <your-domain> below with your mounted host (your custom domain or <slug>.hep.gg).

The rendered page

GEThttps://<your-domain>/Public
Server-rendered public status page.

The status page itself: a dark, mobile-friendly render with an overall status hero, a color legend, the component tree with 90-day uptime bars, and the incident timeline.

  • No body, no query parameters. The page is driven entirely by the Host header.
  • Returns 200 with Content-Type: text/html; charset=utf-8 and Cache-Control: no-store.
  • If no published page matches the host, the request falls through (404, or a redirect to hep.gg for unmatched custom domains).

Status JSON

GEThttps://<your-domain>/status.jsonPublic
Machine-readable status snapshot.

A compact JSON snapshot of the page, suitable for dashboards, uptime bots, or your own integrations.

  • Returns 200 with Cache-Control: no-store.
  • status.indicator is the worst component status; components lists each leaf component; incidents lists currently-active (unresolved) incidents.
200 response
{
  "page": { "name": "Acme", "url": "https://status.acme.example" },
  "status": { "indicator": "operational", "description": "All Systems Operational" },
  "components": [
    { "id": "c_api", "name": "API", "status": "operational", "label": "Online" }
  ],
  "incidents": [
    {
      "id": "i_123",
      "name": "Elevated API latency",
      "impact": "minor",
      "state": "monitoring",
      "startedAt": "2026-05-30T18:00:00.000Z",
      "latestUpdate": "We are monitoring the fix."
    }
  ]
}
curl
curl https://your-domain.example/status.json

Status badge

GEThttps://<your-domain>/badge.svgPublic
Embeddable SVG status badge.

A shields-style SVG badge showing the page's overall status, colored to match. Drop it in a README or site footer.

  • Returns 200 with Content-Type: image/svg+xml; charset=utf-8 and a short cache (max-age=60).
  • The label reads the overall summary (e.g. "All Systems Operational"); the color follows the worst component status.
Markdown
[![Status](https://your-domain.example/badge.svg)](https://your-domain.example)