Status pages
Public status pages fed by your monitors: fields, limits per plan, the public JSON, custom domains and white-label — and what custom-domain setup can and cannot do today.
A status page is a public, read-only view of a chosen set of monitors: overall state, each monitor's current status, its uptime percentage and a day-by-day history for the window you choose. It is generated from the same status and executions the app uses, so it is never behind — and nobody has to remember to post.
Fields
| Field | Rules |
|---|---|
title | 1–120 characters. |
slug | Lowercase a-z0-9-, 1–63 characters; derived from the title if blank; globally unique across PulseTrace. The public URL is https://app.pulsetrace.app/status/<slug>. |
description | Up to 2000 characters, shown under the title. |
is_public | When off, the public URL returns not-found. Use it to stage a page before announcing it. |
window_days | Uptime history window, 1–365; default 90. |
monitors[] | Up to 100 entries of {monitor_id, display_name (≤ 80), sort_order}. The display name is what visitors see, so you can call api-prod-eu-1 "API". |
custom_domain | Pro and above. A hostname such as status.example.com (≤ 253 chars, unique). |
white_label | Enterprise. Removes PulseTrace branding from the page. |
status-page.shbash
curl -X POST https://api.pulsetrace.app/api/v1/status-pages \
-H "Authorization: Bearer $PULSETRACE_API_KEY" -H "Content-Type: application/json" \
-d '{
"title": "Acme status",
"slug": "acme",
"is_public": true,
"window_days": 90,
"monitors": [
{ "monitor_id": "…", "display_name": "API", "sort_order": 1 },
{ "monitor_id": "…", "display_name": "Dashboard", "sort_order": 2 }
]
}'The public page and its JSON
Visitors see the rendered page; the same data is available as JSON at GET /api/v1/public/status-pages/{slug} (cached for 60 seconds) for embedding in your own site or a Slack bot:
public-status.jsonjson
{
"title": "Acme status",
"slug": "acme",
"overall_status": "operational", // operational | degraded | partial_outage | major_outage
"window_days": 90,
"generated_at": "2026-09-04T20:00:00Z",
"monitors": [
{ "name": "API", "status": "up", "uptime_percent": 99.98,
"history": [ { "date": "2026-09-04", "uptime_percent": 100 }, … ] }
]
}Plan limits
| Plan | Pages | Custom domain | White-label |
|---|---|---|---|
| Free | 1 | — | — |
| Team | 5 | — | — |
| Pro | Unlimited | Yes | — |
| Enterprise | Unlimited | Yes | Yes |
Custom domains: current state
In the current build the custom domain is stored but not yet served: there is no DNS verification step and no automatic certificate for it. Point a CNAME at PulseTrace after saving; DNS verification and certificate issuance are in progress and this page will be updated when they ship. Until then the page is reachable at its
/status/<slug> URL.Related
- Trust pages publish security grades alongside uptime for one monitor or the whole organization.
- Maintenance windows keep planned work from opening incidents.