API Documentation
This page uses the same payload model as the homepage generator and sends requests to https://qrkit.io/api/v1/qr/generate so you can test end-to-end behavior in one place.
Supported Types
Fields for URL
| Field | Type | Required |
|---|---|---|
| url | url | yes |
cURL Example
curl -X POST https://qrkit.io/api/v1/qr/generate \
-H "Content-Type: application/json" \
-d '{"type":"url","payload":{"url":"https://www.example.com"},"design":{"frame":{"enabled":false,"type":"none","text":"","fontFamily":"sans-serif","fontSize":34,"fontWeight":700,"textColor":"#ffffff","backgroundColor":"#000000","qrPadding":24,"paddingX":16,"paddingY":10,"borderRadius":12},"modules":{"shape":"square","color":"#000000","gradient":null},"background":{"color":"#ffffff","transparent":false},"finder":{"style":"square","centerStyle":"square","outerColor":"#000000","innerColor":"#000000","borderColor":"#000000"},"logo":{"enabled":false,"assetId":null,"sizePercent":20,"padding":0,"backgroundColor":"#ffffff","shape":"square","removeBackgroundBehindLogo":true},"quietZone":{"modules":2,"size":16}},"format":"svg","size":512,"errorCorrection":"M"}'Try the Generate API
Loading...
Supported design JSON keys
The default design example includes the full object shape. Use the reference below to understand which nested keys you can override in `design`.
| Field | Type | Example | Allowed values | What it changes |
|---|---|---|---|---|
| frame.enabled | boolean | true | - | Shows a CTA frame around the code. |
| frame.type | string | "poster" | banner, outline, bag, clapper, phone, clip, poster, classic, badge, orbit, none | Selects the CTA frame preset. |
| frame.text | string | "SCAN ME" | - | CTA label rendered inside the frame. |
| frame.fontFamily | string | "Space Grotesk" | - | Font family used for the CTA text. |
| frame.fontSize | number | 34 | - | Controls CTA text scale. |
| frame.fontWeight | number | 800 | - | Controls CTA text weight. |
| frame.backgroundColor | string | "#0f172a" | - | Frame fill color. |
| frame.textColor | string | "#ffffff" | - | CTA text color. |
| frame.qrPadding | number | 24 | - | Spacing between the QR body and the surrounding frame. |
| frame.paddingX | number | 16 | - | Horizontal padding inside the CTA frame. |
| frame.paddingY | number | 12 | - | Vertical padding inside the CTA frame. |
| frame.borderRadius | number | 12 | - | Corner rounding of the frame. |
| Field | Type | Example | Allowed values | What it changes |
|---|---|---|---|---|
| modules.shape | string | "dots" | square, rounded, dots, morse, diamond, organic, chain | Sets the QR module shape. |
| modules.color | string | "#111827" | - | Primary module color. |
| modules.gradient | object|null | {"from":"#111827","to":"#10b981","direction":"diagonal"} | - | Optional module gradient. |
| modules.gradient.from | string | "#111827" | - | Gradient start color. |
| modules.gradient.to | string | "#10b981" | - | Gradient end color. |
| modules.gradient.direction | string | "diagonal" | top, bottom, left, right, diagonal | Gradient flow direction across the QR modules. |
| background.color | string | "#ffffff" | - | Canvas background color. |
| background.transparent | boolean | false | - | Makes the background transparent. |
| Field | Type | Example | Allowed values | What it changes |
|---|---|---|---|---|
| finder.style | string | "double-border" | square, rounded, circle, rounded-square, corner-top-left-sharp, corner-mix, sharp-circle-hole, square-hole, double-border | Outer finder shape. |
| finder.centerStyle | string | "diamond" | square, rounded, circle, rounded-square, corner-top-left-sharp, corner-mix, star, heart, diamond | Center finder shape. |
| finder.outerColor | string | "#111827" | - | Finder outer ring color. |
| finder.innerColor | string | "#0ea5e9" | - | Finder center color. |
| finder.borderColor | string | "#111827" | - | Finder border accent color. |
| quietZone.size | number | 24 | - | Quiet zone padding around the QR. |
| quietZone.modules | number | 4 | - | Module-based spacing control. |
| Field | Type | Example | Allowed values | What it changes |
|---|---|---|---|---|
| logo.enabled | boolean | true | - | Turns logo rendering on. |
| logo.assetId | string|null | "550e8400-e29b-41d4-a716-446655440000" | - | References an uploaded logo asset by ID. |
| logo.sizePercent | number | 18 | - | Logo size relative to the QR body. |
| logo.padding | number | 6 | - | Extra space around the logo. |
| logo.shape | string | "circle" | circle, square | Chooses the logo mask shape. |
| logo.backgroundColor | string | "#ffffff" | - | Background under the logo. |
| logo.removeBackgroundBehindLogo | boolean | true | - | Removes QR modules behind the logo. |
| logoDataUrl | string | "data:image/png;base64,..." | - | Inline PNG/JPG/SVG data URL for direct logo rendering. |