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.
| Badge | What 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} |
