Documentation Index Fetch the complete documentation index at: https://docs.devhelm.io/llms.txt
Use this file to discover all available pages before exploring further.
Manage public status pages from the command line. The status-pages topic groups six related command trees: the status page itself, plus its components, component groups, published incidents, email subscribers, and custom domains.
Status pages are workspace-scoped, identified by slug in URLs (https://status.example.com/sp/{slug}) but addressed by UUID in the CLI. Use devhelm status-pages list to look up IDs.
Top-level commands
Command Description devhelm status-pages listList all status pages devhelm status-pages get <id>Get a status page devhelm status-pages createCreate a new status page devhelm status-pages update <id>Update a status page devhelm status-pages delete <id>Delete a status page
status-pages list
devhelm status-pages list
Flag Type Default Description --page-sizeinteger 200Number of items per API request (1–200)
status-pages create
devhelm status-pages create \
--name "Acme Status" \
--slug acme \
--visibility PUBLIC \
--incident-mode AUTO
Flag Type Required Description --namestring Yes Display name shown in the page header --slugstring Yes URL-safe identifier used in the public URL --descriptionstring — Subheader text below the page name --visibilityenum — PUBLIC (currently the only supported value; PASSWORD/IP_RESTRICTED are reserved)--incident-modeenum — AUTO (incidents auto-publish), MANUAL (operator review required), or OFF--branding-filestring — Path to a JSON file containing branding fields (logoUrl, brandColor, theme, customCss, …)
status-pages update
Same flags as create, all optional.
devhelm status-pages update < i d > --description "Real-time service health for Acme APIs"
status-pages delete
devhelm status-pages delete < i d >
Deleting a status page also deletes its components, groups, published incidents, and subscriber list. Custom domains attached to the page are released. This is irreversible.
Components
A component maps an underlying monitor or service catalog dependency to a row on the public page.
Command Description devhelm status-pages components list <page-id>List components on a page devhelm status-pages components create <page-id>Add a component devhelm status-pages components update <page-id> <component-id>Update a component devhelm status-pages components delete <page-id> <component-id>Remove a component
devhelm status-pages components create < page-i d > \
--name "API" \
--monitor-id < monitor-uui d > \
--display-order 0
Component groups
Group related components into collapsible sections.
Command Description devhelm status-pages groups list <page-id>List component groups devhelm status-pages groups create <page-id>Create a group devhelm status-pages groups update <page-id> <group-id>Update a group devhelm status-pages groups delete <page-id> <group-id>Delete a group
devhelm status-pages groups create < page-i d > \
--name "Customer-facing APIs" \
--description "Public REST endpoints" \
--default-open
Flag (update) Description --nameGroup display name --descriptionSubheader text --default-open / --no-default-openInitial expand/collapse state on first page load --display-orderPosition in the list (integer; lower = higher)
Incidents
Publish incidents to the page. Incidents created here are independent of platform incidents — incident-mode=AUTO on the page handles auto-publish from monitor failures.
Command Description devhelm status-pages incidents list <page-id>List published incidents devhelm status-pages incidents get <page-id> <incident-id>Get incident details devhelm status-pages incidents create <page-id>Draft a new incident devhelm status-pages incidents update <page-id> <incident-id>Update title/impact/status devhelm status-pages incidents publish <page-id> <incident-id>Promote a draft to public devhelm status-pages incidents post-update <page-id> <incident-id>Append a status update entry devhelm status-pages incidents dismiss <page-id> <incident-id>Discard a draft incident devhelm status-pages incidents delete <page-id> <incident-id>Delete a published incident
devhelm status-pages incidents update < page-i d > < incident-i d > \
--status MONITORING \
--impact MAJOR
Flag Values --statusINVESTIGATING, IDENTIFIED, MONITORING, RESOLVED--impactNONE, MINOR, MAJOR, CRITICAL
incidents list accepts --limit <n> (default 20) to cap results.
Subscribers
Manage the email subscriber list for incident notifications.
Command Description devhelm status-pages subscribers list <page-id>List subscribers devhelm status-pages subscribers add <page-id>Add a subscriber devhelm status-pages subscribers remove <page-id> <subscriber-id>Remove a subscriber
devhelm status-pages subscribers add < page-i d > --email user@example.com
Custom domains
Every status page is served from a default first-party host:
https://<slug>.devhelmstatus.com. The API returns this as the page’s
page_url until a custom domain is set as primary.
To attach a vanity domain (e.g. status.example.com):
Register the domain with devhelm status-pages domains add.
Add a CNAME record at your DNS provider pointing the vanity hostname
at the brand-stable target cname.devhelm.io.
Run devhelm status-pages domains verify until the status flips to
active (DevHelm provisions the TLS certificate via Cloudflare for SaaS).
Optionally set-primary so the public URL switches over.
Command Description devhelm status-pages domains list <page-id>List custom domains devhelm status-pages domains add <page-id>Register a new domain devhelm status-pages domains verify <page-id> <domain-id>Trigger DNS verification devhelm status-pages domains set-primary <page-id> <domain-id>Mark a verified domain as the canonical URL devhelm status-pages domains remove <page-id> <domain-id>Detach a domain
devhelm status-pages domains add < page-i d > --hostname status.example.com
# DNS: CNAME status.example.com -> cname.devhelm.io
devhelm status-pages domains verify < page-i d > < domain-i d >
devhelm status-pages domains set-primary < page-i d > < domain-i d >
When a domain is set as primary, the public status page redirects from the
default <slug>.devhelmstatus.com URL to the custom domain.
Common patterns
Bootstrap a status page from scratch
PAGE_ID = $( devhelm status-pages create --name "Acme Status" --slug acme --visibility PUBLIC -o json | jq -r '.id' )
devhelm status-pages groups create " $PAGE_ID " --name "APIs" --default-open
devhelm status-pages components create " $PAGE_ID " --name "API" --monitor-id < monitor-uui d >
devhelm status-pages domains add " $PAGE_ID " --hostname status.example.com
Publish an incident with two updates
INCIDENT_ID = $( devhelm status-pages incidents create " $PAGE_ID " \
--title "Elevated API latency" --impact MINOR -o json | jq -r '.id' )
devhelm status-pages incidents publish " $PAGE_ID " " $INCIDENT_ID "
devhelm status-pages incidents post-update " $PAGE_ID " " $INCIDENT_ID " \
--status MONITORING --message "Mitigation deployed; watching."
devhelm status-pages incidents update " $PAGE_ID " " $INCIDENT_ID " --status RESOLVED
Next steps
Status data overview Concepts behind status pages and component health.
Resource groups Compose monitors and dependencies into status-page components.