StatOSS

Feeds and embeds

Every page has a few machine-readable neighbours at its own address and under statoss.com/s/<address>/. The Share and embed screen under Settings has each one ready to copy.

What is there

  • /status.json: the page's state, every monitor with its type, state, when it was last checked and whether that is late, 24-hour uptime and median response time (as the strip shows it, each region levelled to its fastest place), and the open incidents and maintenance. page.stale is true when a monitor's checks have stopped arriving, and page.lastCheckedAt says how old the state is. Sent with CORS headers, so a browser can read it from anywhere. The monitors are also listed under checkpoints, their name before 14 September 2026.
  • /badge.svg: a flat badge saying up, slow, partly down or down; grey with "checked 14 min ago" added once the checks are late. Add ?label=api to change the left half. /badge.json is the same in the shields.io endpoint format, for READMEs that want shields to draw it.
  • /feed.xml and /feed.atom: the incidents and maintenance of the last 30 days as RSS and as Atom, with every update and its status word, a planned window's times, and the post-mortem. Each entry links to the incident's own page. The page offers both under Get updates.
  • /maintenance.ics: the maintenance windows of the last 30 days, those planned, and those a repeating window will plan in the next 90 days, as an iCalendar feed a calendar app subscribes to. A window keeps its ID from planned to done, so a calendar updates it in place.
  • /widget.js: put <script src="https://<page>/widget.js"></script> in your footer and a dot with a few words and a link to the page appears where the tag is. It refreshes every minute.
  • /llms.txt: a short text file that tells a language model what the page is and where the machine-readable parts are.
  • /mcp: a read-only MCP endpoint with three tools, no key needed.
  • /logo and /favicon: the images from Settings, Appearance.

On a locked page

When a page has a password or is private, status.json, the badge, the feeds, llms.txt and the MCP endpoint answer 403 without the page's cookie or its key; the widget script, the logo and the favicon are served regardless. Settings, Access shows the key; append it as ?key=<key> to the badge, the feed or the widget tag and it gets through. The widget passes the key on to status.json by itself. Anyone who sees the key sees the status. The key stops working when the password changes, or when a private page signs everyone out.