Documentation · Status pages

Badges, status.json and embedding

An SVG badge for your site, a JSON endpoint for your own code, and allowing the page inside an iframe.

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.