QR Code API
Create fully customizable QR codes with a single API call.
Encode a URL, text, or phone number into your QR code,
and customize colors, markers, styles, and logos to match your brand.
Each QR code is delivered with a link—ready to use instantly or download as an image.
-
Access your QR code at https://vvd.bz/
[linkId]/qr and adjust the size using the size parameter. - Example: https://vvd.bz/hj7V/qr?size=500 → returns a 500px QR code (up to 4096px)
/api/link/v1/create/qr
{
"type": "url",
"url": "https://www.youtube.com/vivoldi365",
"domain": "https://vvd.bz",
"logoType": "U",
"logo": "https://example.com/images/picture/logo/500x500.png"
}
Request Parameters
- domain string required
- Default:https://vvd.bz
-
Link domain.
The default is https://vvd.bz. If
brandLinkIdis set, the domain switches tohttps://vvd.im.
If you use a custom domain, specify it here. - type string required
- Default:url
-
Enum:
urltextphoneemailsmswifi
-
QR code content type.
- url: Website URL
- text: Plain text
- phone: Phone number
- email: Email (recipient, subject, body)
- sms: SMS (recipient number, message)
- wifi: Wi-Fi access (network name, security, password)
The former field names
qrEml,qrEmlTtl,qrEmlBody,qrSmsPhnNo,qrSmsBody,qrWifiSsid,qrWifiEncrypt,qrWifiPwdare still accepted but deprecated. Please switch to the names above. Sending the same field under both names returns a 400 error. - url string
-
Destination URL for the QR code.
Required when
typeisurl. Must be a full http or https URL.
Maximum length:2,000 bytes. - text string
-
Text content embedded in the QR code.
Used when
typeistext. The content is displayed as-is when scanned.
Suitable for messages, codes, or instructions. Display may vary by device.
Maximum length:65,535 bytes. - phone string
-
Phone number triggered by the QR code.
Used when
typeisphone. Opens the dialer on scan.
Maximum length:32 characters. Include country code for best compatibility.
Whentypeissms, this is the recipient number for the text message and is required. Hyphens (-) are removed when saved. - email string
-
Recipient address of the email composed on scan.
Required whentypeisemail. Maximum length:128 characters. - emailSubject string
-
Email subject. Used when
typeisemail. Maximum length:256 characters. - emailBody string
-
Email body. Used when
typeisemail. Maximum length:65,535 bytes. - message string
-
Text message content. Used when
typeissms; send the recipient number inphone.
Maximum length:128 characters. - wifiSsid string
-
Wi-Fi network name (SSID). Required when
typeiswifi. Maximum length:64 characters. - wifiEncryption string
-
Enum:
WPAWEPnopass
-
Wi-Fi security type. Used when
typeiswifi.- WPA: WPA/WPA2/WPA3
- WEP: WEP
- nopass: No password
WPAwhen omitted on creation. - wifiPassword string
-
Wi-Fi password. Used when
typeiswifi; leading and trailing spaces are removed when saved.
Maximum length:32 characters. Leave empty when the security type isnopass. - logoType string
- Default:N
-
Enum:
NCU
-
Logo type placed at the center of the QR code.
- N: No logo
- C: Use default logo from [Settings → Organization]
- U: Use custom uploaded logo
Adding a logo enhances brand recognition.
This feature is available on Personal plans and above. - logo string
-
Logo image URL placed at the center of the QR code.
Used when
logoTypeisU. Must be publicly accessible.
Square images are recommended. Transparent PNG works best.
Max size: 500x500 pixels.
Example: https://example.com/images/picture/logo/500x500.png - foreground string
-
Foreground color of the QR code.
Use HEX format (#000000). Default is black.
Maintain strong contrast with the background for reliable scanning. Default: #000000FF - background string
-
Background color of the QR code.
Use HEX format. Default is white.
Dark backgrounds may reduce scan reliability. Default: #FFFFFFFF - markerColor string
-
Color of position markers (corners).
Can be customized separately for visual emphasis.
Default: #000000FF - markerBorderColor string
-
Border color of the QR markers.
Customize alongside marker color. Low contrast may affect scanning.
Default: #000000FF - style string
- Default:snakes
-
Enum:
rectanglessmall-rectanglesdotsround rowscolumnssnakeswater
- Overall QR pattern style. Each style changes the visual structure. See the dashboard preview for details.
- markerStyle string
- Default:round
-
Enum:
rectanglesroundcirclesdrop-in drop-outround-inround-outedge-in edge-out
-
Style of position markers.
Supports various shapes beyond the default square. Combine with style for custom designs.
See dashboard preview for details. - grpIdx integer
-
Group identifier for organizing QR codes.
Helps manage links by category.
Get group IDX via Group List API or dashboard. - brandLinkId string
-
If not set, the system generates a link ID automatically.
Without a custom domain, the default becomeshttps://vvd.im.
Example: https://vvd.im/[brandLinkId] - ttl string
- Link title for internal use.
- memo string
- Internal memo for managing links. Not visible to end users.
- qrBypassYn string
- Default:N
-
Enum:
YN
-
Controls whether scans bypass the short link.
Y: Direct access (no tracking)
N: Via short link (tracking enabled)
UseNfor analytics and access control. - pushNotifyYn string
- Default:N
-
Enum:
YN
-
Send push notifications on scan.
IfY, alerts are sent when the configured threshold is reached.
Useful for real-time tracking.
Available on Personal plans and above. - mailNotifyYn string
- Default:N
-
Enum:
YN
-
Send email notifications on scan.
IfY, emails are sent when thresholds are reached.
Enables instant admin alerts.
Available on Personal plans and above. - delYmdt datetime
-
Scheduled deletion timestamp.
The link is automatically removed after this time.
Example: 2025-08-30 23:59:59
{
"code": 0,
"message": "",
"result": "https://vvd.bz/K56t"
}
Response Parameters
- code integer
- Response code: 0 = Success, other values = Error
- message string
- Response message. If the response code is not 0, an error message is returned.
- result string
-
Response value. The shortened link is returned.
Example: https://vvd.bz/jH3d
When to Use This API
Use the QR Code API in scenarios like these:
- Automatically generate QR codes at scale through external system integrations
- Issue branded QR codes with custom colors and logos via API
- Dynamically create QR codes for products, business cards, or printed materials
- Generate QR codes for URLs, text, or phone numbers
QR Code Types
The API currently supports these QR code types:
- url: Encodes a webpage URL. Up to 2,000 bytes
- text: Encodes plain text. Up to 65,535 bytes
- phone: Encodes a phone number. Up to 32 characters
The dashboard supports additional types such as email and WiFi, but the API currently provides a limited set.
More types may be introduced in future updates.
Use Cases
The QR Code API supports a wide range of use cases:
- E-commerce: Automatically generate QR codes per product for packaging and labels
- Business cards & print: Create branded QR codes with custom colors and logos
- Offline events: Generate unique QR codes at scale for tickets and attendee materials
- Restaurants & retail: Automatically refresh menu and table QR codes as content updates
Design & Styling Options
Fully customize how your QR codes look.
Set colors with foreground (default #000000FF), background (default #FFFFFFFF), markerColor (default #000000FF), and markerBorderColor (default #000000).
Pick a pattern via style—rectangles, small-rectangles, dots, round, rows, columns, snakes, or water—and fine-tune marker shapes with markerStyle.
Add a logo by setting logoType to U (custom upload) or C (organization default). This feature is available on Personal plans and above.
Provide the image via logo. Recommended size: up to 500×500px.
Things to consider
Keep the following in mind when generating QR codes:
- Low color contrast can reduce scan accuracy
- Overly complex styles may impact scanning performance
- The API currently supports only a limited set of QR types