QR Code quickstart
You need an API key whose role includes qrcode.generate (the default Developer role does).
cURL
curl -X POST https://webknx.com/api/v1/qrcode \
-H "Authorization: Bearer $WEBKNX_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"data":"https://example.com","size":512,"error_correction":"high"}' \
--output qrcode.png
Node.js
import { writeFile } from "node:fs/promises";
const res = await fetch("https://webknx.com/api/v1/qrcode", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WEBKNX_SECRET_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ data: "https://example.com", size: 512 }),
});
if (!res.ok) {
const { error } = await res.json();
throw new Error(`${error.code}: ${error.message} (${error.request_id})`);
}
await writeFile("qrcode.png", Buffer.from(await res.arrayBuffer()));
Python
import os, requests
res = requests.post(
"https://webknx.com/api/v1/qrcode",
headers={"Authorization": f"Bearer {os.environ['WEBKNX_SECRET_KEY']}"},
json={"data": "https://example.com", "size": 512},
timeout=15,
)
if res.status_code != 200:
raise RuntimeError(res.json()["error"])
open("qrcode.png", "wb").write(res.content)
Check the result
The response is image/png. X-Credits-Charged: 1 confirms the charge, and the request appears in Dashboard → Usage within a minute.