Skip to main content
POST
Creates many QR Codes from an uploaded sheet, asynchronously, on api.scanova.io, authenticated with your raw 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 Code — 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 (new → completed/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 Code, 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: YOUR_API_KEY. 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.