Skip to documentation

Badges and widgets

Live status in your README, and on your own site

On this page3

A badge puts current status in your README and links to your status page. The existing /badge.svg and /badge.json routes are documented in the Developer badge reference.

Named badge and widget editors appear under Dashboard → Status page → Embeds & feeds when your plan includes badges and embeds. The screen supports up to 20 active installations in total, each with a name, scope and copy menu.

Badges

A badge is an SVG image, rendered fresh on every request with the live state of your page or of one service. Add badge opens this editor:

Loading the dashboard…
SettingChoices
Badge forThe whole page, or exactly one service.
LanguageAny language your page publishes.
StyleSignal (state, uptime and freshness), Compact (state only) or Uptime (the percentage, large).
ThemeSystem, light or dark. System follows the reader's device.
PaletteInBrief, or high contrast for readers who need it.
Attribution labelThe small word beside the state, InBrief by default.
Content and motionWhether to show uptime, show how recently it was checked, and whether the live signal pulses.

The preview on the right is the badge itself, rendered on a light and on a dark background from your unsaved edits. Once the badge is saved it also shows the three ways to install it: Markdown for a README, HTML for a page, or the direct URL of the image. The image lives at a permanent address on your InBrief origin, and clicking it opens your page at its current branded address, so the snippet never has to change when your domain does.

A badge can be edited after it is installed; the address stays the same and the image changes on the next load. Revoking a badge turns its address into an empty response, so a README you no longer control cannot keep showing a stale state. The older /badge.svg and /badge.json addresses documented for developers keep working alongside.

The website widget

The widget is a small panel on your own site that shows the current state and, when something is wrong, the open incident or maintenance. It runs in an isolated frame, so it cannot read or change anything on your page. Add widget opens this editor:

Loading the dashboard…
SettingWhat it does
Show widgetAlways; only during issues; or during issues and maintenance. With the last two the widget is invisible while everything is fine, which is what most sites want.
FollowsThe whole page, or up to five services.
PlacementA corner or edge of the viewport, a bar across the footer, inline where the script is, or inside an element of yours by id.
SizeCompact, one line; or expanded, with the incident summary.
ThemeSystem, light, dark, or custom: your own background and text colours, with the status colours derived to keep at least 4.5:1 contrast, or every colour set by hand.
Advanced behaviourPulse, uptime, freshness, attribution and whether a visitor can dismiss it (it returns on the next page load).

The preview renders your unsaved edits with the real widget runtime, and lets you switch between an operational, degraded, outage and maintenance state to see what visitors would get in each. When the display mode would hide the widget in the state you picked, the preview says so instead of pretending.

Installing it

Once saved, the widget offers four formats:

FormatUse it when
ScriptThe normal choice. One <script async> tag; the loader places the frame, sizes it, and polls for changes: every five minutes when all is well, every minute during an incident.
IframeYour site does not allow third-party script. The frame alone, sized by you.
Static HTMLA plain link with the current state, for email templates and places script cannot run.
Widget JSONThe widget's configuration and address as data, for a site that builds its own.

Whichever you choose, the installation code is permanent. Change the widget's settings later and every site that installed it picks the change up on its next poll; nobody has to paste anything again.

Next up