Live status badge iframe
Returns iframe-friendly HTML for a live status badge scoped to one status page. Supports Google Font loading and text styling query parameters.
GET
/widgets/{statusPageId}/badge
Returns iframe-friendly HTML for a live status badge scoped to one status page. Supports Google Font loading and text styling query parameters.
Path Parameters
statusPageId
string
required
path
Status page ID
Query Parameters
theme
string
optional
query
template
string
optional
query
font
string
optional
query
Google Font family name, such as Inter, Manrope, or IBM Plex Sans
Example:
"Inter"weight
integer
optional
query
Example:
600size
number
optional
query
Example:
12tracking
string
optional
query
Letter spacing as em or px, such as 0.02em or 0.5px
Example:
"0.02em"case
string
optional
query
link
string (uri)
optional
query
Optional destination URL. Defaults to the status page URL.
Responses
200
HTML badge document
text/htmlcurl -X GET 'https://happyuptime.com/api/v1/widgets/string/badge'
const response = await fetch('https://happyuptime.com/api/v1/widgets/string/badge', { method: 'GET'});const data = await response.json();console.log(data);
import requestsresponse = requests.get('https://happyuptime.com/api/v1/widgets/string/badge')print(response.json())
200
Response
"<iframe src=\"https://happyuptime.com/api/v1/widgets/sp_001/badge?theme=auto&font=Inter&weight=600&size=12&tracking=0.02em&case=none\" title=\"Status\" width=\"320\" height=\"24\" style=\"border:0;overflow:hidden\" loading=\"lazy\"></iframe>"
API Playground
Try this endpoint
GET
/widgets/{statusPageId}/badge