QR Code API
Render styled QR codes and manage dynamic codes from your own apps (ERP, CRM, POS…).
Get an API keyAuthentication
Send your key in the X-API-Key header (or ?apikey= for quick tests). Base URL: https://qr.psmsofttech.com/api/v1
Quick render — GET /qr
Returns the image directly. Parameters: data (required), size, format (svg|pdf|eps), ecc (L|M|Q|H), body, eyeFrame, eyeBall, color, bgColor, template, logo (gallery key), margin, download.
Custom render — POST /qr/custom
Use a content type with fields (same names as the generator form) or raw data. Set base64: true to get JSON instead of a file.
Create a saved code — POST /qrcodes
Creates a dynamic code (default) and returns its short URL and an SVG preview. File-based types (PDF, MP3, images, file, app stores) must be created in the dashboard.
List, get, update, delete
| Method | Path | Description |
|---|---|---|
GET | /qrcodes?page=1&pageSize=50&folderId=&search= | List saved codes |
GET | /qrcodes/{id} | Details incl. fields and design |
PUT | /qrcodes/{id} | Change name / fields / design of a dynamic code |
DELETE | /qrcodes/{id} | Delete a code |
GET | /qrcodes/{id}/image?format=svg&size=1000 | Render a saved code |
GET | /options | Content types, shapes, templates, logos |
Statistics — GET /qrcodes/{id}/stats?from=2026-09-01&to=2026-09-30
Design object
bodyShape | square, mosaic, dots, small-dots, rounded, extra-rounded, classy, classy-rounded, leaf, diamond, star, cross, edge-cut, h-lines, v-lines |
eyeFrameShape | square, rounded, extra-rounded, circle, leaf, leaf-alt, cushion, edge-cut, dotted |
eyeBallShape | square, rounded, circle, leaf, leaf-alt, cushion, diamond, star, edge-cut, dots, plus |
foregroundColor, backgroundColor | #rrggbb; transparentBackground: true/false |
gradientType | none | linear | radial, with gradientColor1, gradientColor2, gradientAngle, gradientOnEyes |
customEyeColor, eyeColors | array of 3 { "frame": "#…", "ball": "#…" } |
logoDataUri, logoSize, logoRemoveBackground, logoPlate | data:image/… URI, 0.10–0.35 |
frameStyle, frameText, frameColor, frameTextColor | none | box | banner-bottom | banner-top | balloon |
margin, errorCorrection | 0–8 modules; L | M | Q | H |
For PDF/EPS with a PNG/SVG logo, also send logoJpeg (base64 JPEG of the logo), because vector formats embed JPEG images.
Errors & limits
400 validation error ({"error": "…"}), 401 missing/invalid key, 404 not found, 429 rate limit (default 60 requests per minute per key).