API Authentication & Scopes

Authenticate your requests using high-entropy API secret keys with granular scope permissions.

1. Authentication Header

All requests to https://qrnaly.com/api/v1/* must include your API secret key in the Authorization header using the standard HTTP Bearer schema:

Authorization: Bearer qrs_live_01928374a5b6c7d8e9f0...

2. Key Formats & Environments

qrs_live_...Production Live Keys

Standard API keys generated from Workspace Settings. Mutates workspace records, manages digital catalogues, allocates dynamic routes, and enforces plan quotas.

Live API OnlyLive Production Mode

All REST API v1 operations execute against live production endpoints with authoritative validation. Simulated test keys (qrs_test_) are rejected.

3. Granular Scopes

API keys should be created following the principle of least privilege. Available scopes include:

ScopeDescription
qr:readRetrieve QR code records, destinations, and vector SVG download URLs.
qr:writeCreate new QR codes, update destination URLs post-print, and delete/archive codes.
folders:readList and inspect organizational campaign folders.
folders:writeCreate, update, and manage campaign folders.
templates:readRetrieve custom QR styling templates.
templates:writeCreate and update workspace QR styling templates.
catalogs:readList and retrieve digital catalogues, restaurant menus, sections, items, and variants.
catalogs:writeCreate, update, publish, duplicate, or delete digital catalogues, items, variants, and stock availability.
documents:readList and retrieve metadata for hosted PDF menus, brochures, and image assets.
documents:writeUpload, replace, and delete platform-hosted PDF and image documents.
analytics:readAccess 30-day scan telemetry time series, device types, and city aggregations.

4. Cryptographic Storage & Rotation

QRnaly never stores plaintext API keys in any database. Keys are hashed with SHA-256 before storage. If a key is compromised, administrators can instantly revoke or rotate it from the Dashboard with zero downtime.