Getting Started
Welcome to the uqr.ai API! Use our REST API to create, manage, and customize dynamic QR codes programmatically.
Create dynamic QR codes with custom designs
Track scans with real-time analytics
Update QR code destinations without reprinting
Customize colors, logos, and styles
Quick Start
1
Get your API key
Sign up or log in to generate your API key from the dashboard.
2
Make your first request
Use the API key to authenticate and create your first QR code.
3
Integrate and scale
Build powerful QR code features into your applications.
Include your API key in the x-api-key header:
curl -H "x-api-key: YOUR_API_KEY" https://uqr.ai/api/v1/qr-codesOr use the Authorization header with Bearer token:
curl -H "Authorization: Bearer YOUR_API_KEY" https://uqr.ai/api/v1/qr-codesGET
/qr-codesList all QR codesPOST
/qr-codesCreate a new QR codeGET
/qr-codes/:idGet a single QR codePUT
/qr-codes/:idUpdate a QR codeDELETE
/qr-codes/:idDelete a QR codeFull Options Schema
{
"options": {
"width": 1080,
"height": 1080,
"margin": 0,
"image": "https://example.com/logo.png",
"qrOptions": {
"errorCorrectionLevel": "Q" // L, M, Q, H
},
"dotsOptions": {
"type": "square",
"color": "#000000",
"gradient": null
},
"backgroundOptions": {
"color": "#ffffff"
},
"cornersSquareOptions": {
"type": "square",
"color": "#000000"
},
"cornersDotOptions": {
"type": "square",
"color": "#000000"
},
"imageOptions": {
"hideBackgroundDots": true,
"imageSize": 0.4,
"margin": 0
},
"frameOptions": {
"enabled": false,
"type": "bottom",
"text": "Scan Me",
"backgroundColor": "#ffffff",
"textColor": "#000000",
"fontSize": 16
}
}
}Design Examples
Professional Blue
{
"dotsOptions": { "type": "rounded", "color": "#1e40af" },
"cornersSquareOptions": { "type": "extra-rounded", "color": "#1e3a8a" },
"backgroundOptions": { "color": "#eff6ff" }
}Modern Gradient
{
"dotsOptions": {
"type": "dots",
"gradient": {
"colorStops": [
{ "offset": 0, "color": "#ec4899" },
{ "offset": 1, "color": "#8b5cf6" }
]
}
},
"cornersSquareOptions": { "type": "dot", "color": "#8b5cf6" }
}With Frame
{
"dotsOptions": { "type": "rounded", "color": "#000000" },
"frameOptions": {
"enabled": true,
"type": "bottom",
"text": "SCAN ME",
"backgroundColor": "#f1f5f9",
"textColor": "#334155",
"fontSize": 18
}
}With Logo
{
"image": "https://example.com/logo.png",
"dotsOptions": { "type": "rounded", "color": "#000000" },
"imageOptions": {
"hideBackgroundDots": true,
"imageSize": 0.3,
"margin": 5
},
"qrOptions": { "errorCorrectionLevel": "H" }
}Dot Styles
square
dots
rounded
extra-rounded
classy
classy-rounded
Corner Styles
square
dot
extra-rounded
| Field | DB Type | Required | Description |
|---|---|---|---|
type_id | BIGINT | QR type identifier (1-21) | |
name | TEXT | - | QR code display name |
options | JSONB | - | Design options object |
folder | UUID | - | Folder ID for organization |
template_id | UUID | - | Design template ID |
theme | JSONB | - | Theme configuration for landing pages |
| Field | DB Type | Description |
|---|---|---|
short_id | TEXT | Short ID for URL |
short_url | N/A | Full scannable URL |
image | TEXT | URL to generated QR code image |
image_status | N/A | Image processing status |
image_base64 | N/A | Base64 encoded image (initial only) |
1
Website/URL1 required2
Text1 required3
Email1 required4
vCard0 required5
WiFi1 required6
Phone1 required12
SMS1 required13
Location2 required14
PDF3 required15
Image Gallery2 required17
Image2 required19
File2 required20
List of Links2 required21
MP32 required401
missing_api_keyNo API key provided in the request
401
invalid_api_keyThe provided API key is invalid
401
api_key_inactiveThe API key has been deactivated
403
premium_requiredThe requested feature requires a premium subscription
400
validation_errorInvalid request parameters
404
not_foundThe requested resource was not found
500
database_errorA database error occurred
500
server_errorAn unexpected server error occurred