Skip to main content

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

PropertyDescription
schemaVersionRequired. 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.

messageRequired. 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 simple-icons slugs. Can be overridden by the query string.

logoSvgDefault: 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 simple-icons logos.

logoWidth

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 REQUIRED

The URL to your JSON endpoint

Example: https://shields.redsparr0w.com/2473/monday

style string

Possible values: [flat, flat-square, plastic, for-the-badge, social]

If not specified, the default style for this badge is "flat".

Example: flat

logo string

Icon slug from simple-icons. You can click the icon title on simple-icons to copy the slug or they can be found in the slugs.md file in the simple-icons repository. Further info.

Example: appveyor

logoColor string

The color of the logo (hex, rgb, rgba, hsl, hsla and css named colors supported). Supported for simple-icons logos but not for custom logos.

Example: violet

logoSize string

Make icons adaptively resize by setting auto. Useful for some wider logos like amd and amg. Supported for simple-icons logos but not for custom logos.

Example: auto

label string

Override the default left-hand-side text (URL-Encoding needed for spaces or special characters!)

Example: healthiness

labelColor string

Background color of the left part (hex, rgb, rgba, hsl, hsla and css named colors supported).

Example: abcdef

color string

Background color of the right part (hex, rgb, rgba, hsl, hsla and css named colors supported).

Example: fedcba

cacheSeconds string

HTTP cache lifetime (rules are applied to infer a default value on a per-badge basis, any values specified below the default will be ignored).

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 <object> HTML tag, but not an <img> tag or a markup language.