Skip to main content
PATCH
/
qr-codes
/
{id}
Update QR Code
curl --request PATCH \
  --url https://api.useqrkit.com/v1/qr-codes/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "target": {
    "destination": "<string>",
    "utm": {
      "source": "<string>",
      "medium": "<string>",
      "campaign": "<string>",
      "term": "<string>",
      "content": "<string>"
    }
  },
  "design": {
    "error_correction": "Q",
    "colors": {
      "foreground": "#000000",
      "background": "#ffffff"
    },
    "gradient": {
      "start": "#005ae0",
      "end": "#00c2ff",
      "type": "linear-top-to-bottom"
    },
    "shapes": {
      "body": "square",
      "eye_frame": "square",
      "eye_ball": "square"
    },
    "eye_colors": {
      "frame": "#005ae0",
      "ball": "#004bb8"
    },
    "logo": {
      "url": "<string>",
      "clear_background": false
    },
    "transparent_background": false
  },
  "folder_id": "<string>",
  "tags": [
    "<string>"
  ],
  "is_active": true
}
'
{
  "id": "qr_123",
  "object": "qr_code",
  "name": "<string>",
  "short_code": "AB3D5",
  "short_url": "https://scan.useqrkit.com/AB3D5",
  "target": {
    "type": "<string>",
    "destination": "<string>"
  },
  "design": {
    "colors": {
      "foreground": "<string>",
      "background": "<string>"
    },
    "gradient": {
      "start": "<string>",
      "end": "<string>",
      "type": "<string>"
    },
    "shapes": {
      "body": "<string>",
      "eye_frame": "<string>",
      "eye_ball": "<string>"
    },
    "eye_colors": {
      "frame": "<string>",
      "ball": "<string>"
    },
    "has_logo": true,
    "transparent_background": true
  },
  "folder_id": "fld_12",
  "tags": [
    "<string>"
  ],
  "image_url": "https://img.useqrkit.com/qr-AB3D5-1717000000000.svg",
  "download_url": "/v1/qr-codes/qr_123/download",
  "is_active": true,
  "scan_count": 123,
  "utm": {
    "source": "<string>",
    "medium": "<string>",
    "campaign": "<string>",
    "term": "<string>",
    "content": "<string>"
  },
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

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

Body

application/json
name
string
Maximum string length: 255
target
object
design
object

Visual customization. Stored with the code, so the dashboard shows exactly what the API created.

folder_id
string | null

Folder id, or null to remove from its folder.

tags
string[]
Maximum array length: 10
is_active
boolean

Pause/resume scanning (dynamic codes only).

Response

Updated QR code

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
enum<string>
Available options:
url,
text,
email,
sms,
wifi,
event,
vcard
short_code
string
Example:

"AB3D5"

short_url
string | null

null for static codes.

Example:

"https://scan.useqrkit.com/AB3D5"

target
object
design
object
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
scan_count
integer | null

null for static codes (no tracking).

utm
object

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

created_at
string<date-time>
updated_at
string<date-time>