Skip to main content
POST
Exports aggregated analytics — every metric type the account’s plan allows (count, date, qr, utm, device, os, browser, geography, and more) — as a downloadable file, rather than a single JSON payload scoped to one type like QR analytics requires.
This is a POST-only endpoint — a GET request returns 405 Method Not Allowed. The management-api.json spec previously listed it as GET; this has been corrected.
Requires a Management API key with MANAGEMENT_API quota — see the Management API overview — plus the account’s EXPORT_ANALYTICS_REPORT quota and ANALYTICS_CAN_EXPORT permission. A 403 with "Your plan does not have export analytics report quota." means the plan doesn’t include exports.

Request

This endpoint always returns a binary file, not JSON — see the response formats below.

Query parameters

string
required
Start date (YYYY-MM-DD), inclusive.
string
required
End date (YYYY-MM-DD), inclusive.
string
required
csv, xls, xlsx, or pdf. Any other value (or omitting it) returns a 400 with "Invalid file format".
boolean
default:"false"
Excludes bot-identified scans from the export.

Request body

Same shape as QR analytics:
array
required
Identifiers to scope the export to — type depends on filter_by.
string
default:"qrid"
qrid, id, tags, or folder.

Response formats

Returns a ZIP archive (application/zip, analytics.zip) containing one CSV per metric type — not a single flat CSV. This is a real quirk of the export format: requesting csv gets you a zip, not a .csv file directly.
If the account has event tracking analytics enabled, its count/engagement metrics are appended as additional sheets/files in the same export automatically — no extra parameter needed.
Despite the underlying error message suggesting “generate Analytics Export instead,” this endpoint enforces the exact same QR-code-count/date-range volume cap as QR analytics — all analytics endpoints share the same request-validation code path. If you hit the 400 under q, narrow q or the date range; switching to this endpoint alone won’t avoid it.
  • QR analytics — the JSON equivalent of this export, scoped to metric types you choose.
  • Export raw analytics — export row-level scan records instead of these aggregated breakdowns.
  • Management API overview — the auth scheme and quota architecture this endpoint is part of.

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. management.scanova.io) — the same key sent to the regular API host will not authenticate.

Query Parameters

from
string<date>
required
to
string<date>
required
file_format
enum<string>
required
Available options:
csv,
xls,
xlsx,
pdf
exclude_bot_scan
boolean
default:false

Body

application/json
q
string[]
required
filter_by
enum<string>
default:qrid
Available options:
qrid,
tags,
id,
folder

Response

Binary file download — application/zip for csv, spreadsheet mimetype for xls/xlsx, application/pdf for pdf.