Create a badge from any HTTPS endpoint that returns JSON.
Path Parameters
Any HTTPS URL that returns JSON with label/value/color fields.
<picture><source media="(prefers-color-scheme: dark)" srcset="https://shieldcn.dev/https/cal-badge-icd0onfvrxx6.runkit.sh.svg?mode=dark"><img alt="badge" src="https://shieldcn.dev/https/cal-badge-icd0onfvrxx6.runkit.sh.svg?mode=light"></picture>
Create an HTTPS endpoint on any platform (RunKit, Vercel, Cloudflare Workers, etc.) that returns JSON:
{
"label": "hello",
"value": "world",
"color": "blue"
}
The badgen format is also supported:
{
"subject": "hello",
"status": "world",
"color": "blue"
}
Then use it as a badge:
Any path segments after the hostname are forwarded to the endpoint:
| Badge URL | Fetches |
|---|---|
/https/example.com | https://example.com |
/https/example.com/foo/bar | https://example.com/foo/bar |
The endpoint must return JSON with these fields (all optional except value/status):
Default — pull badge data from any HTTPS endpoint
<picture><source media="(prefers-color-scheme: dark)" srcset="https://shieldcn.dev/https/cal-badge-icd0onfvrxx6.runkit.sh.svg?mode=dark"><img alt="https endpoint" src="https://shieldcn.dev/https/cal-badge-icd0onfvrxx6.runkit.sh.svg?mode=light"></picture>Secondary — softer look for README rows
<picture><source media="(prefers-color-scheme: dark)" srcset="https://shieldcn.dev/https/cal-badge-icd0onfvrxx6.runkit.sh.svg?variant=secondary&mode=dark"><img alt="https endpoint" src="https://shieldcn.dev/https/cal-badge-icd0onfvrxx6.runkit.sh.svg?variant=secondary&mode=light"></picture>Endpoint responses are cached for 5 minutes.
This endpoint format is inspired by badgen.net's HTTPS endpoint feature.