Skip to main content
POST
Creates many QR Codes from an uploaded sheet, asynchronously, on the Management API host (api.scanova.io), authenticated with your raw Management API key.
string
required
A label for this operation, shown in List bulk operations.
file
required
The filled-in sheet, one row per QR Code. The first row’s qr code id column supplies the template QR — its category and field schema are what every other row is validated against.
integer
A custom domain id to use for the generated QR Codes’ short links.
string
Design pattern data applied to all generated QR Codes, typically JSON encoded as a string.
object
Optional auto-deactivation rule applied to all generated QR Codes: expire_on/activate_on (future ISO-8601 datetimes) and/or expire_on_scan_count (positive integer).
integer
A folder id to save the generated QR Codes into.

This is asynchronous

The 200 response confirms the job was accepted, not that the QR Codes exist yet — the actual work runs on a background worker. Poll List bulk operations (filter locally by operation_id) and watch status (newcompleted/partially_completed/failed) and progress, then read result_file/log_file once done. The account also gets an email notification on completion. 400 for an invalid file/columns, a missing or invalid template QR, or exceeded quota (BULK_OPERATION or TOTAL_QR_CODES). 403 if the account lacks the BULK_OPERATION quota, has an inactive plan, or lacks BULK_OPERATION_CAN_GENERATE permission.

Authorizations

Authorization
string
header
required

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.

Response

Generation started.