Skip to main content
POST
Restore QR Code

Authorizations

Authorization
string
header
required

API key in the Authorization header: Bearer qr_live_… or Bearer qr_test_…. Token endpoints take a Clerk session JWT instead.

Path Parameters

id
string
required

qr_… or sqr_…, as returned while the code was live or by GET /v1/qr-codes?status=trashed.

Response

The restored QR code (deleted_at is null).

id
string

qr_… for dynamic, sqr_… for static.

Example:

"qr_123"

object
string
Example:

"qr_code"

kind
enum<string>
Available options:
dynamic,
static
name
string
type
string

The stored type: any target.type the API creates (a review is stored as linkpage), gs1, or a dashboard-only type such as file, menupage, form or smarturl. Treat unknown values as opaque.

Example:

"url"

short_code
string
Example:

"AB3D5"

short_url
string | null

null for static codes. On the workspace custom domain when the code was created on one. For a dynamic GS1 code this is the Digital Link URI itself, not <host>/<short_code>.

Example:

"https://qrkit.to/AB3D5"

domain_id
string | null

The custom domain short_url is on, or null for the default host (and for static codes).

Example:

"dom_3"

gs1
object

Present on GS1 codes only. The identifier half is READ-ONLY (R4 — it is printed); links and overrides are the editable half.

target
object
design
object | null
folder_id
string | null
Example:

"fld_12"

tags
string[]
image_url
string
Example:

"https://img.useqrkit.com/qr-AB3D5-1717000000000.svg"

download_url
string
Example:

"/v1/qr-codes/qr_123/download"

is_active
boolean

Dynamic codes: whether the redirect is on. Static codes: false while the code is in the Trash (the printed payload itself keeps working).

scan_count
integer | null

null for static codes (no tracking).

utm
object | null

UTM parameters (null unless set on a dynamic url code).

created_at
string<date-time>
updated_at
string<date-time>
deleted_at
string<date-time> | null

null for a live code. Set while the code is in the Trash (or paused by a plan downgrade); restore it with POST /v1/qr-codes/{id}/restore.