New: meet Cleo, the AI that lives inside your QR codes.Meet Cleo, the AI inside your QR codesDiscover Cleo →

Manage QR Codes with your API Key

Everything on this page works with just your API key — no JWT token and no extra headers. An API key is bound to a single workspace: every request authenticated with it operates on that workspace only, so you do not need to send the X-Account-Id header.

Base URL: https://api.v2.qrcodekit.com
Header:   X-Api-Key: YOUR_API_KEY

You can generate and revoke API keys from your dashboard under Settings → API Keys.

Before you start: find your QR type

Every QR code has a typology (Website, PDF, vCard, …). List the available typologies and copy the @id of the one you need:

bash
curl 'https://api.v2.qrcodekit.com/api/qr-typologies' \
  -H 'X-Api-Key: YOUR_API_KEY'

The @id looks like /api/qr-typologies/0598466c-025c-11ef-83ba-06c4e69992ab and is what you pass as typology when creating a QR code.

Create a QR code

POST /api/qrs

bash
curl -X POST 'https://api.v2.qrcodekit.com/api/qrs' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "My Website QR",
    "description": "Landing page campaign",
    "pathName": "my-website-qr",
    "typology": "/api/qr-typologies/0598466c-025c-11ef-83ba-06c4e69992ab",
    "input": {
      "url": "https://example.com"
    }
  }'

The response includes the QR code's `uuid` — save it, it is the identifier you will use to retrieve, update or delete the QR code later:

JSON
{
  "uuid": "b7e9c2a4-1234-5678-9abc-def012345678",
  "title": "My Website QR",
  "pathName": "my-website-qr",
  "state": 0,
  "typology": "/api/qr-typologies/0598466c-025c-11ef-83ba-06c4e69992ab",
  "domain": { "name": "go.qrcodekit.com" }
}

Notes:

  • pathName is optional — if you omit it, one is generated for you.
  • state values: 0 = active, 1 = paused, 2 = archived.
  • The QR code is created in the workspace your API key belongs to and counts towards your plan's QR limit.

Retrieve a single QR code

GET /api/qrs/{uuid}

bash
curl 'https://api.v2.qrcodekit.com/api/qrs/b7e9c2a4-1234-5678-9abc-def012345678' \
  -H 'X-Api-Key: YOUR_API_KEY'

Returns the full QR code resource. Requesting a QR code that belongs to another workspace returns 403.

List all QR codes

GET /api/qrs

bash
curl 'https://api.v2.qrcodekit.com/api/qrs' \
  -H 'X-Api-Key: YOUR_API_KEY'

The collection only contains the QR codes of your workspace and is paginated (30 items per page). Use the page query parameter to navigate, and follow the hydra:view links included in the response:

bash
curl 'https://api.v2.qrcodekit.com/api/qrs?page=2' \
  -H 'X-Api-Key: YOUR_API_KEY'

Update / edit a QR code

PATCH /api/qrs/{uuid} — send only the fields you want to change, with the application/merge-patch+json content type:

bash
curl -X PATCH 'https://api.v2.qrcodekit.com/api/qrs/b7e9c2a4-1234-5678-9abc-def012345678' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/merge-patch+json' \
  -d '{
    "title": "Updated title",
    "input": {
      "url": "https://example.com/new-landing"
    }
  }'

Delete a QR code

DELETE /api/qrs/{uuid}

bash
curl -X DELETE 'https://api.v2.qrcodekit.com/api/qrs/b7e9c2a4-1234-5678-9abc-def012345678' \
  -H 'X-Api-Key: YOUR_API_KEY'

Returns 204 No Content. Deletion is permanent — pause the QR code instead (PATCH with "state": 1) if you may need it again.

Error reference

StatusMeaningWhat to do
401 UnauthorizedMissing, invalid or revoked API keyCheck the X-Api-Key header and that the key is active in Settings → API Keys
402 Payment RequiredYour plan's QR limit is reachedDelete unused QR codes or upgrade your plan
403 ForbiddenThe QR code belongs to another workspace, or the key's owner lacks the permissionUse the key of the right workspace
404 Not FoundNo QR code with that uuidCheck the identifier
422 Unprocessable EntityValidation error in the payloadThe response's violations array details each invalid field

Two free dynamic QR codes. Yours forever.

No credit card. No expiry. The original dynamic QR platform since 2009.

A dynamic QR code surrounded by the content it can hold