Communicate

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

FieldRules
title1–120 characters.
slugLowercase 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>.
descriptionUp to 2000 characters, shown under the title.
is_publicWhen off, the public URL returns not-found. Use it to stage a page before announcing it.
window_daysUptime 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_domainPro and above. A hostname such as status.example.com (≤ 253 chars, unique).
white_labelEnterprise. 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

PlanPagesCustom domainWhite-label
Free1
Team5
ProUnlimitedYes
EnterpriseUnlimitedYesYes

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.
  • Trust pages publish security grades alongside uptime for one monitor or the whole organization.
  • Maintenance windows keep planned work from opening incidents.

Try it on your own endpoints.

Ten monitors, one region and a status page are free — no card.

Start free