curl -X PATCH "https://api.scanova.io/qr/Qa1b2c3d4e5f6g7h8/thumbnail/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-H "Content-Type: application/json" \
-d '{
"thumbnail": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}'
{
"id": 1042,
"qrid": "Qa1b2c3d4e5f6g7h8",
"name": "Summer Sale Landing",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"category": {
"id": 3,
"name": "Website URL",
"slug": "url",
"allowed_qr_types": "dy",
"has_landing_page": false
},
"info": "{\"type\":\"url\",\"data\":{\"url\":\"https://example.com/summer-sale\"}}",
"pattern_info": null,
"svg_code": null,
"dynamic_url_object": {
"id": 501,
"url_hash": "a1b2c3d4",
"custom_domain": null,
"complete_url": "https://scnv.io/a1b2c3d4",
"qr_url": "https://scnv.io/a1b2c3d4",
"is_active": true,
"is_expired": false,
"visit_count": 0,
"web_tracking_site_id": null
},
"thumbnail": null,
"is_active": true,
"folder": null,
"version": 2,
"tags_list": [
"campaign-2026",
"print"
],
"is_password_protected": false,
"is_age_restricted": false,
"is_designer": false,
"high_accuracy_mode": false,
"activate_on": null,
"expire_on": null,
"expire_on_scan_count": null,
"minimum_age": null,
"is_page": false,
"has_qr": true,
"is_draft": false,
"draft_info": null,
"draft_saved_at": null,
"published_at": "2026-09-01T10:04:11Z",
"is_currently_draft": false,
"created": "2026-09-01T10:04:11Z",
"modified": "2026-09-01T10:04:11Z"
}QR Codes
Update a QR Code's thumbnail
PATCH /qr//thumbnail/
PATCH
/
qr
/
{qrid}
/
thumbnail
/
curl -X PATCH "https://api.scanova.io/qr/Qa1b2c3d4e5f6g7h8/thumbnail/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-H "Content-Type: application/json" \
-d '{
"thumbnail": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}'
{
"id": 1042,
"qrid": "Qa1b2c3d4e5f6g7h8",
"name": "Summer Sale Landing",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"category": {
"id": 3,
"name": "Website URL",
"slug": "url",
"allowed_qr_types": "dy",
"has_landing_page": false
},
"info": "{\"type\":\"url\",\"data\":{\"url\":\"https://example.com/summer-sale\"}}",
"pattern_info": null,
"svg_code": null,
"dynamic_url_object": {
"id": 501,
"url_hash": "a1b2c3d4",
"custom_domain": null,
"complete_url": "https://scnv.io/a1b2c3d4",
"qr_url": "https://scnv.io/a1b2c3d4",
"is_active": true,
"is_expired": false,
"visit_count": 0,
"web_tracking_site_id": null
},
"thumbnail": null,
"is_active": true,
"folder": null,
"version": 2,
"tags_list": [
"campaign-2026",
"print"
],
"is_password_protected": false,
"is_age_restricted": false,
"is_designer": false,
"high_accuracy_mode": false,
"activate_on": null,
"expire_on": null,
"expire_on_scan_count": null,
"minimum_age": null,
"is_page": false,
"has_qr": true,
"is_draft": false,
"draft_info": null,
"draft_saved_at": null,
"published_at": "2026-09-01T10:04:11Z",
"is_currently_draft": false,
"created": "2026-09-01T10:04:11Z",
"modified": "2026-09-01T10:04:11Z"
}Replaces just the stored preview image for one QR Code, without going through the full update serializer.
The response is the full QR Code, not just the thumbnail — and
PATCH https://api.scanova.io/qr/{qrid}/thumbnail/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
string
required
The QR Code’s
qrid.string
required
Base64-encoded image. Write-only and nullable — send
null to clear the stored thumbnail.curl -X PATCH "https://api.scanova.io/qr/Qa1b2c3d4e5f6g7h8/thumbnail/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-H "Content-Type: application/json" \
-d '{
"thumbnail": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}'
thumbnail itself is write-only, so the value you sent is not echoed back.
Related
- Update a QR Code’s design — changing the design can regenerate the thumbnail for you.
- Update a QR Code — the general-purpose update endpoint.
- QR Manager overview — the quotas, role permissions, and Trash model shared by every endpoint in this module.
- Management API overview — the auth scheme and quota rules that apply to this endpoint.
Authorizations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. api.scanova.io) — the same key sent to the regular API host will not authenticate.
Path Parameters
The QR code's qrid — the opaque public identifier returned by the list endpoint, not the numeric id.
Response
Thumbnail updated — the full QR code is returned.
Was this page helpful?