Status badges and the public status API
Embed a live status badge in a README, and read page status as JSON or feeds.
Every public status page exposes three machine-readable surfaces
alongside the HTML page: an SVG badge, a JSON status document, and
Atom/RSS feeds. All of them live on the page's own domain, work
without authentication, and respect the page's access mode (a
password-protected page serves a neutral restricted badge and
denies the JSON document).
Badge#
https://<subdomain>.use.observer/badge.svg
Embed in a README:
[](https://demo.use.observer)
Parameters#
| Parameter | Values | Effect |
|---|---|---|
style | flat (default), flat-square, for-the-badge | Visual style, matching the shields.io names. for-the-badge renders the tall uppercase variant. |
metric | uptime | Show 30-day uptime percent instead of the current status. The badge color still follows the current status, so a degraded page never hides behind a green number. |
label | any short text | Replace the left segment (default status or uptime 30d). |
Examples:


Badges are served with a five-minute cache and a
stale-while-revalidate window, so README embeds stay fast and a
status flip appears within minutes.
JSON status#
https://<subdomain>.use.observer/status.json
Returns the page's current verdict, incident and maintenance counts, and 30-day uptime. Suitable for dashboards, CLI checks, and uptime aggregators. The shape:
{
"page": "Observer",
"status": "operational",
"status_label": "All systems operational",
"open_incidents": 0,
"active_maintenance": false,
"uptime_30d_pct": 99.98,
"as_of": "2026-07-07T20:00:00.000Z",
"url": "https://status.use.observer",
"slos": [
{
"name": "API uptime",
"service": "Platform",
"target_pct": 99.9,
"window_days": 30,
"budget_remaining_pct": 87.4
}
]
}
The slos array carries the page's public SLOs (the same set the page
renders): name, owning service, target, window, and remaining error
budget. It is empty when no SLO on the page is marked public or the
plan does not include public SLO visibility. A budget of null means
the SLO is still collecting its first day of observation.
Feeds#
https://<subdomain>.use.observer/feed.atom
https://<subdomain>.use.observer/feed.rss
Incident and maintenance history as a standard feed. Most chat tools and feed readers can subscribe directly.
Custom domains#
All three surfaces work unchanged on a page's custom domain once it
is active: https://status.yourdomain.com/badge.svg and so on.