QR Code Update API

Update the configuration and design of an existing QR code.

Modify the URL, text, or phone number, as well as colors, styles, logos, and other options. The QR code is updated in place without being recreated.

Use this API when you need to change settings without generating a new QR code.

PUT

/api/link/v1/update/qr

{
    "linkId": "K56t",
    "domain": "https://vvd.bz",
    "type": "url",
    "url": "https://www.instagram.com/vivoldiglobal",
    "logoType": "U",
    "logo": "https://example.com/images/picture/logo/20260425/500x500.png",
    "foreground": "#0269D1FF"
}

Request Parameters

linkId string required
Link ID. If the URL is “https://vvd.im/myBrandQR”, the link ID is myBrandQR.
domain string required
Default:https://vvd.bz
Link domain. If you use a custom domain, specify it here.
type string
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)
Required fields vary by type. Provide the corresponding field based on your selection.

If type is omitted, the current type is kept. Only when changing type to a different type must you also send the required field for the new type; for the same type, send only the fields you want to change. Fields you do not send keep their current values. The former field names qrEml, qrEmlTtl, qrEmlBody, qrSmsPhnNo, qrSmsBody, qrWifiSsid, qrWifiEncrypt, qrWifiPwd are 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 type is url. Must be a full http or https URL.
Maximum length: 2,000 bytes.
In an update, this is required only when changing to that type; if the type stays the same, you can omit it (the current value is kept).
text string
Text content embedded in the QR code. Used when type is text. 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 type is phone. Opens the dialer on scan.
Maximum length: 32 characters. Include country code for best compatibility.
When type is sms, this is the recipient number for the text message and is required. Hyphens (-) are removed when saved.
In an update, this is required only when changing to that type; if the type stays the same, you can omit it (the current value is kept).
email string
Recipient address of the email composed on scan.
Required when type is email. Maximum length: 128 characters.
In an update, this is required only when changing to that type; if the type stays the same, you can omit it (the current value is kept).
emailSubject string
Email subject. Used when type is email. Maximum length: 256 characters. In an update, sending an empty string clears the value.
emailBody string
Email body. Used when type is email. Maximum length: 65,535 bytes. In an update, sending an empty string clears the value.
message string
Text message content. Used when type is sms; send the recipient number in phone.
Maximum length: 128 characters. In an update, sending an empty string clears the value.
wifiSsid string
Wi-Fi network name (SSID). Required when type is wifi. Maximum length: 64 characters.
In an update, this is required only when changing to that type; if the type stays the same, you can omit it (the current value is kept).
wifiEncryption string
Enum:
WPAWEPnopass
Wi-Fi security type. Used when type is wifi.
  • WPA: WPA/WPA2/WPA3
  • WEP: WEP
  • nopass: No password
When changing from another type to wifi, it defaults to WPA if omitted; if the type is already wifi, the current value is kept.
wifiPassword string
Wi-Fi password. Used when type is wifi; leading and trailing spaces are removed when saved.
Maximum length: 32 characters. Leave empty when the security type is nopass. In an update, sending an empty string clears the value.
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 logoType is U. 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.
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)
Use N for analytics and access control.
pushNotifyYn string
Default:N
Enum:
YN
Send push notifications on scan.
If Y, 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.
If Y, 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": null
}

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 null

When to Use This API

Use the QR Code Update API in the following scenarios:

  • When you need to change the destination URL of a QR code that has already been distributed
  • When you want to update the design, including colors, logos, or styles
  • When you need to modify content or settings without deleting the QR code
  • When you need to update QR code designs at scale, such as during a brand refresh
The QR code URL remains unchanged,
so you can update the content without replacing codes already printed or used in offline materials.

Use Cases

The QR Code Update API fits a range of practical scenarios:

  • Print materials & banners: Update only the destination URL of distributed QR codes to avoid reprinting costs
  • Brand refresh: Apply new brand colors by updating QR designs in bulk
  • Event operations: Switch destination pages by season without changing the QR code
  • Stores & tables: Point existing QR codes to new menu pages when menus change

Ideal when you need to reuse QR codes that are already in circulation.

Things to consider

Keep the following in mind when updating a QR code:

  • Update foreground (foreground color) and background (background color) together.
    Changing only the background can reduce scan reliability due to low contrast.
  • Use a light background, such as #FFFFFF (white).
    Dark backgrounds can make the QR pattern hard to detect.
  • When changing type, provide the corresponding data parameter for that type.
  • Changing the group with grpIdx moves the QR code to the new group and removes it from the previous one.
Review your settings before applying changes.