Report tracker
Generate, poll, retrieve, and download the account's tracker reports.
A report turns a period of tracking data into tables and graphs: distance travelled, stops made, fuel used, geofences visited. Which report is produced is decided by the plugin named in plugin.plugin_id, and most of the plugin object is specific to that plugin.
Generation is asynchronous, so a caller runs a sequence rather than a single call: generate queues the report and returns its ID, status reports progress, and retrieve or download fetches the result. For a walkthrough, see how to obtain report information.
API actions
API base path: /report/tracker.
Every operation on this page requires the reports sub-user right.
The geocoder parameter chooses which geocoder resolves addresses. The plugin-specific parameters are documented in report plugins. A plugin object looks like this:
{
"details_interval_seconds": 300,
"plugin_id": 9,
"show_seconds": false,
"graph_type": "time",
"smoothing": false,
"sensors": [
{
"tracker_id": 123456,
"sensor_id": 123456
}
]
}Queue a report for generation and return its ID. Generation is asynchronous: poll report/tracker/status, then fetch the result with report/tracker/retrieve or report/tracker/download.
Which report is produced is decided by plugin.plugin_id, and most of the plugin object is plugin-specific. See the tracker report plugins reference for what each one accepts.
Report by trackers takes trackers; a report by employees takes employees instead.
Error 211 carries extra data. When the period is too long the error body includes max_time_span, a human-readable English string such as 120 days rather than an ISO 8601 duration, so a caller can retry with a period that fits rather than guessing.
Requires the reports right.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
Start of the reporting period.
2026-08-24 09:00:00End of the reporting period. Must be after from.
2026-08-24 09:00:00Report title. A default title is used when null.
Which geocoder to use for resolving addresses.
Trackers to include, for a report by trackers.
Employees to include, for a report by employees.
Optional. Default true. Prepend the name of the place a point falls inside to the address in report columns. Set false for the geocoded address alone.
Optional. Default true. Prepend the name of the geofence a point falls inside to the address in report columns. Set false for the geocoded address alone.
The queued report
true if request finished successfully.
trueID of the report queued for generation. Use it to poll status and to fetch the result.
Bad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error 236: one of the trackers is on a plan with reports disabled.
Error 211: the period from from to to is longer than the maximum allowed. The response body carries max_time_span, a human-readable English string such as 120 days, not an ISO 8601 duration. Error 217: one or more tracker IDs do not exist or belong to another user. Error 222: the report plugin was not found.
Error 15: too many requests. The number of reports one user may generate in parallel is limited.
Error response object
POST /v2/report/tracker/generate HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 355
{
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"title": "text",
"geocoder": "text",
"trackers": [
1
],
"employees": [
1
],
"time_filter": {
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"weekdays": [
1
]
},
"plugin": {
"plugin_id": 1,
"show_seconds": true,
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"include_places_in_address": true,
"include_zones_in_address": true
}{
"success": true,
"id": 1
}Errors
These errors come in addition to the general error codes:
15 - Too many requests. One user can only have so many reports generating in parallel.
211 - Requested time span is too big, when the interval from
fromtotoexceeds the maximum allowed.217 - List contains nonexistent entities, when a tracker ID belongs to no tracker or to another user's.
222 - Plugin not found, when no report plugin has the given ID.
236 - Feature unavailable due to tariff restrictions, when one of the trackers is on a tariff with reports disabled, meaning
has_reportsis false.
Error 211 carries the maximum allowed period in the response body, so a caller can retry with a period that fits:
max_time_span is a human-readable English phrase such as 120 days or 26 hours. It is not an ISO 8601 duration, so parse it as text rather than as a duration literal.
Return how far along a report's generation is.
Requires the reports right.
Also accepts GET with the same parameters as query-string values.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
ID of the report.
The generation progress
true if request finished successfully.
trueReport readiness, as a percentage.
Bad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error 204: no report with this ID was found.
Error response object
POST /v2/report/tracker/status HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"report_id": 1
}{
"success": true,
"percent_ready": 1
}Errors
These errors come in addition to the general error codes:
204 - Entity not found, when no report has the given ID.
Return a generated report as JSON.
The body of report is plugin-dependent: its shape follows whichever report plugin generated it.
A report that is still generating returns error 229 rather than partial data, so poll report/tracker/status first.
Requires the reports right.
Also accepts GET with the same parameters as query-string values.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
ID of the report.
The generated report
true if request finished successfully.
trueBad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error 204: no report with this ID was found. Error 229: the report exists but is still being generated.
Error response object
POST /v2/report/tracker/retrieve HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"report_id": 1
}{
"success": true,
"report": {
"id": 1,
"title": "text",
"created": "text",
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"time_filter": {
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"weekdays": [
1
]
},
"sheets": [
{
"header": "text",
"entity_ids": [
1
],
"additional_field": "text",
"sections": [
{
"type": "table",
"header": "text",
"style": "text",
"columns": [
{
"field": "text",
"title": "text",
"align": "left",
"width": 1,
"weight": 1,
"highlight_min_max": true
}
],
"column_groups": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"data": [
{
"header": "text",
"rows": [
{
"ANY_ADDITIONAL_PROPERTY": {
"v": "text",
"raw": 1,
"type": "text",
"location": {
"lat": 1,
"lng": 1
},
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}
]
}
],
"rows": [
{
"name": "text",
"v": "text",
"raw": 1,
"highlight": true
}
],
"ANY_ADDITIONAL_PROPERTY": "anything"
}
]
}
],
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}Errors
These errors come in addition to the general error codes:
204 - Entity not found, when no report has the given ID.
229 - Requested data is not ready yet, when the report exists but is still generating.
Return a generated report as a file.
The response is the file itself, not a JSON envelope. A report that is still generating returns error 229.
Requires the reports right.
Also accepts GET with the same parameters as query-string values.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
ID of the report.
Format to render the report in.
Optional. Default false. When true, omit the title page and the table of contents.
The rendered report file
Bad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error 204: no report with this ID was found. Error 229: the report exists but is still being generated.
Error response object
POST /v2/report/tracker/download HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 46
{
"report_id": 1,
"format": "xls",
"headless": true
}binaryErrors
These errors come in addition to the general error codes:
204 - Entity not found, when no report has the given ID.
229 - Requested data is not ready yet, when the report exists but is still generating.
List every generated and in-progress report belonging to the user, with the parameters each was generated from.
percent tells you which are finished without polling each one.
Requires the reports right.
Callable with an empty body. Also accepts GET.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
The reports
true if request finished successfully.
trueBad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error response object
POST /v2/report/tracker/list HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Accept: */*
{
"success": true,
"list": [
{
"id": 1,
"title": "text",
"created": "text",
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"time_filter": {
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"weekdays": [
1
]
},
"percent": 1,
"type": "text",
"parameters": {
"geocoder": "text",
"trackers": [
1
],
"plugins": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"include_places_in_address": true,
"include_zones_in_address": true,
"locale_info": {
"locale": "text",
"time_zone": "text",
"measurement_system": "text"
},
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}
]
}Delete a generated report.
Requires the reports right.
Also accepts GET with the same parameters as query-string values.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
ID of the report to delete.
Report deleted
true if request finished successfully.
trueBad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error 101: the current user has the demo flag, and this operation is disabled in demo mode.
Error response object
POST /v2/report/tracker/delete HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"report_id": 1
}{
"success": true
}Errors
These errors come in addition to the general error codes:
101 - In demo mode this function is disabled.
Last updated
Was this helpful?