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

Tracker

API calls to interact with trackers in the admin panel.

API calls to manage GPS tracking devices within the Admin Panel.

A tracker is a device as presented to one owning user. A clone is a second tracker sharing the same underlying device, so two users can see the same device independently. The source is that underlying device, and several operations act on it rather than on the tracker.

Tracker object

source.device_id is the identifier required by the raw command operation, which is the one operation on this page that does not take tracker_id.

API actions

API path: panel/tracker.


required permissions: trackers: "report".

This operation needs the report operation on trackers, which is distinct from read. A dealer granted only read receives error code 13.

List tracker active history

post
/panel/tracker/active/history/list

Report how many trackers were active in each month of a range, with the trackers counted.

from and to are months, formatted YYYY-MM, and both are mandatory. Passing a full date and time fails validation. Note this differs from the user transaction list, which uses the same two parameter names with full YYYY-MM-DD HH:MM:SS values.

Requires the report operation on trackers, which is distinct from read.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
fromstringRequired

First month of the range, as YYYY-MM.

Example: 2026-06Pattern: ^\d{4}-\d{2}$
tostringRequired

Last month of the range, as YYYY-MM.

Example: 2026-08Pattern: ^\d{4}-\d{2}$
Responses
200

Active tracker history

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/active/history/list
POST /v2/panel/tracker/active/history/list HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "from": "2026-06",
  "to": "2026-08"
}
{
  "success": true,
  "list": [
    {
      "month": "2026-07",
      "amount": 1,
      "trackers": [
        {
          "tracker_id": 3234961,
          "user_id": 371356,
          "label": "Courier",
          "device_id": "114038727861"
        }
      ]
    }
  ],
  "users_map": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

from and to are months, written YYYY-MM. A full date and time is rejected. This differs from user/transaction/list, which takes the same two parameter names with full YYYY-MM-DD HH:MM:SS values.


required permissions: trackers: "create".

Clone tracker

post
/panel/tracker/clone

Create a clone of a tracker for another user. A clone shares the source device but appears as a separate tracker to its owner.

The source tracker must not itself be a clone.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
user_idinteger · min: 1Required

ID of the user who will own the clone. Must not be the owner of the source tracker.

Example: 354468
labelstring · min: 1Required

Label for the clone.

Example: Courier
Responses
200

Clone created

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
idintegerRead-onlyOptional

ID of the created clone.

post/panel/tracker/clone
POST /v2/panel/tracker/clone HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "tracker_id": 134537,
  "user_id": 354468,
  "label": "Courier"
}
{
  "success": true,
  "id": 1
}

Errors

  • 219 - Not allowed for clones of the device - when the source tracker is itself a clone.

  • 201 - Not found in the database - when the specified tracker_id is not found.

  • 246 - Invalid user ID - when the user ID matches the owner of the source tracker, or does not exist or belong to the authorized dealer.

  • 247 - Entity already exists - if the destination user already has a clone of this tracker.

  • 252 - Device already corrupted - when the source of the tracker is corrupted.


required permissions: trackers: "update".

Connect tracker console

post
/panel/tracker/console/connect

Open an AirConsole session against a device, returning a key used to attach to the console stream.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
Responses
200

Console session

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
keystringRead-onlyOptional

Session key for the console stream.

Example: 6a21fd30edc46487a59957d407cf3c6436082b89
timestampintegerRead-onlyOptional

Unix timestamp the session was opened.

Example: 1785840045
post/panel/tracker/console/connect
POST /v2/panel/tracker/console/connect HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "tracker_id": 134537
}
{
  "success": true,
  "key": "6a21fd30edc46487a59957d407cf3c6436082b89",
  "timestamp": 1785840045
}

Errors

  • 230 - Not supported for this entity type - when the tracker is deleted or blocked.

  • 201 - Not found in the database - when no tracker has that device_id.

  • 252 - Device already corrupted - when the source of the tracker is corrupted.


required permissions: trackers: "corrupt".

Corrupt tracker

post
/panel/tracker/corrupt

Corrupt a tracker, marking its source device unusable. There is no undo.

By default the clones of the tracker are corrupted too. Leaving corrupt_clones as false while clones exist fails with error code 253.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
corrupt_clonesbooleanOptional

Whether to corrupt the clones of this tracker as well.

Default: true
Responses
200

Successful response

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/corrupt
POST /v2/panel/tracker/corrupt HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 43

{
  "tracker_id": 134537,
  "corrupt_clones": true
}
{
  "success": true
}

Errors

  • 201 - Not found in the database - if the tracker is not found.

  • 219 - Not allowed for clones of the device - if the source tracker is itself a clone.

  • 252 - Device already corrupted.

  • 253 - Device has clones and corrupt_clones is false.


required permissions: trackers: "create".

Batch clone trackers

post
/panel/tracker/batch_clone

Clone many trackers to one user in a single call. At most 1000 trackers per request.

Note the differing limit: batch_delete_clones accepts only 500.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
user_idinteger · min: 1Required

ID of the user who will own the clones.

Example: 998836
tracker_idsinteger[] · min: 1 · max: 1000Required

Trackers to clone. Between 1 and 1000 inclusive.

Example: [134537,458412]
ignore_existingbooleanOptional

When true, trackers the user already has a clone of are skipped instead of failing.

Example: true
Responses
200

Clones created

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/batch_clone
POST /v2/panel/tracker/batch_clone HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 71

{
  "user_id": 998836,
  "tracker_ids": [
    134537,
    458412
  ],
  "ignore_existing": true
}
{
  "success": true,
  "list": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ]
}

Errors

  • 7 - Invalid parameters. Size must be between 1 and 1000 - when the request exceeds 1000 trackers.


required permissions: trackers: "delete".

Batch delete tracker clones

post
/panel/tracker/batch_delete_clones

Delete many clones in one call. At most 500 trackers per request, and the list must not be empty or contain nulls.

Note the differing limit: batch_clone accepts 1000. The Navixy interface exposes a lower limit again, selecting at most 20 at a time.

The response reports counts and, when some could not be deleted, why.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
trackersinteger[] · min: 1 · max: 500Required

Clone IDs to delete. Up to 500, no nulls, must not be empty.

Example: [134537,458412]
Responses
200

Deletion result

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
deleted_countintegerRead-onlyOptional

How many clones were deleted.

not_deleted_countintegerRead-onlyOptional

How many could not be deleted.

post/panel/tracker/batch_delete_clones
POST /v2/panel/tracker/batch_delete_clones HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "trackers": [
    134537,
    458412
  ]
}
{
  "success": true,
  "deleted_count": 1,
  "not_deleted_count": 1,
  "not_deleted_trackers": [
    {
      "id": 1,
      "error": "text"
    }
  ]
}

The limit here is 500, not the 1000 accepted by batch cloning.


required permissions: trackers: "delete".

Delete tracker clone

post
/panel/tracker/delete_clone

Delete a clone. The specified tracker must itself be a clone; deleting a source tracker this way fails with error code 249.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
Responses
200

Successful response

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/delete_clone
POST /v2/panel/tracker/delete_clone HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "tracker_id": 134537
}
{
  "success": true
}

Errors

  • 201 - Not found in the database - if the tracker is not found.

  • 249 - Operation available for clones only - if the specified tracker is not a clone.

  • 203 - Delete entity associated with - if rules or vehicles are associated with the tracker.

  • 252 - Device already corrupted - when the source of the tracker is corrupted.


required permissions: trackers: "read".

List trackers

post
/panel/tracker/list

List the dealer's trackers, with optional filtering by owner, plan, and clone status.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
user_idinteger · min: 1Optional

Optional. Filter to one owner.

tariff_idinteger · min: 1Optional

Optional. Filter to one plan.

clones_filterstringOptional

Optional. Whether to include clones.

filterstringOptional

Optional. Text filter.

order_bystringOptional

Optional. Field to order by.

ascendingbooleanOptionalDefault: true
offsetintegerOptionalDefault: 0
limitintegerOptional
Responses
200

Trackers

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
countintegerRead-onlyOptional

Total matching records, ignoring offset and limit.

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

{
  "user_id": 1,
  "tariff_id": 1,
  "clones_filter": "text",
  "filter": "text",
  "order_by": "text",
  "ascending": true,
  "offset": 0,
  "limit": 1
}
{
  "success": true,
  "list": [
    {
      "id": 3234961,
      "label": "Courier",
      "group_id": 0,
      "user_id": 371356,
      "dealer_id": 28152,
      "owner_name": "User Demo",
      "source": {
        "id": 10336201,
        "device_id": "114038727861",
        "model": "navixymobile_xgps",
        "blocked": false,
        "phone": null,
        "tariff_id": 21967,
        "tariff_end_date": "2026-09-01",
        "connection_status": "active",
        "creation_date": "2024-11-25"
      },
      "model_name": "X-GPS Tracker Android",
      "clone": false,
      "deleted": false,
      "creation_date": "2024-11-25",
      "last_connection": "2026-08-04 10:25:55"
    }
  ],
  "count": 1
}

required permissions: trackers: "create" and trackers: "delete".

Move tracker

post
/panel/tracker/move

Reassign a tracker to a different user of the same dealer. The tracker must not be a clone.

The response returns the new tracker ID. Changing the owner creates a new tracker record, so the ID sent in the request no longer refers to the moved tracker afterwards.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
user_idinteger · min: 1Required

ID of the destination user. Must differ from the current owner and belong to the same dealer.

Example: 214034
Responses
200

Tracker moved

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
idintegerRead-onlyOptional

ID of the tracker after the move. Moving a tracker to another user creates a new tracker ID, so this differs from the tracker_id sent in the request. Use this value for subsequent calls about the moved tracker.

Example: 1245678
post/panel/tracker/move
POST /v2/panel/tracker/move HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "tracker_id": 134537,
  "user_id": 214034
}
{
  "success": true,
  "id": 1245678
}

Errors

  • 219 - Not allowed for clones of the device - when the source tracker is a clone.

  • 201 - Not found in the database - when the tracker is not found.

  • 246 - Invalid user ID - when user_id matches the current owner, or does not exist or belong to the authorized dealer.

  • 247 - Entity already exists - when the destination user already has a clone of this tracker.

  • 252 - Device already corrupted - when the source of the tracker is corrupted.


required permissions: trackers: "read".

Read tracker

post
/panel/tracker/read

Read a single tracker.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
Responses
200

The tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/read
POST /v2/panel/tracker/read HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "tracker_id": 134537
}
{
  "success": true,
  "value": {
    "id": 3234961,
    "label": "Courier",
    "group_id": 0,
    "user_id": 371356,
    "dealer_id": 28152,
    "owner_name": "User Demo",
    "source": {
      "id": 10336201,
      "device_id": "114038727861",
      "model": "navixymobile_xgps",
      "blocked": false,
      "phone": null,
      "tariff_id": 21967,
      "tariff_end_date": "2026-09-01",
      "connection_status": "active",
      "creation_date": "2024-11-25"
    },
    "model_name": "X-GPS Tracker Android",
    "clone": false,
    "deleted": false,
    "creation_date": "2024-11-25",
    "last_connection": "2026-08-04 10:25:55"
  }
}

Errors

  • 201 - Not found in the database - when the tracker is not found.

  • 252 - Device already corrupted - when the source of the tracker is corrupted.


required permissions: trackers: "update".

Retry tracker registration

post
/panel/tracker/register_retry

Retry registration of a device that failed to register.

Rate limited: a second attempt within 120 seconds fails with error code 264. Devices without a GSM module return error code 214.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
send_register_commandsbooleanOptional

Whether to send configuration commands to the device as part of the retry.

Example: true
Responses
200

Successful response

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/register_retry
POST /v2/panel/tracker/register_retry HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "tracker_id": 134537,
  "send_register_commands": true
}
{
  "success": true
}

Errors

  • 201 - Not found in the database - when the tracker is not found.

  • 252 - Device already corrupted - if the tracker is corrupted.

  • 264 - Timeout not reached - if another retry for this tracker was made in the last 120 seconds.

  • 208 - Device blocked - when the tracker exists but was blocked due to plan restrictions or another reason.

  • 219 - Not allowed for clones of the device - when the specified tracker is a clone.

  • 214 - Requested operation or parameters are not supported by the device - when the device has no GSM module.


required permissions: trackers: "update".

Update tracker settings

post
/panel/tracker/settings/update

Update the dealer-editable settings of a tracker.

The settings sit at the top level of the request alongside tracker_id, not nested under a wrapper.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
labelstringOptional

Tracker label.

Example: Courier
deletedbooleanOptional

Whether the tracker is marked deleted.

Example: false
Responses
200

Successful response

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/settings/update
POST /v2/panel/tracker/settings/update HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 55

{
  "tracker_id": 134537,
  "label": "Courier",
  "deleted": false
}
{
  "success": true
}

The settings sit at the top level of the request alongside tracker_id, not nested under a wrapper.

Errors

  • 201 - Not found in the database - when the tracker is not found.

  • 252 - Device already corrupted - when the source of the tracker is corrupted.


required permissions: trackers: "update".

Update tracker source

post
/panel/tracker/source/update

Update the source device behind a tracker, for example to block or unblock it.

Holding trackers: update may not be sufficient: a session with the full trackers permission set was observed to receive 403 code 13 from this operation while every other trackers: update operation succeeded. Something beyond the declared permission gates it.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
blockedbooleanOptional

Whether the source device is blocked.

Example: false
Responses
200

Successful response

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/source/update
POST /v2/panel/tracker/source/update HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 37

{
  "tracker_id": 134537,
  "blocked": false
}
{
  "success": true
}

Errors

  • 201 - Not found in the database - when the tracker is not found.

  • 252 - Device already corrupted - when the source of the tracker is corrupted.


required permissions: trackers: "update" and transactions: "create".

Change tracker plan

post
/panel/tracker/tariff/change

Move a tracker to a different plan, optionally charging or repaying immediately.

This operation has billing consequences: it can create a transaction against the user's balance.

The new plan must have a device limit at least as large as the tracker count of the owning user, otherwise error code 221 is returned.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
tracker_idinteger · min: 1Required

Tracker ID. Must belong to the current dealer.

Example: 134537
tariff_idinteger · min: 1Required

ID of the destination plan.

Example: 15843
repaybooleanRequired

Whether to repay the unused remainder of the current plan.

Example: false
chargebooleanRequired

Whether to charge for the new plan immediately.

Example: true
Responses
200

Successful response

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/tariff/change
POST /v2/panel/tracker/tariff/change HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 67

{
  "tracker_id": 134537,
  "tariff_id": 15843,
  "repay": false,
  "charge": true
}
{
  "success": true
}

Errors

  • 221 - Device limit exceeded - when the device limit of the new plan is lower than the tracker count of the user.

  • 252 - Device already corrupted - when the source of the tracker is corrupted.


required permissions: trackers: "update".

Send raw command

post
/panel/tracker/raw_command/send

Send a raw protocol command to a device.

This operation identifies the device by device_id, not tracker_id, unlike every other operation on this resource. device_id is the identifier on the source object of a tracker. Sending tracker_id instead fails validation.

Authorizations
AuthorizationstringRequired

Enter the panel session hash with the "NVX " prefix, e.g. "NVX fa7bf873fab9333144e171372a321b06". Obtain the hash from the accountAuth operation.

Body
device_idstringRequired

Device identifier, taken from source.device_id on the tracker.

Example: 114038727861
commandstringRequired

Raw command text, in whatever form the device protocol expects.

Example: STATUS#
typestringOptional

Command type.

Responses
200

Successful response

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
post/panel/tracker/raw_command/send
POST /v2/panel/tracker/raw_command/send HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 62

{
  "device_id": "114038727861",
  "command": "STATUS#",
  "type": "text"
}
{
  "success": true
}

This is the only operation on this page that identifies the device by device_id rather than tracker_id. Take the value from source.device_id on the tracker.

Errors

  • 7 - Invalid parameters.

  • 201 - Not found in the database - if no tracker with that device ID belongs to the authorized dealer.

  • 252 - Device already corrupted - if the source of the tracker is corrupted.

Last updated

Was this helpful?