Skip to main content

Create QR Code

Create a new QR code in your workspace.

POST/qr-codes

Headers

HeaderRequiredDescription
X-API-KeyRequiredYour API key
Content-TypeRequiredapplication/json
QR-VersionOptionalAPI version (e.g., 2026-02-16)

Body Parameters

ParameterTypeRequiredDescription
namestringOptionalName for the QR code (max 100 chars)
typestringRequiredQR code type (url, vCard, wifi, etc.)
contentobjectRequiredContent data — varies by type. See QR Types.
designobjectOptionalDesign options. See Design or try the Builder. Cannot be used with template_id.
template_idstringOptionalTemplate ID to use for QR code design. See Templates. Cannot be used with design.
folder_idstringOptionalFolder ID to place the QR code in. Omit or use null for root. Requires Folders feature.
tip

If you omit both design and template_id, default styling is applied automatically (black dots on white background, rounded style). You can use either template_id to apply a saved template, or provide design for custom styling, but not both.

Request

curl -X POST "https://integration-api.qr-build.com/qr-codes" \
-H "X-API-Key: qrb_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "My Website QR",
"type": "url",
"content": {
"type": "url",
"url": "https://example.com"
},
"design": {
"dots": {
"style": "rounded",
"color": "#6366f1"
}
}
}'

Using a Template:

curl -X POST "https://integration-api.qr-build.com/qr-codes" \
-H "X-API-Key: qrb_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "My Website QR",
"type": "url",
"content": {
"type": "url",
"url": "https://example.com"
},
"template_id": "tmpl-aBc123XyZ9"
}'

Response

{
"object": "qr",
"success": true,
"data": {
"id": "qr-aBc123XyZ9",
"name": "My Website QR",
"type": "url",
"content": {
"url": "https://example.com"
},
"design": {
"dots": {
"style": "rounded",
"color": "#6366f1"
},
"corners": {
"style": "extra-rounded",
"color": "#000000"
},
"corners_dot": {
"style": "dot",
"color": "#000000"
},
"background": { "color": "#ffffff" },
"logo_url": null,
"margin": 10
},
"active": true,
"folder_id": "fld-aBc123XyZ9",
"folder_name": "Marketing Campaign",
"short_url": "https://qr-build.io/qr-aBc123XyZ9",
"created_at": "2026-02-16T10:30:00Z",
"updated_at": "2026-02-16T10:30:00Z"
}
}

Error — Validation

{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request body",
"details": [
{ "field": "type", "message": "type is required" }
]
}
}

Error — Both design and template_id provided

{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "You can use either 'design' or 'template_id', but not both"
}
}

Error — Limit Exceeded

{
"success": false,
"error": {
"code": "LIMIT_EXCEEDED",
"message": "Dynamic QR code limit exceeded"
}
}