2026-09 · Deletion

Deleted accounts stop redirecting, concurrent changes report 409

api redirect

To keep scans fast, the redirect holds codes in a cache for up to 24 hours. A printed static code contains its target directly and never passes the redirect. Only its short link (redirect_url) goes through it.

What changes

  • Static codes without a cache: a call of a static code’s short link now always reads the current state. After an account is deleted, it therefore stops redirecting on the next call. Before, it could keep redirecting for up to 24 hours. A plan change also applies to static codes at once. Account deletion clears dynamic codes as before.
  • Deleting twice: if two DELETE requests for the same code arrive at the same time, one returns 200 and the other 404. The qr.deleted webhook arrives once, not twice.
  • Changing a logo at the same time: if another request changes the same code’s logo at the same moment, uploading and removing return 409 and change nothing. Before, an uploaded logo could stay stored without being used. Removing twice at the same time is not a conflict; both requests return 200.

What you need to do

Nothing. If you call the logo routes from automation, handle a 409 as you would when editing a code: reload the code and send the request again.

Full technical documentation →

← All entries