qrtuner

API

The Corporate plan (A$500 a year per domain) comes with an API key. It makes finished codes for links on that domain and its subdomains from your own software: the same codes the editor makes, as PNG or SVG. Each new link counts toward the plan's 1,000 a day; links already made that day are free to make again.

Request

POST https://qrtuner.com/v1/code
Authorization: Bearer qrt_your_key
Content-Type: application/json

{
  "links": ["https://example.com/table/1", "https://example.com/table/2"],
  "art": [".ooooooo.", "ooXXXXXoo", "oXXXXXXXo", "ooXXXXXoo", ".ooooooo."],
  "look": "liquid",
  "format": "svg"
}
link or links
One web address, or up to 100. Each must be on your key's domain or one of its subdomains.
art
Optional drawing, as rows top to bottom: X is Ink (black), o is Paper (kept white), . is unpainted. Rows line up on the left; pad them with . to keep a shape. The drawing is centred unless you give at.
grid
Optional squares across: 29, 33, 37, 41, 45, 49 or 53. Without a drawing, the smallest that fits the link; with one, the smallest of 37 and up that leaves room round it.
error_correction
Optional L, M, Q or H (default M). Forced errors are set to the level's safe maximum.
look
Optional square (default) or liquid.
at
Optional "left,top": place the drawing's top-left square exactly, counted from the code's top-left corner.
all_caps
Optional true: encode the link in capitals for more paintable squares. Only if your site ignores case in its paths.
format, size
png (default) or svg; size is the image width in pixels including the white border (default 600).

Response

{
  "ok": true,
  "domain": "example.com",
  "codes": [
    { "link": "https://example.com/table/1", "ok": true, "holds": "https://example.com/table/1",
      "grid": 37, "error_correction": "M", "kept": 40, "painted": 40, "svg": "<svg ...>" }
  ]
}

A PNG comes as base64 in png. kept of painted says how many drawing squares the code could give you. A code that couldn't be made has ok: false and an error: not-your-domain, cap (1,000 new links today), too-long (pick a bigger grid), bad-link or bad-design.

Errors for the whole request

401 wrong or missing key · 402 the Corporate plan has ended · 429 more than 25 codes a second · 451 called from a country qrtuner isn't offered in (China, the United States, Japan).

Keep the key private: anyone holding it can make codes for your domain. Lost it? It's on your Stripe invoice. Terms · Privacy