Status Pages
On Your Domain. Free.

Custom domain included on every tier. Define in YAML, deploy from CI.

Custom DomainYAML + TerraformGitHub ActionFree Forever
Acme Corp
All systems operational
We're not aware of any issues affecting our systems.

System status

Public REST API
99.99% uptime
90 days ago99.99% uptimeToday
GraphQL API
100.00% uptime
90 days ago100.00% uptimeToday
Webhooks Delivery
99.77% uptime
90 days ago99.77% uptimeToday
Web Dashboard
100.00% uptime
90 days ago100.00% uptimeToday
Authentication
99.99% uptime
90 days ago99.99% uptimeToday

Past incidents

Brief database failover

minor

Slower search responses in EU

minor

Define Pages in YAML. Deploy from CI.

Same workflow as your app. The page lives in your repo, ships through your CI, and rolls back with a revert. Choose the surface — file, Terraform, or API.

1. Define

Drop a devhelm.yml in your repo. Schema-validated, IDE-autocompleted, AI-friendly.

devhelm.yml
name: "Acme Corp"
domain: "status.acme.com"
groups:
- name: API
components:
- name: "Public REST API"
monitor: api-public-prod
2. Review & Deploy

Open a PR. Our GitHub Action validates, previews, and deploys. Roll back by reverting.

.github/workflows/devhelm.yml
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: devhelmhq/setup-devhelm@v1
- run: devhelm apply
3. Or skip the file

Use Terraform if you already manage infra that way, or call the REST API for incidents you create programmatically.

incident.sh
curl -X POST \
api.devhelm.io/v1/status-pages/acme/incidents \
-H "Authorization: Bearer $TOKEN" \
-d '{"title":"DB failover",
"impact":"minor",
"components":["db-primary"]}'

Bonus: a hosted MCP server at mcp.devhelm.io — Cursor, Claude Desktop, and any MCP-compatible agent can author, validate, and ship pages from chat. Same auth as the CLI.

One Source of Truth. Your Monitors. Your Stack.

Each component is wired to a monitor, a resource group (mix monitors with 80+ tracked dependencies like Stripe and AWS), or set manually when you need an operator-controlled indicator.

Components5 total · 1 degraded
Public REST APIMonitor
GraphQL APIMonitor
Checkout FlowResource Group
Background WorkersResource Group
Mobile App ReleasesManual
Wired to a Monitor
Wired to a Resource Group
Set manually
Monitor → component·Resource Group → component·80+ tracked dependencies·90-day uptime per component

Your Domain. Your Brand.

One settings panel. Custom domain with auto-SSL, your logo and brand color, dark or light theme — and white-label or password-protect when you need them.

Settings/Status Pages/Acme Corp
Unsaved
Save changes
Acme Corp
CNAME verified · SSL active
status.acme.comLive
A
acme-logo.svg
48 × 48 · SVG
#1AB892
Light
Dark
System
Hide 'Powered by DevHelm'Business+
White-label the public page
Password protectTeam+
Internal services & private betas
Live preview
A
Acme Corpstatus.acme.com
All systems operational
Public REST API
Webhooks Delivery
Web Dashboard
Auth0 (vendor)
Renders at status.acme.com the moment you save.
Custom domain + SSL·Brand kit·White-label (Business)·Password-protected (Team)·Status-only mode

The Operator's Toolkit. Every Tier.

Groups, live push updates, subscriptions, and scheduled maintenance — all in the box, on every plan.

Component groups

Organize 50+ services into collapsible groups so customers find what they care about.

API3
Public REST API
GraphQL API
Webhooks
Dashboard2
Infrastructure4

Always-current status

The page auto-refreshes in the background so visitors never see stale data — no manual reload.

Refreshed just now
Public REST API
Webhooks
Stripe API
flip

Email subscriptions + RSS / Atom

Visitors subscribe by email at the page level. Atom and RSS feeds are always on. SMS, Slack, and webhook subscribers are on the roadmap.

you@company.com
Subscribe
EmailAtomRSSSMS · soonSlack · soonWebhook · soon

Scheduled maintenance

Schedule a window in advance; subscribers are notified, the banner appears at the start.

Scheduled · in 3 days
Database engine upgrade
Sun, May 4 · 02:00 — 04:00 UTC
Affects: Primary Database · Web Dashboard
Per-component history·Atom & RSS feeds·SEO + JSON-LD·Multi-region health

Why Not The Incumbents?

Status pages are usually a separate vendor, a separate bill, and a separate yak-shave. Here's the short version.

Status Pages Are Included. From the Free Plan Up.

No separate add-on, no per-page upcharge. Statuspage starts at $29/mo on top of monitoring. Better Stack charges $12/mo per branded page. Here, status pages ship in every plan — starting at $0.

Free
$0
1 page
Custom domain
Pro
$29/mo
2 branded pages
Custom domain + brand kit
Team
$79/mo
5 pages
Password-protected available
Business
$249/mo
Unlimited
White-label

Ship a Status Page in 5 Minutes.

Define it in YAML, review it in a PR, deploy it from CI. On your domain, on the free tier, with no separate vendor.

Start Free