Skip to content

API for dynamic codes

Make, change, pause and count your dynamic QR codes from your own software, for example a shop system that makes a code for every new product. The API is on the Business and Agency plans.

1. Make a key

Sign in, open Dashboard, Integrations, and press Make a key under API keys. Choose Read only to look at codes, or Read and write to also make, change, pause and delete them. The key is shown once. We keep only a scrambled copy, so we cannot show it again. If it is lost or leaked, revoke it and make a new one.

2. Send it with every call

curl https://freeqrstudio.in/api/links \
  -H "Authorization: Bearer qrs_your_key_here"

Call the API from your server, never from a web page or an app that others can open, because anyone who sees the key can use it.

What a key can do

CallAddressWhat it does
GET/api/linksYour dynamic codes, each with its scan totals.
POST/api/linksMake a code. Send { "label": "Shop menu", "target": "https://example.com/menu" }. Optional: slug, expiresAt, maxScans, folder, tags.
PATCH/api/links/{id}Change a code: label, target (where it sends people), active (false pauses it), expiresAt, maxScans, folder, tags.
DELETE/api/links/{id}Delete a code. A printed code stops working.
GET/api/links/summaryTotals for your account: active codes, scans this week and last.
GET/api/links/analyticsScan numbers across your codes.

A key works only with these addresses. It cannot reach billing, your account, forms, signing or anything else, and it cannot make more keys.

Make a code

curl -X POST https://freeqrstudio.in/api/links \
  -H "Authorization: Bearer qrs_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"label":"Shop menu","target":"https://example.com/menu"}'

The answer is { "link": { "id": "…", "slug": "…", … } }. The address people scan is https://freeqrstudio.in/r/<slug>. A new code counts against your plan's number of dynamic codes, the same as one made in the dashboard.

Point a printed code somewhere new

curl -X PATCH https://freeqrstudio.in/api/links/CODE_ID \
  -H "Authorization: Bearer qrs_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"target":"https://example.com/new-menu"}'

Limits and errors

Need something the API does not do yet? Tell us at [email protected].