What a dynamic QR code actually is
A static QR encodes your destination directly in the pattern. That is why it is free and why it is final: the URL is the image. A dynamic QR encodes a short redirect URL instead. Scanning hits that redirect, which answers with a 302 to whatever destination is set at that moment.
That indirection buys two things you cannot get from a static code. The first is the ability to re-point after printing, which turns a reprint into an API call. The second is measurement: because every scan passes through your redirect, each one can be recorded. A static code is invisible by construction, and no analytics product can fix that after the fact.
Keep the encoded URL short, on purpose
The public scan endpoint lives at the root of a dedicated short host rather than inside the versioned API. That is not cosmetic. A shorter encoded string means fewer modules, which means a less dense pattern, which means the printed code survives being small, smudged or read at an angle. Every character you add to the encoded URL costs readability at print size.
Pausing beats deleting
When a campaign ends, the reflex is to delete the code. Deleting turns every printed piece into a dead end and throws away the history. Pausing sends scanners to a clear “this code is paused” page, keeps the analytics, and is reversible. On material already in the field, that difference matters more than it sounds.
Why per-code billing gets expensive quietly
Plenty of vendors charge for each active dynamic code. On the first one it looks harmless. The bill grows with every campaign you leave online, which is exactly what an agency or a product team does over a year. Here the plan carries a ceiling of simultaneously active codes, so the invoice tracks the ceiling you chose, not the number of campaigns you happen to be running this month.
Scans do not move the price either: they are unlimited on every paid plan, and capped only on Free. A campaign that works costs the same as one that flops, which removes a perverse incentive from the pricing model.
Where to go next
If you need many codes at once rather than many changes over time, the bulk generator renders a batch in your browser for free, and the bulk endpoint automates the same job from your own systems. The full request and response schemas live in the dynamic QR reference, and the webhooks page covers signature verification.