Skip to content
Nominal

Status pages

Show the board without showing the admin

The Filament UI is private. Publish one or more public pages for the monitors you want the outside world to see. Incidents and badges use the same data.

Pages

Each page lists a subset of monitors, with optional public names so the real target can stay hidden (show_targets defaults to off). You can set a headline, description, logo, favicon, footer, theme (dark or light), custom CSS, refresh interval, and an optional password.

Path URL: /status/{slug}. Custom domain: CNAME the hostname to Nominal; the page is served at / on that host. Unpublished pages are not public.

GraphQL: createStatusPage, updateStatusPage, deleteStatusPage.

Incidents

Incidents belong to a status page. They have a title, impact (none through critical), status (investigating, identified, monitoring, resolved, scheduled), and a timeline of updates. You can attach related monitors. Scheduled maintenance on the page uses the same public timeline.

GraphQL: createIncident, addIncidentUpdate.

Badges

Every monitor has public SVG and JSON badges under /embed, so they can be allowlisted separately from the admin and GraphQL. Copy markdown from the monitor page. Periods: 1h, 24h, 7d, 30d, or any {n}h / {n}d up to 90 days. Omit the period to default to 24h.

BadgeWhat it does
Status SVG/embed/badges/{id}/status.svg
Status JSON/embed/badges/{id}/status.json — Shields.io endpoint badge.
Uptime SVG/embed/badges/{id}/uptime/{period}/badge.svg
Uptime JSON/embed/badges/{id}/uptime/{period}
Latency SVG/embed/badges/{id}/latency/{period}/badge.svg
Latency JSON/embed/badges/{id}/latency/{period}
![status](https://nominal.example/embed/badges/{id}/status.svg)