Skip to main content
POST
/
qrcode
/
Create QR Code
curl --request POST \
  --url https://management.scanova.io/qrcode/ \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "category": 1,
  "info": "{\"type\":\"url\",\"data\":{\"url\":\"https://example.com\"}}",
  "name": "My Website QR Code",
  "qr_type": "dy",
  "pattern_info": "{\"dataInfo\":{\"pattern\":\"lightSquare\",\"gradientStyle\":\"Diagonal\",\"startColor\":\"#000\",\"endColor\":\"#000\",\"logo\":null},\"backGroundColor\":\"#ffffff\",\"eyeInfo\":{\"TL\":{\"innerEyeColor\":\"#000\",\"outerEyeColor\":\"#000\",\"shape\":\"Shape4\"},\"TR\":{\"innerEyeColor\":\"#000\",\"outerEyeColor\":\"#000\",\"shape\":\"Shape4\"},\"BL\":{\"innerEyeColor\":\"#000\",\"outerEyeColor\":\"#000\",\"shape\":\"Shape4\"}},\"version\":\"1.5\",\"type\":\"qrcode\",\"frame\":{\"id\":2,\"primaryColor\":\"#FF7C7C\",\"secondaryColor\":null,\"textColor\":\"#FFFFFF\",\"bgColor\":\"#FFFFFF\",\"category\":\"url\"},\"errorCorrection\":\"Q\"}",
  "custom_domain": 1903,
  "expire_on": "2025-10-31T02:03:00+05:30",
  "expire_on_text": "<div style=\"text-align:center\"><img alt=\"\" src=\"https://qcg-media.scanova.io/assets/landing/qr-placeholder-expired.png\" style=\"height:137px; width:150px\" /></div><p style=\"text-align:center\">This QR Code has been deactivated</p>",
  "expire_on_timezone": "Asia/Kolkata",
  "high_accuracy_confirmation": true,
  "high_accuracy_geo_fencing": true,
  "high_accuracy_geo_fencing_config": {
    "displayText": "<p style=\"text-align:center\">This QR Code is location-restricted.</p><p style=\"text-align:center\">The content linked to this QR Code is only accessible when scanned from a specific location. Looks like you are either outside the specified area or haven'\''t granted location access.</p><p style=\"text-align:center\">Enable GPS location access and try again.</p>",
    "fallback": "message",
    "mapLocation": {
      "provider": "google",
      "latitude": 40.7127753,
      "longitude": -74.0059728,
      "placeId": "",
      "placeName": "New York"
    },
    "range": 500,
    "redirectUrl": "",
    "unit": "ft"
  },
  "high_accuracy_mode": true,
  "high_accuracy_mode_text": "The QR Code administrator is requesting one-time access to your device'\''s location. You will be redirected to the content regardless of your choice.",
  "lead_list": 1106,
  "minimum_age": 18,
  "password": "123456"
}'
{
  "id": 2411719,
  "qrid": "Q3493df1c0e074ac7",
  "name": "QR Code",
  "qr_type": "dy",
  "qr_type_display": "Dynamic",
  "category": {
    "id": 1,
    "name": "Website URL",
    "slug": "url",
    "description": "When scanned, redirects user to a website.",
    "preview_image": "https://qcg-media.scanova.io/qr-category/2020/09/url.png",
    "allowed_qr_types": "bt",
    "allowed_qr_types_display": "Both",
    "tags": "internet,website,link,url,webpage",
    "is_active": true,
    "is_new": false,
    "has_landing_page": false,
    "helpdesk_link": "https://support.scanova.io/hc/en-us/articles/36997331177753-Create-Website-URL-QR-Code",
    "created": "2020-09-07T11:37:48.093485+05:30",
    "modified": "2025-10-16T14:50:48.791993+05:30"
  },
  "info": "{\"type\":\"url\",\"data\":{\"url\":\"https://scanova.io\"}}",
  "dynamic_url_object": {
    "url_hash": "9drY",
    "domain": null,
    "custom_domain": 1903,
    "high_accuracy_mode": false,
    "high_accuracy_mode_text": "",
    "high_accuracy_confirmation": false,
    "lead_list": null,
    "expire_on_timezone": null,
    "expire_on": null,
    "expire_on_text": null,
    "minimum_age": null,
    "visit_count": 0,
    "created": "2025-10-24T18:54:22.752924+05:30",
    "modified": "2025-10-24T18:54:22.752945+05:30",
    "is_custom_hash": false,
    "is_custom_domain": true,
    "is_password_protected": false,
    "complete_url": "https://anuj.sqcg.in/9drY",
    "is_expired": false,
    "is_page": false,
    "has_qr": true,
    "high_accuracy_geo_fencing": false,
    "high_accuracy_geo_fencing_config": {},
    "qr_url": "https://anuj.sqcg.in/9drY?qr=1"
  },
  "pattern_info": null,
  "svg_code": null,
  "thumbnail": null,
  "is_active": true,
  "version": 1,
  "created": "2025-10-24T18:54:22.697338+05:30",
  "modified": "2025-10-24T18:54:22.697362+05:30",
  "tags_list": [],
  "is_password_protected": false,
  "is_age_restricted": false,
  "is_designer": false,
  "pattern_type": null,
  "created_by": null,
  "password": null,
  "ai_qr_code": null,
  "wallet_pass_info": null,
  "is_qr_scannable": null,
  "custom_form_response_count": 0,
  "rsvp_form_response_count": 0,
  "restaurant_feedback_response_count": 0
}

Request Body — Fields

Required fields
FieldTypeDescription
categoryintegerQR Code category ID. See Category List for IDs.
infostringJSON string containing QR Code component data (see Components Reference).
namestringHuman-readable name for the QR Code.
qr_typestringQR type. Use dy for Dynamic QR Codes (fixed).
Optional / Advanced fields
Note: Advanced features (custom domains, geo-fencing, lead capture, expiry) may require specific plan quotas or entitlements.
FieldTypeDescription
pattern_infoobject or string(Optional) Design customization (pattern, colors, eyes, frame, errorCorrection). See Pattern Info Reference. Some clients require this serialized as a JSON string.
custom_domainintegerCustom domain ID (advanced plan feature).
expire_onstring (date-time)Expiration timestamp (requires plan quota).
expire_on_textstring (HTML)HTML content to show when QR is expired.
expire_on_timezonestringTimezone for expiry (e.g., Asia/Kolkata).
high_accuracy_confirmationbooleanHigh-accuracy confirmation for location QR codes.
high_accuracy_geo_fencingbooleanEnable geo-fencing (requires plan quota).
high_accuracy_geo_fencing_configobjectGeo-fencing config (displayText, fallback, mapLocation, range, unit, redirectUrl).
high_accuracy_modebooleanRequest location access behavior toggle.
high_accuracy_mode_textstringText shown when requesting location permission.
lead_listintegerLead list ID to capture leads.
minimum_ageintegerMinimum age required to access content.
passwordstringPassword to protect QR Code content.

Authorizations

Authorization
string
header
required

API key authentication. Enter your API key directly in the Authorization header.

Body

application/json
category
integer
required

QR Code Category ID. See Category List for available categories.

Example:

1

info
string
required

JSON data to create QR code. See Components Reference for detailed structure examples for each category.

Example:

"{\"type\":\"url\",\"data\":{\"url\":\"https://example.com\"}}"

name
string
required

Name of the QR Code

Example:

"My Website QR Code"

qr_type
string
required

QR code type - 'dy' for Dynamic QR Code

Example:

"dy"

pattern_info
string

JSON data to create design QR Code (optional). See Pattern Info Reference for complete customization options and field values.

Example:

"{\"dataInfo\":{\"pattern\":\"lightSquare\",\"gradientStyle\":\"Diagonal\",\"startColor\":\"#000\",\"endColor\":\"#000\",\"logo\":null},\"backGroundColor\":\"#ffffff\",\"eyeInfo\":{\"TL\":{\"innerEyeColor\":\"#000\",\"outerEyeColor\":\"#000\",\"shape\":\"Shape4\"},\"TR\":{\"innerEyeColor\":\"#000\",\"outerEyeColor\":\"#000\",\"shape\":\"Shape4\"},\"BL\":{\"innerEyeColor\":\"#000\",\"outerEyeColor\":\"#000\",\"shape\":\"Shape4\"}},\"version\":\"1.5\",\"type\":\"qrcode\",\"frame\":{\"id\":2,\"primaryColor\":\"#FF7C7C\",\"secondaryColor\":null,\"textColor\":\"#FFFFFF\",\"bgColor\":\"#FFFFFF\",\"category\":\"url\"},\"errorCorrection\":\"Q\"}"

custom_domain
integer

Custom domain ID for the QR code (advanced feature - requires plan quota)

Example:

1903

expire_on
string<date-time>

Expiration date and time for the QR code (advanced feature - requires plan quota)

Example:

"2025-10-31T02:03:00+05:30"

expire_on_text
string

Custom HTML text to display when QR code is expired (advanced feature - requires plan quota)

Example:

"<div style=\"text-align:center\"><img alt=\"\" src=\"https://qcg-media.scanova.io/assets/landing/qr-placeholder-expired.png\" style=\"height:137px; width:150px\" /></div><p style=\"text-align:center\">This QR Code has been deactivated</p>"

expire_on_timezone
string

Timezone for expiration date (advanced feature - requires plan quota)

Example:

"Asia/Kolkata"

high_accuracy_confirmation
boolean

Enable high accuracy confirmation for location-based QR codes (advanced feature - requires plan quota)

Example:

true

high_accuracy_geo_fencing
boolean

Enable high accuracy geo-fencing for location-based QR codes (advanced feature - requires plan quota)

Example:

true

high_accuracy_geo_fencing_config
object

Configuration for high accuracy geo-fencing (advanced feature - requires plan quota)

high_accuracy_mode
boolean

Enable high accuracy mode for location-based QR codes (advanced feature - requires plan quota)

Example:

true

high_accuracy_mode_text
string

Text to display when requesting location access (advanced feature - requires plan quota)

Example:

"The QR Code administrator is requesting one-time access to your device's location. You will be redirected to the content regardless of your choice."

lead_list
integer

Lead list ID for capturing leads (advanced feature - requires plan quota)

Example:

1106

minimum_age
integer

Minimum age requirement for accessing QR code content (advanced feature - requires plan quota)

Example:

18

password
string

Password protection for QR code access (advanced feature - requires plan quota)

Example:

"123456"

Response

QR Code created successfully

id
integer

Internal QR code ID

Example:

2411719

qrid
string

Unique QR code identifier

Example:

"Q3493df1c0e074ac7"

name
string

Name of the QR code

Example:

"QR Code"

qr_type
string

QR code type

Example:

"dy"

qr_type_display
string

Human-readable QR code type

Example:

"Dynamic"

category
object
info
string

JSON data for QR code content

Example:

"{\"type\":\"url\",\"data\":{\"url\":\"https://scanova.io\"}}"

dynamic_url_object
object
pattern_info
string

QR code design pattern information

Example:

null

svg_code
string

SVG code for QR code

Example:

null

thumbnail
string

Thumbnail URL for QR code

Example:

null

is_active
boolean

Whether the QR code is active

Example:

true

version
number

QR code version

Example:

1

created
string<date-time>

Creation timestamp

Example:

"2025-10-24T18:54:22.697338+05:30"

modified
string<date-time>

Last modification timestamp

Example:

"2025-10-24T18:54:22.697362+05:30"

tags_list
string[]

List of tags associated with QR code

Example:
[]
is_password_protected
boolean

Whether the QR code is password protected

Example:

false

is_age_restricted
boolean

Whether the QR code has age restrictions

Example:

false

is_designer
boolean

Whether the QR code uses designer features

Example:

false

pattern_type
string

Pattern type for QR code design

Example:

null

created_by
string

User who created the QR code

Example:

null

password
string

Password for QR code access

Example:

null

ai_qr_code
string

AI-generated QR code information

Example:

null

wallet_pass_info
string

Wallet pass information

Example:

null

is_qr_scannable
boolean

Whether the QR code is scannable

Example:

null

custom_form_response_count
integer

Number of custom form responses

Example:

0

rsvp_form_response_count
integer

Number of RSVP form responses

Example:

0

restaurant_feedback_response_count
integer

Number of restaurant feedback responses

Example:

0