For the complete documentation index, see llms.txt. This page is also available as Markdown.

Track

A tracker's movement over a period, as trips with totals, as raw points, or as a KML file.

A track is what a tracker did over a period: where it went, how far, and how fast. These operations return that movement as trips with totals, as the raw points behind them, or as a KML file for a mapping tool.

What comes back from track/list depends on three switches. split decides whether the period is broken into separate trips or returned as one merged track. cluster_single_reports groups one-point trips by coordinate into cluster tracks. filter drops tracks judged too short by length and point count. The type on each track tells you which of those produced it.

These operations take tracker IDs directly. To get the same data for an asset, whose device can change over the period, use asset tracks instead. For a worked example, see how to get track points.

Track object

The object returned in track/list's list. Which fields are present depends on type.

norm_fuel_consumed is present only when a vehicle object is linked to the tracker and has normAvgFuelConsumption defined.

Track totals object

Point object

The point object returned by track/read, and by track/list in each track's points_list.

Whether a point counts as trip or as parking is decided by the Navixy platform's parking detection settings.

API actions

API base path: /track.


The file carries speed and heading as extended data on each placemark:

A request reaching further back than the device's plan retains, six months of data on a plan that stores three, returns JSON instead of a file:

Download track as KML

post
/track/download

Return the tracker's points over a period as a KML or KMZ file, for opening in another mapping application.

The response is the file itself, not a JSON envelope. The one exception is when the tracker's plan does not reach back far enough to cover any of the requested period, in which case a JSON body comes back with limit_exceeded set and an empty list.

Authorizations
AuthorizationstringRequired

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.

Body
tracker_idinteger · min: 1Required

ID of the tracker, also known as the object ID. Must belong to the current account and not be blocked.

fromstringRequired

Start of the period, in YYYY-MM-DD HH:MM:SS format, in the account's timezone.

Example: 2026-08-24 09:00:00
tostringRequired

End of the period, in YYYY-MM-DD HH:MM:SS format. Must be after from.

Example: 2026-08-24 09:00:00
track_idsinteger[]Optional

Optional. Include only these tracks. Omit to include every valid point in the period. No duplicates.

include_gsm_lbsbooleanOptional

Optional. Default true. When false and no track_ids are given, GSM LBS points are excluded.

simplifybooleanOptional

Optional. Default true. Reduce the number of points in the file.

point_limitinteger · min: 2 · max: 3000Optional

Optional. Reduce the result to about this many points. Not a hard limit: the result can hold slightly more. Omit to use the platform's own simplification settings.

filterbooleanOptional

Optional. Default true. Filter the points, which currently affects LBS tracks only.

formatstring · enumOptional

Optional. Default kml. File format.

Possible values:
splitbooleanOptional

Optional. Default false. When true, the file groups tracks into folders split by stops, each with start and end markers.

Responses
200

The track as a KML or KMZ file

stringOptional

The KML document.

post/track/download
POST /v2/track/download HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 185

{
  "tracker_id": 1,
  "from": "2026-08-24 09:00:00",
  "to": "2026-08-24 09:00:00",
  "track_ids": [
    1
  ],
  "include_gsm_lbs": true,
  "simplify": true,
  "point_limit": 1,
  "filter": true,
  "format": "kml",
  "split": true
}
text

Errors

These errors come in addition to the general error codes:

  • 201 - Not found in the database. The tracker ID may match no tracker on the account the session hash belongs to. Check that the tracker_id and the hash belong to the same user.

  • 208 - Device blocked, when the tracker exists on the account but is inactive, whether through tariff restrictions or for another reason.

  • 211 - Requested time span is too big, when the interval between from and to exceeds the maximum the API configuration allows.


List tracks

post
/track/list

Return the tracker's tracks over a period, with totals across all of them.

What comes back depends on three switches. split decides whether the period is broken into separate trips or returned as one merged track. cluster_single_reports groups one-point trips by coordinate into cluster tracks. filter drops tracks judged too short by length and point count.

Points are left out unless with_points is set.

Authorizations
AuthorizationstringRequired

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.

Body
tracker_idinteger · min: 1Required

ID of the tracker, also known as the object ID. Must belong to the current account and not be blocked.

fromstringRequired

Start of the period, in YYYY-MM-DD HH:MM:SS format, in the account's timezone.

Example: 2026-08-24 09:00:00
tostringRequired

End of the period, in YYYY-MM-DD HH:MM:SS format. Must be after from.

Example: 2026-08-24 09:00:00
filterbooleanOptional

Optional. Default true. Drop tracks that are too short by length and number of points.

splitbooleanOptional

Optional. Default true. When false, the whole period is returned as a single merged track.

include_gsm_lbsbooleanOptional

Optional. Default true. When false, GSM LBS points are excluded.

cluster_single_reportsbooleanOptional

Optional. Default false. When true, one-point trips are grouped by coordinate into cluster tracks.

count_eventsbooleanOptional

Optional. Default false. When true, each track that is not a single point carries event_count.

omit_addressesbooleanOptional

Optional. Default false. When true, the address fields come back empty, which is faster.

with_pointsbooleanOptional

Optional. Default false. Include each track's points_list.

point_limitinteger · min: 2 · max: 3000Optional

Optional. Reduce the result to about this many points. Not a hard limit: the result can hold slightly more. Omit to use the platform's own simplification settings.

Responses
200

The tracks

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
limit_exceededbooleanOptional

true when the requested period reaches further back than the tracker's plan allows. The period is silently clipped rather than refused, so a true here means the result covers less than was asked for.

post/track/list
POST /v2/track/list HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 229

{
  "tracker_id": 1,
  "from": "2026-08-24 09:00:00",
  "to": "2026-08-24 09:00:00",
  "filter": true,
  "split": true,
  "include_gsm_lbs": true,
  "cluster_single_reports": true,
  "count_events": true,
  "omit_addresses": true,
  "with_points": true,
  "point_limit": 1
}
{
  "success": true,
  "list": [
    {
      "id": 1,
      "type": "regular",
      "start_date": "text",
      "start_address": "text",
      "end_date": "text",
      "end_address": "text",
      "length": 1,
      "points": 1,
      "max_speed": 1,
      "avg_speed": 1,
      "event_count": 1,
      "norm_fuel_consumed": 1,
      "precision": 1,
      "gsm_lbs": true,
      "points_list": [
        {
          "lat": 1,
          "lng": 1,
          "alt": 1,
          "satellites": 1,
          "mileage": 1,
          "get_time": "text",
          "address": "text",
          "heading": 1,
          "speed": 1,
          "precision": 1,
          "gsm_lbs": true,
          "parking": true,
          "buffered": true
        }
      ],
      "bounds": {
        "nw": {
          "lat": 1,
          "lng": 1
        },
        "se": {
          "lat": 1,
          "lng": 1
        }
      }
    }
  ],
  "limit_exceeded": true,
  "total": {
    "count": 1,
    "length": 1,
    "trip_duration": "text",
    "parking_duration": "text",
    "norm_fuel_consumed": 1
  }
}

Errors

These errors come in addition to the general error codes:

  • 201 - Not found in the database. The tracker ID may match no tracker on the account the session hash belongs to. Check that the tracker_id and the hash belong to the same user.

  • 208 - Device blocked, when the tracker exists on the account but is inactive, whether through tariff restrictions or for another reason.

  • 211 - Requested time span is too big, when the interval between from and to exceeds the maximum the API configuration allows.


Read track points

post
/track/read

Return the individual points a tracker recorded over a period, or the points of one track.

Each point's timestamp is when the tracker recorded it, converted to the account's timezone.

Reachable from a geo-link session as well as an ordinary one.

Authorizations
AuthorizationstringRequired

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.

Body
tracker_idinteger · min: 1Required

ID of the tracker, also known as the object ID. Must belong to the current account and not be blocked.

fromstringRequired

Start of the period, in YYYY-MM-DD HH:MM:SS format, in the account's timezone.

Example: 2026-08-24 09:00:00
tostringRequired

End of the period, in YYYY-MM-DD HH:MM:SS format. Must be after from.

Example: 2026-08-24 09:00:00
track_idinteger · min: 1Optional

Optional. Return only the points of this track. Omit to return every valid point in the period.

include_gsm_lbsbooleanOptional

Optional. Default true. When false and no track_id is given, GSM LBS points are excluded.

simplifybooleanOptional

Optional. Default true. Reduce the number of points returned.

point_limitinteger · min: 2 · max: 3000Optional

Optional. Reduce the result to about this many points. Not a hard limit: the result can hold slightly more. Omit to use the platform's own simplification settings.

filterbooleanOptional

Optional. Default true. Filter the points, which currently affects LBS tracks only. Setting it to false also brings parking points into the result.

Responses
200

The track points

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
limit_exceededbooleanOptional

true when the requested period reaches further back than the tracker's plan allows. The period is silently clipped rather than refused, so a true here means the result covers less than was asked for.

post/track/read
POST /v2/track/read HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 154

{
  "tracker_id": 1,
  "from": "2026-08-24 09:00:00",
  "to": "2026-08-24 09:00:00",
  "track_id": 1,
  "include_gsm_lbs": true,
  "simplify": true,
  "point_limit": 1,
  "filter": true
}
{
  "success": true,
  "list": [
    {
      "lat": 1,
      "lng": 1,
      "alt": 1,
      "satellites": 1,
      "mileage": 1,
      "get_time": "text",
      "address": "text",
      "heading": 1,
      "speed": 1,
      "precision": 1,
      "gsm_lbs": true,
      "parking": true,
      "buffered": true
    }
  ],
  "limit_exceeded": true
}

Errors

These errors come in addition to the general error codes:

  • 201 - Not found in the database. The tracker ID may match no tracker on the account the session hash belongs to. Check that the tracker_id and the hash belong to the same user.

  • 208 - Device blocked, when the tracker exists on the account but is inactive, whether through tariff restrictions or for another reason.

  • 211 - Requested time span is too big, when the interval between from and to exceeds the maximum the API configuration allows.

Visits

track/visit/list answers a different question from the operations above: not where the tracker went, but which of the account's geofences and places it was inside during the period.


List visited geofences and places

post
/track/visit/list

Return the IDs of the geofences and places that contain at least one of the tracker's points in the period.

Both lists come back empty when the account has no geofences and no places, and each is empty when its include_ switch is false.

This call has its own period limit, separate from the one the other track calls use, and it is usually shorter.

Authorizations
AuthorizationstringRequired

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.

Body
tracker_idinteger · min: 1Required

ID of the tracker, also known as the object ID. Must belong to the current account and not be blocked.

fromstringRequired

Start of the period, in YYYY-MM-DD HH:MM:SS format, in the account's timezone.

Example: 2026-08-24 09:00:00
tostringRequired

End of the period, in YYYY-MM-DD HH:MM:SS format. Must be after from.

Example: 2026-08-24 09:00:00
include_zonesbooleanOptional

Optional. Default true. When false, zones comes back empty.

include_placesbooleanOptional

Optional. Default true. When false, places comes back empty.

Responses
200

The visited geofences and places

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/track/visit/list
POST /v2/track/visit/list HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 115

{
  "tracker_id": 1,
  "from": "2026-08-24 09:00:00",
  "to": "2026-08-24 09:00:00",
  "include_zones": true,
  "include_places": true
}
{
  "success": true,
  "value": {
    "zones": [
      1
    ],
    "places": [
      1
    ]
  }
}

Errors

These errors come in addition to the general error codes:

  • 204 - Entity not found. The tracker ID may match no tracker on the account the session hash belongs to. Check that the tracker_id and the hash belong to the same user.

More in this section

Waybill

Endpoint
Method
What it does

POST

Download waybill

Waybill settings

Endpoint
Method
What it does

POST

Read last waybill number

Last updated

Was this helpful?