These exist for public pages only; a page that is protected or private answers 404 on them.
Badge
https://status.pingwise.com/<slug>/badge.svg (or your custom domain) is an SVG showing the page's state, for a README, a footer or a client's dashboard. Parameters:
| Parameter | Values |
|---|---|
theme |
light, dark |
style |
pill, flat |
size |
sm, md |
entry |
an entry's id, for the state of one entry instead of the whole page |
The entry ids are in status.json. The badge is cached for 60 seconds, sets no cookie and runs no script, so it is safe to put anywhere:
<a href="https://status.example.com/"><img src="https://status.example.com/badge.svg?theme=dark" alt="Service status"></a>
status.json
https://status.pingwise.com/<slug>/status.json returns the page as data, with Access-Control-Allow-Origin: * so a browser on any site can read it:
{
"page": {"title": "Example status", "url": "https://status.example.com/", "timezone": "Europe/Athens"},
"status": {"indicator": "none", "description": "All systems operational"},
"components": [
{"id": 12, "name": "Website", "group": "Web", "status": "operational", "description": "",
"uptime_90d": 99.98, "uptime_30d": 100, "since": "2026-10-01T00:00:00Z", "last_incident": null}
],
"groups": ["Web"],
"updated": "2026-10-31T12:00:00Z"
}
Data is cached for 60 seconds. Names and descriptions follow the page's language; keys and status codes are always English.
Embedding in an iframe
By default a status page refuses to be framed. In the page's Embedding setting list up to ten https origins that may frame it, for example https://portal.example.com or https://*.example.com for every subdomain. The list becomes the page's frame-ancestors policy. A hosting provider can show each customer's page inside its own control panel this way.
Last change: 31 October 2026.