Build a status page

1

Create the page

Dashboard → Status Pages+ New page. Pick a template (minimal, brand, terminal), name it, choose a slug. The slug becomes the URL: happyuptime.com/status/{slug}.

2

Add components linked to monitors

Status pages display components, each typically backed by a monitor. Click + Add component, name it ("API", "Web App"…), and pick the monitor it tracks. The component's status auto-derives from the monitor.

Add 5–10 components to start. Bulk add via POST /status-pages/:id/components/bulk.

3

(Optional) Group components

Once you have 8+ components, add groups (Frontend / Backend / Infrastructure) so the page collapses cleanly. Settings → Groups → + Add group.

4

Brand it

Settings → Branding:

  • Logo (light + dark)
  • Brand color
  • Custom CSS injection
  • "Hide branding" — Pro+

Pages render server-side and are cached at the edge for 30s — changes go live within a minute.

5

Publish

Toggle is_published. Your page is live at happyuptime.com/status/{slug}.

Add a custom domain (guide) or embed components on your own site (widgets, banner).

What's included on every page

  • 90-day uptime bars per component
  • Active and recent incidents (auto-fed from /incidents)
  • Subscriber form (double-opt-in email)
  • RSS / Atom feed at /<slug>/feed.xml
  • Auto-refresh, dark mode toggle
  • SEO meta tags + OG image

Programmatic access

Anyone can hit:

  • GET /api/status-pages/public/{slug} → JSON
  • GET https://{slug}.statuspage.url/api.md → markdown (for LLMs)
  • GET https://{slug}.statuspage.url/llms.txt → LLM-friendly summary
Ask a question... ⌘I