Public data
Every published status page has a public page.json and an Atom feed, with no sign-in needed.
Every published page offers its status as data, with no sign-in. Unpublished pages answer 404. Like the page itself, these can be up to about a minute behind, and uptime and bars up to 5 minutes.
page.json
https://<slug>.norcubestatus.com/api/v1/page.jsonA page with an active custom domain also
serves it at https://<custom domain>/api/v1/page.json.
Any website can read it from the browser: the response allows requests from all origins.
{
"schemaVersion": 1,
"id": "6e0f4b1a-2c3d-4e5f-8a9b-0c1d2e3f4a5b",
"slug": "acme",
"name": "Acme status",
"description": "",
"published": true,
"timeZone": "Europe/Prague",
"searchIndexing": true,
"uptimeDays": 90,
"indicator": "minor",
"asOf": "2026-11-03T08:05:00Z",
"components": [
{
"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5e",
"name": "Website",
"description": "",
"status": "operational",
"uptimePercent": 99.98
}
],
"groups": [],
"active": []
}| Field | Meaning |
|---|---|
indicator | The page's verdict: none, minor, major or critical. |
logo, logoDark | Absolute URLs of the page's logo files, on the host you asked. Left out when not set. |
canonicalUrl | The page's address on its active custom domain, which search engines are told to credit. Left out when it has none. |
asOf | When the page's content last changed. A quiet page's visible "Last updated" time is the last heartbeat, not this. |
components | The components outside any group. status is operational, degraded_performance, partial_outage, major_outage or unknown. |
groups | The groups, each with its own status and components. |
active | The open posted incidents, newest first, with their affected components and updates. |
A component's uptimePercent, avgResponseMs and days (the bar, oldest
first) appear only when the page's settings show them and the component counts
the availability of an HTTP monitor. Each entry of days has day, grade,
uptimePercent, downtimeMinutes and avgResponseMs, and any of the last three
can be left out. Resolved incidents are not in page.json:
read them from the feed or the /history page.
Nothing internal is published. The public data has no field for a monitor's id, name, target, conditions or error text, your organization, your users, or the links between posts and monitor incidents.
page.json carries X-Robots-Tag: noindex, so it stays out of search results.
schemaVersion rises only on a breaking change. Treat a value you don't know
for a status or a grade as unknown rather than failing, since new ones can be
added.
Atom feed
https://<slug>.norcubestatus.com/feed.atomA page with an active custom domain also serves it at
https://<custom domain>/feed.atom.
The feed has one entry per posted incident, open ones and those still in the page's history, each with all its updates. An entry links to the incident's page. Monitors' own incidents are not in it.
Link previews and search
What a shared link shows, the tab icon, how search engines and AI crawlers see a status page, and what the searchIndexing setting changes.
Limits, scope and permissions
The limits on status pages and custom domains, the monitor.statuspages scope for CI tokens, and the IAM actions behind each operation.