StatOSS

Uptime badge and status widget

Every page has a badge, a shields.io endpoint, a JSON file and a one-line widget next to it, so the status can live in a README, a footer or a dashboard.

README.mdPreview

northwind-api

statusuplicenseMIT

The public API behind the Northwind dashboard. Current status at northwind.statoss.com.

The badge in a README, next to the ones shields.io draws. It says up, slow, partly down or down, and links to the page.

The badge

/badge.svg next to the page is a flat badge saying up, slow, partly down or down, coloured to match. Add ?label=api to change the left half. For a GitHub README:

![Status](https://northwind.statoss.com/badge.svg)

/badge.json is the same in the shields.io endpoint format, for READMEs that already use shields for the rest of their badges:

https://img.shields.io/endpoint?url=https://northwind.statoss.com/badge.json

The widget

Put <script src="https://northwind.statoss.com/widget.js"></script> in a footer and a dot with a few words and a link to the page appears where the tag is. It refreshes every minute and follows the page's colours.

status.json

/status.json holds the page's state, every monitor with its type, state, 24-hour uptime and median response time, and the open incidents and maintenance, with CORS headers so a browser can read it from anywhere. RSS and Atom feeds of the incidents sit next to it, and an llms.txt and a read-only MCP endpoint for agents. On a password-protected page all of these need the page's key. The feeds page lists every one.