queue_arr API

Version 1.0.0 - animated QR code rendering over HTTP

Endpoints

MethodPathDescription
GETPOST /api/v1/render Render an animated SVG QR code
GET /api/v1/health Health check, returns ok
GET /api/v1/ This page
GET /api/v1/openapi.json OpenAPI 3.1.0 machine-readable spec

Presets

Pass preset=<name> to choose an animation style. Default is bloom.

bloompulsechromadiscocometstrobesnakeauroramosaicgardenduotoneripplebreathestarlighttide

Example: browser URL

https://queue-arr.shannonskipper.com/api/v1/render?payload=https%3A%2F%2Fexample.com&preset=aurora

Example: curl GET

curl 'https://queue-arr.shannonskipper.com/api/v1/render?payload=hello&preset=bloom' \
  -o hello.svg

Example: curl POST

curl -X POST 'https://queue-arr.shannonskipper.com/api/v1/render' \
  -H 'content-type: application/json' \
  -d '{"payload":"hello","preset":"chroma"}' \
  -o hello.svg

Embed in HTML or Markdown

Responses are valid image/svg+xml with permissive CORS so the URL works directly as an image source. Set a width because the SVG has only a viewBox and renders small at the browser default otherwise.

<img src="https://queue-arr.shannonskipper.com/api/v1/render?payload=hello&preset=bloom"
     alt="QR code" width="240" height="240"
     loading="lazy" decoding="async">
![QR code](https://queue-arr.shannonskipper.com/api/v1/render?payload=hello&preset=bloom)

Note: animation plays in browsers that render the embedded <img> as live content. Some hosts proxy remote SVGs through a sanitiser and serve a static snapshot (GitHub READMEs are one such case).

Error responses

All errors use RFC 7807 Problem Details with Content-Type: application/problem+json.

{
  "type": "/api/v1/errors/missing-payload",
  "title": "Payload Required",
  "status": 400,
  "detail": "The payload field is required and must be a non-empty string."
}