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_KEYYou 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:
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
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:
{
"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:
pathNameis optional — if you omit it, one is generated for you.statevalues: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}
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
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:
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:
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}
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
| Status | Meaning | What to do |
|---|---|---|
401 Unauthorized | Missing, invalid or revoked API key | Check the X-Api-Key header and that the key is active in Settings → API Keys |
402 Payment Required | Your plan's QR limit is reached | Delete unused QR codes or upgrade your plan |
403 Forbidden | The QR code belongs to another workspace, or the key's owner lacks the permission | Use the key of the right workspace |
404 Not Found | No QR code with that uuid | Check the identifier |
422 Unprocessable Entity | Validation error in the payload | The response's violations array details each invalid field |

