Qr codes
Generated from LinkSnap's own code: every route in this area, what it takes and how to call it.
List QR codes
GET /api/v1/qr-codes
Query parameters
| Name |
Type |
Required |
Notes |
cursor |
any |
no |
|
limit |
any |
no |
|
linkId |
any |
no |
|
q |
any |
no |
|
status |
any |
no |
|
tag |
any |
no |
|
Example
curl -X GET "https://linksnap.forjio.com/api/v1/qr-codes" \
-H "Authorization: ApiKey lsk_live_<your API key>"
Create QR code
POST /api/v1/qr-codes
Body
| Field |
Type |
Required |
Notes |
expiresAt |
any |
no |
|
linkId |
any |
no |
|
logoRunRef |
any |
no |
|
maxScans |
any |
no |
|
styleConfig |
any |
no |
|
tags |
any |
no |
|
title |
any |
no |
|
url |
any |
no |
|
Example
curl -X POST "https://linksnap.forjio.com/api/v1/qr-codes" \
-H "Authorization: ApiKey lsk_live_<your API key>" \
-H "Content-Type: application/json" \
-d '{"expiresAt":null,"linkId":null,"logoRunRef":null,"maxScans":null,"styleConfig":null,"tags":null,"title":null,"url":null}'
Delete QR code
DELETE /api/v1/qr-codes/{id}
Path parameters
| Name |
Type |
Required |
Notes |
id |
string |
yes |
|
Example
curl -X DELETE "https://linksnap.forjio.com/api/v1/qr-codes/:id" \
-H "Authorization: ApiKey lsk_live_<your API key>"
Get single QR code
GET /api/v1/qr-codes/{id}
Path parameters
| Name |
Type |
Required |
Notes |
id |
string |
yes |
|
Example
curl -X GET "https://linksnap.forjio.com/api/v1/qr-codes/:id" \
-H "Authorization: ApiKey lsk_live_<your API key>"
Update QR code
PATCH /api/v1/qr-codes/{id}
Path parameters
| Name |
Type |
Required |
Notes |
id |
string |
yes |
|
Body
| Field |
Type |
Required |
Notes |
expiresAt |
any |
no |
|
logoRunRef |
any |
no |
|
maxScans |
any |
no |
|
status |
any |
no |
|
styleConfig |
any |
no |
|
tags |
any |
no |
|
title |
any |
no |
|
url |
any |
no |
|
Example
curl -X PATCH "https://linksnap.forjio.com/api/v1/qr-codes/:id" \
-H "Authorization: ApiKey lsk_live_<your API key>" \
-H "Content-Type: application/json" \
-d '{"expiresAt":null,"logoRunRef":null,"maxScans":null,"status":null,"styleConfig":null,"tags":null,"title":null,"url":null}'
Download QR code image — MUST be before /:id Supports both Authorization header and ?token= query parameter
GET /api/v1/qr-codes/{id}/download
Download QR code image — MUST be before /:id
Supports both Authorization header and ?token= query parameter
Authentication: Takes the token from POST /qr-codes/{id}/download-token in the query (for an <img> or a link), or else the API key or a session like every other route.
Path parameters
| Name |
Type |
Required |
Notes |
id |
string |
yes |
|
Query parameters
| Name |
Type |
Required |
Notes |
format |
any |
no |
|
token |
any |
no |
|
Example
curl -X GET "https://linksnap.forjio.com/api/v1/qr-codes/:id/download" \
-H "Authorization: ApiKey lsk_live_<your API key>"
Generate download token — MUST be before /:id
POST /api/v1/qr-codes/{id}/download-token
Path parameters
| Name |
Type |
Required |
Notes |
id |
string |
yes |
|
Example
curl -X POST "https://linksnap.forjio.com/api/v1/qr-codes/:id/download-token" \
-H "Authorization: ApiKey lsk_live_<your API key>"
Get QR code stats — MUST be before /:id
GET /api/v1/qr-codes/{id}/stats
Path parameters
| Name |
Type |
Required |
Notes |
id |
string |
yes |
|
Query parameters
| Name |
Type |
Required |
Notes |
from |
any |
no |
|
to |
any |
no |
|
Example
curl -X GET "https://linksnap.forjio.com/api/v1/qr-codes/:id/stats" \
-H "Authorization: ApiKey lsk_live_<your API key>"
Upload a logo for the QR code's center (on plans with qrLogoEnabled — every plan today)
POST /api/v1/qr-codes/upload-logo
Body
Sent as multipart/form-data — a file upload.
| Field |
Type |
Required |
Notes |
logo |
file |
yes |
|
Example
curl -X POST "https://linksnap.forjio.com/api/v1/qr-codes/upload-logo" \
-H "Authorization: ApiKey lsk_live_<your API key>" \
-F "logo=@path/to/file"