QR Code Generator API
API keys are part of the Business plan (€29 per month) and Agency (€79).
Create a code with one POST
POST /api/v1/qrcodes takes the name, type and destination and answers with the new code, its slug and its short scan URL. Dynamic codes count against your plan quota, and a quota denial is a machine-readable 403 plan_limit carrying the limit and your current count — your script can react instead of parsing prose.
Render PNG or SVG on demand
GET /api/qr/:slug?format=png&size=400 serves the scannable image. The file extension follows what was actually rendered, never what was requested, so a design the raster path cannot flatten is delivered as SVG that says so. The endpoint is public — the image reveals nothing beyond the slug already printed on the code — and rate-limited per hashed IP.
Print-ready export
Add ?dpi=300&mm=25 and the render is a file physically 25 millimetres wide at 300 DPI, with the density stamped into the PNG so layout software places it at that size instead of assuming 72. Unknown densities degrade to a screen render rather than erroring on a route that serves printed codes.
Keys are hashed and scoped
Keys look like qrs_live_ followed by 64 hex characters, are shown once at mint, and only a keyed HMAC-SHA-256 hash is stored. Each key carries scopes — qrcodes:read, qrcodes:write, scans:read, conversions:write — and a request missing its scope gets a 403 that echoes the exact scope to re-mint with.
Edit destinations without reprinting
PATCH /api/v1/qrcodes/:id updates a dynamic code, so a deploy script can repoint hundreds of printed codes at a new campaign page. The printed image never changes; the next scan follows the new destination.
Errors you can program against
Every failure is JSON shaped { error: { code, message } } with a stable code, and payload validation failures return field-keyed issues so your integration can surface exactly which input was wrong.
Static types skip the server
Static codes — plain URL, text, phone, email, location — encode the payload directly into the image, so scanning them involves no round-trip to us at all. They also never count against the dynamic quota.
Know the limits
This is not an anonymous image endpoint: every rendered image belongs to a code created in a workspace, and creating codes requires an API key on the Business plan. Bulk CSV import lives in the dashboard rather than the API, and the conversion and webhook surfaces are still rolling out.
Frequently asked questions
Where can I find QRCode Suite documentation?
Full documentation is available at qrcode-suite.com/en/docs. It covers installation, license activation, creating QR codes, analytics, WooCommerce attribution, and bulk generation.
How do I activate my license key?
After purchase, copy your license key from your account page. In WordPress, go to QRCode Suite › License and paste the key. An internet connection is required for activation.
How do I create my first dynamic QR code?
Go to QRCode Suite › QR Codes › Add New, select the URL type, enter the destination URL, and click Generate. Your QR code is immediately available to download as PNG or SVG.
How do I set up WooCommerce attribution?
Go to QRCode Suite › Settings › WooCommerce, enable attribution, and assign a default campaign. When a customer scans a QR code and places an order, the order will be linked to that scan in the analytics dashboard.
Generate QR codes from your own stack
A REST endpoint for creating codes and a render endpoint for the images.