Skip to main content

Dynamic QR Codes

A dynamic QR code routes through QRlumo's redirect layer instead of encoding the destination directly. You can change the destination any time — the printed code stays the same.

How it works

Printed QR → https://qrlu.mo/r/abc → (QRlumo resolves) → https://your-destination.com
  1. The printed pattern always points to qrlu.mo/r/{shortCode}
  2. QRlumo resolves the short code to the current destination
  3. The scanner is redirected — in under 100ms

Static vs dynamic

StaticDynamic
Destination changeable
Scan analytics
Expiry rules
Scan-count limits
Works offline (no network)
Best forOne-time, permanent URLsCampaigns, packaging, menus

Creating a dynamic code

Via dashboard

  1. Click New QR code
  2. Select Dynamic under code type
  3. Enter the destination URL
  4. Download and print

Via API

curl -X POST https://api.qrlumo.com/v1/workspaces/{id}/qrcodes \
-H "Authorization: Bearer qrl_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "menu_table_1",
"type": "dynamic",
"content": { "url": "https://restaurant.com/menu" }
}'

Updating the destination

Via dashboard

Open the code, click Edit destination, enter the new URL, and Save.

Via API

curl -X PATCH https://api.qrlumo.com/v1/workspaces/{id}/qrcodes/{qrId} \
-H "Authorization: Bearer qrl_live_..." \
-H "Content-Type: application/json" \
-d '{ "content": { "url": "https://restaurant.com/new-menu" } }'

The change takes effect immediately — no reprinting needed.

Advanced rules

Expiry

Set an expiry date or scan-count limit on a code:

  • Date expiry — the code stops redirecting after the date
  • Scan limit — the code stops redirecting after N scans
  • On expiry action — redirect to a fallback URL, or show a "code expired" page

A/B routing

Split traffic between two destinations by percentage. Available on Team and Business plans.

Destination history

Every destination change is logged. Open a code and click History to see all past destinations with timestamps and the user who made the change.