curl -G "https://api.scanova.io/qr/category/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-d view_type=recommended
{
"All": [
{
"id": 3,
"name": "Website URL",
"slug": "url",
"allowed_qr_types": "dy",
"allowed_qr_types_display": "Dynamic",
"has_landing_page": false,
"is_active": true,
"is_new": false
}
]
}
QR Codes
List QR categories
GET /qr/category/
GET
/
qr
/
category
/
curl -G "https://api.scanova.io/qr/category/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-d view_type=recommended
{
"All": [
{
"id": 3,
"name": "Website URL",
"slug": "url",
"allowed_qr_types": "dy",
"allowed_qr_types_display": "Dynamic",
"has_landing_page": false,
"is_active": true,
"is_new": false
}
]
}
The QR category catalogue — the source of the
With
category primary keys and slugs that every create, update, and filter call in this module needs.
GET https://api.scanova.io/qr/category/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
On the Management API host this endpoint requires authentication. The same catalogue is open on the public API host, so code ported from there will start returning
401 here unless it sends the Authorization header.Query parameters
string
Comma-separated filter on the QR types a category supports, e.g.
st,dy,bt. Returns only categories that allow at least one of them.string
Reshape the response into named sections instead of one
All bucket. One of recommended, use_case, content_type, or favourite.curl -G "https://api.scanova.io/qr/category/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-d view_type=recommended
{
"All": [
{
"id": 3,
"name": "Website URL",
"slug": "url",
"allowed_qr_types": "dy",
"allowed_qr_types_display": "Dynamic",
"has_landing_page": false,
"is_active": true,
"is_new": false
}
]
}
?view_type=recommended the same rows come back grouped under section names instead:
{
"Recommended QR Code Categories": [ ... ],
"Other QR Code Categories": [ ... ]
}
The response is a dict keyed by section name, not a bare array, and it is never paginated. Each row also carries
description, preview_image, tags, helpdesk_link, qr_name_pattern, created, and modified.allowed_qr_types is what makes a create call succeed or fail: a static-only category rejects qr_type: "dy" and vice versa. qr_name_pattern is the template used to auto-name a QR Code created without a name.Related
- Create a QR Code — where these
categoryids are used. - Validate QR Code content — check an
infopayload against a category’s schema. - List and add favourite categories — populate the
favouriteview. - Change a QR Code’s category — move an existing Dynamic QR Code to another category.
- 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.
Query Parameters
Comma-separated filter on supported QR types, e.g. st,dy,bt.
Reshape the response into named sections: recommended, use_case, content_type, or favourite.
Available options:
recommended, use_case, content_type, favourite Response
200 - application/json
Categories, keyed by section name.
Was this page helpful?