apyhub
DEVELOPER TOOLS · SMART GENERATION

SVG Badge Generator

What it does

SVG Badge Generator creates a simple two-part SVG badge from a label and a message. Send a label for the left side and a message for the right side, with optional label_color and message_color values to control each section’s hex color.

Use it when you need status badges for README files, CI pipelines, package pages, or internal dashboards. The badge is returned either as a binary SVG download from POST /download or as a signed URL from POST /link, depending on how you want to fetch and store the result.

The API keeps the response minimal: the download endpoint returns the generated SVG file, while the link endpoint returns a data field containing a signed URI to that SVG. That makes it easy to generate badges on demand without building your own SVG templating or storage flow.

If you need consistent build, release, or environment labels across docs and tools, this service gives you a direct way to generate the badge asset from a small JSON body.

▣ ENDPOINT 01 / 02
POST
Generate SVG badge (download)
https://api.eu.apyverse.com/apyhub/generate-svg-badge/download

QUICKSTART

GUIDE

Quickstart

Generate and download an SVG badge by sending the badge label and message.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-svg-badge/download" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"label":"build","message":"passing"}'

What you'll get back

Returns an SVG file as binary data.

TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Left-side badge label.
Right-side badge message.
Hex color for the label section.
Hex color for the message section.

About this endpoint

What it does

Generates an SVG badge and returns it as a downloadable binary response. The request body provides the badge label and message, with optional color values for each section.

Request Body

ParameterTypeMandatoryDescription
labelStringYesLeft-side badge label.
messageStringYesRight-side badge message.
label_colorStringNoHex color for the label section.
message_colorStringNoHex color for the message section.

Response

Returns a binary string response containing the generated SVG badge.

ParameterTypeMandatoryDescription
binaryStringYesSVG content returned as a downloadable binary payload.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 02
POST
Generate SVG badge (signed URL)
https://api.eu.apyverse.com/apyhub/generate-svg-badge/link

QUICKSTART

GUIDE

Quickstart

Create a simple SVG badge by sending the required label and message.

curl -X POST "https://api.eu.apyverse.com/apyhub/generate-svg-badge/link" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"label":"build","message":"passing"}'

What you'll get back

Returns a JSON object with a data string field containing a signed URI for the generated SVG badge.

{
  "data": "https://storage.example.com/badges/build-passing.svg?sig=abc123"
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Left-side badge label.
Right-side badge message.
Hex color for the label section.
Hex color for the message section.

About this endpoint

What it does

Generates a signed URL for an SVG badge from the provided badge label and message, and returns that URL in the response.

Request Body

ParameterTypeMandatoryDescription
labelStringYesLeft-side badge label.
messageStringYesRight-side badge message.
label_colorStringNoHex color for the label section.
message_colorStringNoHex color for the message section.

Response

Returns a JSON object with a data string field formatted as a URI. The data value is the signed URL pointing to the generated SVG badge.

ParameterTypeMandatoryDescription
dataStringYesSigned URL pointing to the generated SVG badge.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.