Skip to main content

Public status pages

A status page is a public, read-only view of selected monitors in a project. It shows each monitor's current state and uptime, grouped under optional display headings.

Create a page​

Dashboard: Monitor → project → Status pages → add. Choose a name, a URL slug and the monitors to include. Set a display group per monitor to section the page (for example "Web", "API", "Jobs"). Only enabled monitors are shown. The kamu CLI can manage pages too: kamu status pages list|create|show|update|delete (see kamu status pages --help).

Open incidents and maintenance windows of the project are shown on every page of that project.

A project can alternatively expose its own slug as a status page by enabling public status on the project, which lists every enabled monitor.

URLs​

Pages are served by kamustatus directly, not through the dashboard.

WhatURL
Status page on the platform hosthttps://<slug>.kamustatus.com/
Status page on your own domainhttps://status.example.com/ (see below)
Status page data (HTML for browsers, JSON for any other Accept)https://api.kamustatus.com/status/<slug>
Uptime badgehttps://api.kamustatus.com/status/<slug>/badge

Slugs are unique per project, not globally, so pick a distinctive one for the platform host.

Custom domain​

A page can be served on your own hostname. Set it in the page editor under Custom domain, then create a DNS record:

status.example.com  CNAME  pages.kamustatus.com

The record must point straight at kamustatus. If your DNS provider offers a proxy (Cloudflare's orange cloud), turn it off for this record. Certificates are issued automatically on the first HTTPS request, so the first load after the DNS change can take a few seconds. If your zone has CAA records, they must allow letsencrypt.org.

The dashboard's Custom domains table shows the domain as Pending DNS until the CNAME resolves, then Verified. Press "Check again" after changing DNS. Only one page can own a given domain.

Moving an existing status page from UptimeRobot: import the monitors first, create the page from them, then switch the CNAME over.

Badge​

The badge endpoint returns a Shields.io endpoint JSON document (schemaVersion, label, message, color), so render it through Shields:

![uptime](https://img.shields.io/endpoint?url=https://api.kamustatus.com/status/<slug>/badge)

The message is the aggregate uptime across the page's monitors. It reads "no monitors" for an empty page and "not found" for an unknown slug.

From the kamu CLI​

No credentials are needed to read a public page:

kamu status page <slug>          # name, then one line per monitor: status, target, uptime
kamu status page <slug> --json