Endpoint Badge
Using the endpoint badge, you can provide content for a badge through a JSON endpoint. The content can be prerendered, or generated on the fly. To strike a balance between responsiveness and bandwidth utilization on one hand, and freshness on the other, cache behavior is configurable, subject to the Shields minimum. The endpoint URL is provided to Shields through the query string. Shields fetches it and formats the badge.
The endpoint badge takes a single required query param: url
, which is the URL to your JSON endpoint
Example JSON Endpoint Response
{ "schemaVersion": 1, "label": "hello", "message": "sweet world", "color": "orange" }
Example Shields Response
Schema
Property | Description |
---|---|
schemaVersion | Required. Always the number 1 . |
label | Required. The left text, or the empty string to omit the left side of the badge. This can be overridden by the query string. |
message | Required. Can't be empty. The right text. |
color | Default: lightgrey . The right color. Supports the eight named colors above, as well as hex, rgb, rgba, hsl, hsla and css named colors. This can be overridden by the query string. |
labelColor | Default: grey . The left color. This can be overridden by the query string. |
isError | Default: false . true to treat this as an error badge. This prevents the user from overriding the color. In the future, it may affect cache behavior. |
namedLogo | Default: none. One of the named logos supported by Shields orsimple-icons. Can be overridden by the query string. |
logoSvg | Default: none. An SVG string containing a custom logo. |
logoColor | Default: none. Same meaning as the query string. Can be overridden by the query string. Only works for named logos and Shields logos. If you override the color of a multicolor Shield logo, the corresponding named logo will be used and colored. |
logoWidth | Default: none. Same meaning as the query string. Can be overridden by the query string. |
logoPosition | Default: none. Same meaning as the query string. Can be overridden by the query string. |
style | Default: flat . The default template to use. Can be overridden by the query string. |
Query Parameters |
---|
url string — REQUIREDThe URL to your JSON endpoint Example: https://shields.redsparr0w.com/2473/monday |
style stringOne of: flat (default), flat-square, plastic, for-the-badge, social Example: flat |
logo stringOne of the named logos (bitcoin, dependabot, gitlab, npm, paypal, serverfault, stackexchange, superuser, telegram, travis) or simple-icons. Simple-icons are referenced using icon slugs which can be found on the simple-icons site or in the slugs.md file in the simple-icons repository. Example: appveyor |
logoColor stringThe color of the logo (hex, rgb, rgba, hsl, hsla and css named colors supported). Supported for named logos and Shields logos but not for custom logos. For multicolor Shields logos, the corresponding named logo will be used and colored. Example: violet |
label stringOverride the default left-hand-side text (URL-Encoding needed for spaces or special characters!) Example: healthiness |
labelColor stringBackground color of the left part (hex, rgb, rgba, hsl, hsla and css named colors supported). The legacy name "colorA" is also supported. Example: abcdef |
color stringBackground color of the right part (hex, rgb, rgba, hsl, hsla and css named colors supported). The legacy name "colorB" is also supported. Example: fedcba |
cacheSeconds stringHTTP cache lifetime (rules are applied to infer a default value on a per-badge basis, any values specified below the default will be ignored). The legacy name "maxAge" is also supported. Example: 3600 |
link string[]Specify what clicking on the left/right of a badge should do. Note that this only works when integrating your badge in an |