QR Codes

Render a QR code (stores nothing)

Encodes your content into a QR image and returns it in the response body. Nothing is stored: no QR code record is created, no UUID is minted, no redirect through this domain is involved, no audit entry is written, and the encoded content is not logged.

Every other endpoint here creates a dynamic code, which encodes a /q/{uuid} address on this domain and resolves to your destination on each scan — that is what lets a printed code be re-pointed later. This one encodes your address directly, so the scanner never touches us. The trade is the obvious one: a code rendered here can never be re-pointed, and it records no scans. Print it only when that is what you want.

Send either data (the literal payload) or qr_type plus content (a type described by its fields). The types that resolve to a page this application serves — social, app, coupon, menu, barcode, gift_giveaway — are refused here, because there is no version of them that encodes nothing of ours.

Four advisory headers ride on the response, because an image body has nowhere to put them: X-QR-Scannable (yes or warnings), X-QR-Warnings, X-QR-Contrast-Ratio, and X-QR-Frame-Omitted on a PNG whose design carries a frame or caption.

Requires the api_access plan feature. Without it this endpoint answers 403 even with valid credentials.

post/qrcodes/render

Request

  • Base URL: https://getdynamicqr.com/api/v1
  • URL: https://getdynamicqr.com/api/v1/qrcodes/render
  • Auth: API key in header X-Client-ID and HTTP bearer

Request body

datastring

The literal string to encode, max 2048 characters. Mutually exclusive with qr_type/content.

qr_typestring

One of: url, whatsapp, wifi, email, sms, phone, vcard, text, pdf, video. Default: url.

contentobject

The fields belonging to qr_type, using the same names the dashboard uses, e.g. {"wifi_ssid":"Guest","wifi_security":"WPA"}. Also accepted at the top level. An unrecognised key is a 422.

formatstring

svg (default) or png.

sizeinteger

Edge length in pixels. SVG 96-4096 (default 512); PNG 96-512 (default 512). For print, ask for SVG and scale it losslessly.

design_presetstring

A QR Studio look to draw it in. With neither this nor design, the code is drawn as classic_ink.

designobject

QR Studio fields applied over design_preset, or over the studio defaults on their own.

logostring binary

An image for the centre (jpg, jpeg, png, gif, webp; max 2MB), sent as multipart/form-data. Read from the request and never written to disk.

logo_pathstring

A path returned earlier by POST /me/qr-logo, of the form qr-logos/... Any other path is a 422.

Example request

{
  "data": "https://your-own-domain.example/offer",
  "format": "svg",
  "design_preset": "midnight_indigo"
}

Response

OK — the image bytes, Content-Type image/svg+xml or image/png

Changes

No recorded changes to this operation across all 1 revision of this API.