Status Page Setup
Create public status pages to communicate service health to your users.
Overview#
Status pages give your users a single URL to check the health of your services. They display real-time monitor status, uptime history, active incidents, and scheduled maintenance -- all without requiring authentication.
Creating a Status Page#
Navigate to Monitoring > Status Pages and click Create Status Page.
Basic Configuration#
| Setting | Description | Example |
|---------|-------------|---------|
| Name | Public-facing title | Acme Inc Status |
| Slug | URL path (unique) | acme-status |
| Description | Short tagline | Service health for Acme Inc |
| Custom Domain | Optional CNAME | status.acme.com |
Your status page is available at https://youranalytics.com/status/acme-status (or your custom domain).
Adding Monitors#
Select which uptime monitors appear on the status page:
- Click Add Monitors on the status page editor
- Check the monitors you want to display
- Optionally rename monitors for public display (e.g., rename "prod-api-health" to "API")
- Drag to reorder -- the order on the editor matches the public page
- Group monitors into sections (e.g., "Core Services", "Integrations", "Background Jobs")
Monitor Display#
Each monitor on the status page shows:
- Current status -- Operational, Degraded Performance, Partial Outage, or Major Outage
- 90-day uptime bar -- green/yellow/red segments showing daily availability
- Uptime percentage -- overall availability for the last 90 days
- Response time -- average latency over the last 24 hours
Custom Branding#
Customize the look of your status page to match your brand.
Logo and Colors#
| Setting | Description | |---------|-------------| | Logo | Upload your company logo (PNG, SVG, max 512KB) | | Favicon | Custom favicon for the status page tab | | Primary Color | Used for headers, links, and operational badges | | Background Color | Page background (light or dark) |
Theme Options#
- Light mode -- white background, dark text (default)
- Dark mode -- dark background, light text
- Auto -- follows visitor's system preference
Custom CSS#
For advanced branding, inject custom CSS:
/* Custom CSS (injected into status page) */
.status-header {
font-family: 'Inter', sans-serif;
}
.monitor-group-title {
text-transform: uppercase;
letter-spacing: 0.05em;
}
Subscriber Notifications#
Let your users subscribe to status updates so they are notified automatically when incidents occur or maintenance is scheduled.
Email Subscriptions#
- Enable Email Subscriptions in the status page settings
- A "Subscribe" button appears on the public page
- Visitors enter their email and confirm via a verification link
- Subscribers receive emails when:
- A new incident is created
- An incident update is posted
- An incident is resolved
- A maintenance window is scheduled
- A maintenance window begins or ends
RSS Feed#
Every status page has an auto-generated RSS/Atom feed at:
https://youranalytics.com/status/acme-status/feed.xml
Users can subscribe in any RSS reader (Feedly, Slack RSS, etc.) to get incident and maintenance updates.
Webhook Subscriptions#
Programmatically subscribe to status changes via webhook:
POST https://youranalytics.com/api/status-pages/{slug}/webhooks
Content-Type: application/json
{
"url": "https://your-app.com/status-webhook",
"events": ["incident.created", "incident.updated", "incident.resolved", "maintenance.scheduled"]
}
Incident Communication#
Status pages are the primary channel for incident communication. When you create an incident (see Incidents), it appears prominently at the top of the status page with:
- Current status and impact level
- Timeline of updates
- Affected monitors highlighted in yellow/orange/red
Resolved incidents move to the Incident History section at the bottom of the page.
Maintenance Windows#
Schedule maintenance windows to inform users of planned downtime:
- Click Schedule Maintenance on the status page
- Set the start time, end time, and affected monitors
- Add a description of what is being maintained
- Subscribers are notified when the window is scheduled
- When the maintenance window begins, affected monitors show "Under Maintenance" instead of "Down"
- When the window ends, monitors return to their actual status
Auto-Maintenance#
Link maintenance windows to your deploy pipeline. Send a POST request to mark maintenance as started or completed:
POST /api/status-pages/{slug}/maintenance
X-API-Key: ja_sk_...
{
"action": "start",
"maintenanceId": "maint_abc123"
}
Embeddable Status Badges#
Add a live status badge to your README, docs, or website.
Markdown Badge#

HTML Badge#
<a href="https://youranalytics.com/status/acme-status">
<img src="https://youranalytics.com/status/acme-status/badge.svg" alt="Service Status" />
</a>
Badge Styles#
Append query parameters to customize the badge:
| Parameter | Options | Default |
|-----------|---------|---------|
| style | flat, flat-square, for-the-badge | flat |
| label | Custom left-side text | status |
Example: badge.svg?style=for-the-badge&label=Acme%20API
Individual Monitor Badges#
Get a badge for a specific monitor:
https://youranalytics.com/status/acme-status/badge.svg?monitor=api
Status Page API#
Query status page data programmatically:
GET /api/status-pages/{slug}/summary
Response:
{
"status": "operational",
"monitors": [...],
"activeIncidents": [...],
"scheduledMaintenance": [...]
}
Best Practices#
- Keep it honest -- show all critical services, not just the ones that rarely go down
- Update frequently during incidents -- silence is worse than saying "still investigating"
- Use descriptive monitor names -- "Payment Processing" is better than "stripe-webhook-handler"
- Group logically -- separate core services from integrations and background jobs
- Enable email subscriptions -- proactive communication reduces support tickets by up to 40%
- Schedule maintenance -- planned downtime with advance notice builds trust