Browse documentation

Pharos / Docs / v1.0.0

Badges, RSS, incident pages and the widget

Updated 2026-10-09 · Pharos 1.0.0

Four ways to show your status somewhere other than on the status page itself. All of them are public, need no token and only answer for a published page. The addresses to copy are in the admin under Reports, in the card Share your status. That card appears once the page is published.

WhatAddressGood to know
Badge of a component/badges/components/{id}.svgCached for 30 seconds
Badge of a service/badges/groups/{id}.svgCached for 30 seconds
RSS feed/feed.xmlCached for 60 seconds
Incident page/incidents/{id}Public incidents only
Widget/embed.js, which reads /widget.jsonRefreshes every minute

On a second status page every address gets /status/{slug} in front, for example /status/{slug}/feed.xml. Disabled components and components in a hidden service are not available through any of them.

Status badges

A badge is a small SVG image: the name on the left, the current status on the right, in the colour of that status. It links to the status page. Open Status badges in the card Share your status for the address of every public component, then use it as an image:

<img src="https://status.example.com/badges/components/7.svg" alt="API status">

A service has a badge too, under /badges/groups/{id}.svg. It shows the status of the service as a whole. The id of a service is the number the API returns under /api/v1/groups.

RSS feed

/feed.xml is an RSS 2.0 feed with the 50 most recent public incidents and the 50 most recent maintenance windows that were not cancelled. An incident item carries the title, the text of the latest update and a link to its incident page. The public page links to the feed in its footer, and Share your status has an RSS feed button.

Incident pages

Every public incident has an address of its own, /incidents/{id}: the title, the status, when it started, the affected services and every update in order. The incident titles on the status page link to it, and so do the items in the feed. An internal incident answers with a 404 there.

The widget

Copy the script tag under Copy this widget into your website and paste it where the status should appear:

<script src="https://status.example.com/embed.js" defer></script>

It puts a small link right after the script tag: a coloured dot, the name of the page and its current overall status. The link opens the status page in a new tab. The widget fetches /widget.json again every minute, without cookies. When that request fails it says Status unavailable instead of showing an old status.

If you would rather build your own, read /widget.json yourself. It returns status (1 to 5), label, name and url, and it may be fetched from any website.