Status Pages

A status page is a public URL where your users can see whether your services are up. Happy Uptime ships three templates, accepts custom domains, supports component grouping, and maintains a subscriber list with RSS + email notifications.

Anatomy

text
status_pages├── components (linked to monitors → derive status automatically)│ ├── Web App → monitor "happyuptime.com"│ ├── API → monitor "api.happyuptime.com"│ └── Webhooks → monitor "hooks.happyuptime.com"├── component_groups (optional — Frontend, Backend, etc.)├── subscribers (email + double-opt-in)└── incidents (live from /incidents API, filtered by affected monitors)

Templates

TemplateVibe
minimalClean white/dark, geometric. Good default.
brandHero block, larger typography, custom-color cards. Best when you want a marketing feel.
terminalMonospace, dark, ASCII-style. For developer tools.

All three templates respect:

  • Logo (light + dark)
  • Brand color
  • Custom CSS injection
  • Custom header / footer HTML
  • "Hide branding" (Pro+)

Custom domains

Point a CNAME at status-proxy.happyuptime.com, save the hostname in your status page settings, and within ~30s your page serves from status.yourdomain.com with SSL handled by Cloudflare.

Component grouping

Organize 10+ components into groups (Frontend, Backend, Infrastructure…). Each group renders as a collapsible section. Manage via the API: POST /status-pages/:id/groups and POST /status-pages/:id/components/bulk.

Subscribers

Subscribers register their email on the public page. They get a double-opt-in confirmation email. Once confirmed, they receive emails (and optionally webhooks) when an incident is created, updated, or resolved on the page.

Manage via: POST /status-pages/:slug/subscribers/subscribe (public) and DELETE /status-pages/:id/subscribers/:sid (admin).

RSS / Atom

Every status page exposes /<slug>/feed.xml — drop it into Slack, Feedly, or any RSS reader.

Widgets

Embed your status anywhere:

  • SVG badgeshttps://happyuptime.com/api/v1/badges/{statusPageId}/uptime.svg
  • Status JSONhttps://happyuptime.com/api/v1/widgets/{statusPageId}/status.json for programmatic consumers
  • Downtime bannerhttps://happyuptime.com/api/v1/widgets/{statusPageId}/embed.js — auto-shows during incidents

See the widgets API for full options.

Build a status page

Pick a template, link monitors, hit publish.

Learn More
Custom domain setup

DNS + SSL automated.

Learn More
Embed badges

Drop SVG badges into READMEs.

Learn More
Downtime banner

Auto-show a banner on your site during incidents.

Learn More
Ask a question... ⌘I