curl --request PATCH \
--url 'https://api.scanova.io/analytics/report/58/update/' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{ "saved_name": "Q3 QR Report" }'
{
"id": 58,
"filter_type": "qrcode",
"start_date": "2026-08-01",
"end_date": "2026-08-31",
"report_type": "both",
"analytics_format": "xlsx",
"scan_format": "csv",
"status": "completed",
"report_file": "https://cdn.example.com/media/analytics_reports/58/report.xlsx",
"completed_on": "2026-09-01T08:12:00Z",
"is_saved": true,
"saved_name": "Q3 QR Report",
"created": "2026-09-01T08:10:00Z",
"requested_by_name": "Docs"
}
Analytics & Plans
Update a saved analytics report
PATCH /analytics/report//update/
PATCH
/
analytics
/
report
/
{pk}
/
update
/
curl --request PATCH \
--url 'https://api.scanova.io/analytics/report/58/update/' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{ "saved_name": "Q3 QR Report" }'
{
"id": 58,
"filter_type": "qrcode",
"start_date": "2026-08-01",
"end_date": "2026-08-31",
"report_type": "both",
"analytics_format": "xlsx",
"scan_format": "csv",
"status": "completed",
"report_file": "https://cdn.example.com/media/analytics_reports/58/report.xlsx",
"completed_on": "2026-09-01T08:12:00Z",
"is_saved": true,
"saved_name": "Q3 QR Report",
"created": "2026-09-01T08:10:00Z",
"requested_by_name": "Docs"
}
Updates a saved analytics report — commonly used to rename it or toggle whether it stays saved.
This endpoint does not regenerate the report — it only updates the saved-preset metadata, not
Requires a Management API key with
MANAGEMENT_API (or MANAGEMENT_API_SANDBOX) quota — see the Management API overview.integer
required
The report’s
id.string
New name for the saved preset. Must be unique per account — a duplicate returns
400.boolean
Set to
false to unsave the preset (it remains listed in List analytics reports, just no longer reachable via this retrieve/update endpoint).curl --request PATCH \
--url 'https://api.scanova.io/analytics/report/58/update/' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{ "saved_name": "Q3 QR Report" }'
{
"id": 58,
"filter_type": "qrcode",
"start_date": "2026-08-01",
"end_date": "2026-08-31",
"report_type": "both",
"analytics_format": "xlsx",
"scan_format": "csv",
"status": "completed",
"report_file": "https://cdn.example.com/media/analytics_reports/58/report.xlsx",
"completed_on": "2026-09-01T08:12:00Z",
"is_saved": true,
"saved_name": "Q3 QR Report",
"created": "2026-09-01T08:10:00Z",
"requested_by_name": "Docs"
}
filter_type/filter_data/date range. 404 if pk isn’t a saved report owned by this account.
Related
- Retrieve a saved analytics report — view before updating.
- Generate an analytics report — start a new report with different parameters.
- Management API overview — the auth scheme and quota architecture this endpoint is part of.
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.
Path Parameters
Response
200 - application/json
Report updated.
Was this page helpful?