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

Tracker

The device registered in the Navixy platform, and the operations that register, read, configure, and command it.

A tracker is a device registered in the Navixy platform: the physical unit fitted to a vehicle or carried by a person, together with everything the platform knows about it. It is the central entity of this API, and most other resources hang off it.

The operations here cover the tracker as a whole. Registering one and replacing its hardware, reading its current state and last readings, sending commands to it, and deleting it. Everything narrower lives on its own page: sensors, counters, rules, settings, groups, and the rest of this section.

Tracker object structure

Tracker output info

Tracker input types

A discrete input on a tracker carries one of these types:

  • ignition - the vehicle's ignition. A tracker can have only one sensor of this type.

  • engine - the engine's working status.

  • mass - the vehicle's ground.

  • car_alarm - expected to be on when the car alarm has triggered.

  • sos_button - an emergency red button.

  • hood - on when the engine hood is open.

  • door - on when a door is open.

  • car_lock - on when the central lock is open.

  • custom - a user-defined type. It should normally carry a non-empty name.

API actions

API base path: /tracker.

Operations that list no errors of their own return only the general error codes.


Read one tracker

post
/tracker/read

Get a tracker by ID. Reachable from a geo link session as well as a normal 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_idintegerRequired

ID of the tracker, also known as the object ID. Must belong to the current account. A blocked tracker is accepted here, unlike most operations taking a tracker ID.

Example: 123456
Responses
200

The tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456
}
{
  "success": true,
  "value": {
    "id": 123456,
    "label": "tracker label",
    "clone": true,
    "group_id": 167,
    "avatar_file_name": "text",
    "source": {
      "id": 234567,
      "device_id": "9999999988888",
      "model": "telfmb920",
      "blocked": true,
      "tariff_id": 345678,
      "status_listing_id": null,
      "creation_date": "2011-09-21",
      "tariff_end_date": null,
      "phone": null
    },
    "tag_bindings": [
      {
        "tag_id": 456789,
        "ordinal": 4
      }
    ]
  }
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.


This call is walked through in how to get a list of GPS trackers.

List trackers

post
/tracker/list

Get the account's trackers, optionally filtered by label. This is the only call that returns tag_bindings on every tracker. Reachable from a geo link session as well as a normal 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
labelsstring[] · min: 1 · max: 1024Optional

Optional. Label filters. A tracker is returned when its label contains any one of them, so ["aa", "b"] matches labels aa1 and bb2. Between 1 and 1024 entries, no nulls and no duplicates, each 1 to 60 characters.

Example: ["aa","b"]
Responses
200

The account's trackers

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "labels": [
    "aa",
    "b"
  ]
}
{
  "success": true,
  "list": [
    {
      "id": 123456,
      "label": "tracker label",
      "clone": true,
      "group_id": 167,
      "avatar_file_name": "text",
      "source": {
        "id": 234567,
        "device_id": "9999999988888",
        "model": "telfmb920",
        "blocked": true,
        "tariff_id": 345678,
        "status_listing_id": null,
        "creation_date": "2011-09-21",
        "tariff_end_date": null,
        "phone": null
      },
      "tag_bindings": [
        {
          "tag_id": 456789,
          "ordinal": 4
        }
      ]
    }
  ]
}

Required sub-user rights: tracker_register.

Corrupt a tracker

post
/tracker/corrupt

Mark a tracker deleted and corrupt its source, device ID and phone, freeing that device ID and phone number for reuse.

This is not reversible. The tracker must not be currently connected to the server.

Requires the tracker_register right.

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_idintegerRequired

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

Example: 123456
Responses
200

The tracker was corrupted

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456
}
{
  "success": true
}

Errors

These errors come in addition to the general error codes:

  • 13 - The tracker is already connected to the server, or the user lacks the right.

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.

  • 219 - The tracker is itself a clone.

  • 243 - The device is already connected.

  • 252 - The device is already corrupted.


Required sub-user rights: admin, available only to master users.

Delete a clone

post
/tracker/delete

Delete a tracker, but only when it is a clone. Passing the ID of an original tracker fails with error 249; use tracker/corrupt for those.

Error 203 carries the blocking references in the response body, as a rules or vehicles array of IDs. Read it to find what to detach first.

Requires the admin right.

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_idintegerRequired

ID of the tracker, also known as the object ID. Must belong to the current account. A blocked tracker is accepted here, unlike most operations taking a tracker ID.

Example: 123456
Responses
200

The clone was deleted

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456
}
{
  "success": true
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 249 - The tracker is not a clone. This call deletes clones only.

  • 203 - Delete entity associated with. The response body carries the blocking references, so a caller can detach them and retry:

or

rules lists the associated rule IDs and vehicles the associated vehicle IDs.


Required sub-user rights: tracker_configure.

Change the SIM phone and APN

post
/tracker/change_phone

Change the phone number of the SIM in the device and set the matching APN.

Requires the tracker_configure right.

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_idintegerRequired

ID of the tracker, also known as the object ID. Must belong to the current account. A blocked tracker is accepted here, unlike most operations taking a tracker ID.

Example: 123456
phonestringRequired

Phone number of the SIM, in international format without a leading +.

Example: 6156680000
apn_namestring · max: 40Optional

GPRS APN name for the SIM.

Example: fast.tmobile.com
apn_userstring · max: 40Optional

GPRS APN user. May be empty.

Example: tmobile
apn_passwordstring · max: 40Optional

GPRS APN password. May be empty.

Example: tmobile
Responses
200

The phone and APN were changed

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "phone": "6156680000",
  "apn_name": "fast.tmobile.com",
  "apn_user": "tmobile",
  "apn_password": "tmobile"
}
{
  "success": true
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.

  • 214 - The device has no GSM module.

  • 219 - The tracker is a clone.

  • 223 - The phone number is already used by another device.

  • 241 - The number belongs to a SIM bundled with the device, which cannot be changed here.


Read CAN and OBD values

post
/tracker/get_diagnostics

Get the last CAN and OBD sensor readings and state values received from the device. Available to demo accounts.

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_idintegerRequired

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

Example: 123456
Responses
200

The diagnostic readings

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
user_timestringOptional

Current time in the account timezone.

statesobject · nullableOptional

Last state values, keyed by state name, or null. The value types differ per state.

update_timestringOptional

When this data was last updated.

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

{
  "tracker_id": 123456
}
{
  "success": true,
  "user_time": "text",
  "inputs": [
    {
      "label": "Sensor #1",
      "name": "can_fuel",
      "type": "fuel",
      "value": 100,
      "units_type": "litre",
      "units": "litres",
      "converted_units_type": null,
      "converted_value": null
    }
  ],
  "states": null,
  "update_time": "text"
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.

Input names

These can appear in inputs:

  • obd_consumption

  • obd_rpm

  • obd_fuel

  • obd_coolant_t

  • obd_intake_air_t

  • obd_throttle

  • obd_speed

  • obd_engine_load

  • obd_absolute_load_value (normalised air mass per intake stroke, in percent)

  • obd_control_module_voltage (in volts)

  • obd_time_since_engine_start (run time since engine start, in seconds)

  • obd_mil_run_time (in minutes)

  • can_engine_temp

  • can_engine_hours

  • can_mileage

  • can_throttle

  • can_consumption

  • can_rpm

  • can_speed

  • can_r_prefix

  • can_coolant_t

  • can_intake_air_t

  • can_engine_load

  • can_adblue_level

  • can_fuel_rate (instant fuel consumption, in litres per hour)

  • raw_can_x, where x is 1 to 16

  • can_axle_load_x, where x is 1 to 15

State names

These can appear in states:

  • obd_vin (string)

  • obd_dtc_number (integer, the number of DTC codes)

  • obd_dtc_codes (string, the DTC codes)

  • obd_dtc_cleared_distance (double, distance travelled since codes were cleared, in km)

  • obd_mil_activated_distance (double, distance travelled with MIL on, in km)

  • hardware_key (string, driver identification key)

  • external_power_state (string, connected or disconnected)

  • driver_ident_state (string, identified or not identified)

  • tacho_vin (string)

  • tacho_card1_sn (string)

  • tacho_card2_sn (string)

  • tacho_vin_last_download (string)

  • tacho_card1_last_download (string)

  • tacho_card2_last_download (string)

  • can_hood_state (string, 0 for close or 1 for open)

  • can_airbag_state (string, 0 for normal or 1 for malfunction)

  • can_trunk_state (string, 0 for close or 1 for open)

  • can_seat_belt_driver_state (string, 0 for untied or 1 for tied)

  • can_seat_belt_passenger_state (string, 0 for untied or 1 for tied)

  • can_door_state (string, 0 for close or 1 for open)

  • can_door_driver_state (string, 0 for close or 1 for open)

  • can_door_passenger_state (string, 0 for close or 1 for open)

Every input, state, and definition can also be looked up with tracker/sensor/input_name/list.


Read fuel level

post
/tracker/get_fuel

Get the current fuel level of the tracker's tanks, from its fuel-related sensors. Available to demo accounts.

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_idintegerRequired

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

Example: 123456
Responses
200

The fuel readings

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
user_timestringOptional

Current time in the account timezone.

update_timestring · nullableOptional

When this data was last updated. Null when the tracker has no readings of this kind.

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

{
  "tracker_id": 123456
}
{
  "success": true,
  "user_time": "text",
  "inputs": [
    {
      "label": "Sensor #1",
      "name": "can_fuel",
      "type": "fuel",
      "value": 100,
      "units_type": "litre",
      "units": "litres",
      "converted_units_type": null,
      "converted_value": null
    }
  ],
  "update_time": null
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.

Input names

These can appear in inputs:

  • fuel_level

  • fuel_frequency

  • lls_level_x, where x is 1 to 16

  • fuel_consumption

  • rs232_x, where x is 1 to 6

  • can_fuel (fuel level in percent or in unknown units)

  • can_fuel_2 (fuel level in percent or in unknown units)

  • can_fuel_litres (fuel level in litres)

  • can_fuel_economy (fuel economy in km per litre)


Read digital inputs

post
/tracker/get_inputs

Get the current state of a tracker's digital inputs, and of any semantic inputs bound to them, such as ignition, buttons or car alarms. Available to demo accounts.

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_idintegerRequired

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

Example: 123456
Responses
200

The input state

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
user_timestringOptional

Current time in the account timezone.

inputsboolean[]Optional

State of every digital input. [true, true, false] means inputs 1 and 2 are on and input 3 is off.

update_timestringOptional

When this data was last updated.

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

{
  "tracker_id": 123456
}
{
  "success": true,
  "user_time": "text",
  "inputs": [
    true
  ],
  "states": [
    {
      "type": "ignition",
      "name": null,
      "status": true,
      "input_number": 1
    }
  ],
  "update_time": "text"
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.


Read digital inputs for several trackers

post
/tracker/batch_get_inputs

The many-tracker form of tracker/get_inputs. Available to demo accounts.

trackers is optional: omitting it returns every tracker on the account.

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
trackersinteger[]Optional

Optional. Tracker IDs. Omit for every tracker on the account.

Example: [999199,999919]
Responses
200

Input state per tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
user_timestringOptional

Current time in the account timezone.

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

{
  "trackers": [
    999199,
    999919
  ]
}
{
  "success": true,
  "user_time": "text",
  "data": {
    "ANY_ADDITIONAL_PROPERTY": {
      "inputs": [
        true
      ],
      "states": [
        {
          "type": "ignition",
          "name": null,
          "status": true,
          "input_number": 1
        }
      ],
      "update_time": "2021-05-20 13:48:02"
    }
  }
}

Errors

These errors come in addition to the general error codes:

  • 217 - One of the listed trackers does not exist or is blocked.

  • 221 - Too many IDs were passed.


Read outputs

post
/tracker/get_outputs

Get a tracker's outputs and their user-defined names. Available to demo accounts.

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_idintegerRequired

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

Example: 123456
Responses
200

The outputs

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456
}
{
  "success": true,
  "result": [
    {
      "number": 1,
      "title": "OUT1"
    }
  ]
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.


Read outputs for several trackers

post
/tracker/batch_get_outputs

The many-tracker form of tracker/get_outputs. Available to demo accounts.

trackers is optional: omitting it returns every tracker on the account.

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
trackersinteger[]Optional

Optional. Tracker IDs. Omit for every tracker on the account.

Example: [999199,999919]
Responses
200

Outputs per tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "trackers": [
    999199,
    999919
  ]
}
{
  "success": true,
  "result": {
    "ANY_ADDITIONAL_PROPERTY": [
      {
        "number": 1,
        "title": "OUT1"
      }
    ]
  }
}

Errors

These errors come in addition to the general error codes:

  • 217 - One of the listed trackers does not exist or is blocked.

  • 221 - Too many IDs were passed.


Required sub-user rights: tracker_update.

Rename an output

post
/tracker/output/update

Change the user-defined name of one output. This renames it only; it does not switch the output on or off.

Requires the tracker_update right.

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_idintegerRequired

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

Example: 123456
Responses
200

The output was renamed

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "tracker_output": {
    "number": 1,
    "title": "OUT1"
  }
}
{
  "success": true
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.


Read the last GPS point

post
/tracker/get_last_gps_point

Get the tracker's last point fixed by GPS. Points located by GSM LBS are excluded, so this can be older than the position in tracker/get_state. Reachable from a geo link session as well as a normal 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_idintegerRequired

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

Example: 123456
Responses
200

The last GPS point

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456
}
{
  "success": true,
  "value": {
    "get_time": "text",
    "heading": 1,
    "lat": 1,
    "lng": 1,
    "satellites": 1,
    "speed": 1,
    "precision": 1
  }
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.


Search tracker location

post
/tracker/search_location

Reverse geocoding for a tracker: return the address at its current GPS position. Same parameters and response as geocoder/search_location, with tracker_id in place of the coordinates. Reachable from a geo link session as well as a normal one.

From a geo link session geocoder and goal are ignored: the account's geocoder is used, and a position outside the link's bounding zones counts as no position, the same rule as tracker/get_last_gps_point.

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_idintegerRequired

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

Example: 123456
geocoderstring · enumOptional

Optional. Preferred geocoder. Accounts with premium GIS always use Google regardless of this value. Ignored from a geo link session.

Possible values:
langstring · max: 5Optional

Optional. ISO 639 language code for the result, at most 5 characters, for example en or en_US. Defaults to the session language.

with_detailsbooleanOptional

Optional. Default false. Include the parsed details object in the response.

goalstring · enumOptional

Optional. Default ui. What the lookup is for, which decides the geocoder chosen. Use ui_user_action for a lookup a user asked for directly, ui otherwise. An unrecognised value is silently treated as ui. Ignored from a geo link session.

Possible values:
Responses
200

The address

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
valuestringOptional

The address at the tracker's current position.

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

{
  "tracker_id": 123456,
  "geocoder": "google",
  "lang": "text",
  "with_details": true,
  "goal": "ui"
}
{
  "success": true,
  "value": "text",
  "details": {
    "country": "text",
    "province": "text",
    "locality": "text",
    "street": "text",
    "house": "text",
    "postcode": "text",
    "bounds": {
      "nw": {
        "lat": 1,
        "lng": 1
      },
      "se": {
        "lat": 1,
        "lng": 1
      }
    }
  }
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account, or the tracker has no valid GPS position yet.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.


Read general sensor values

post
/tracker/get_readings

Get the last values of the tracker's metering sensors, excluding CAN and OBD sensors and fuel sensors. Use tracker/get_fuel for fuel and tracker/get_diagnostics for CAN and OBD. Available to demo accounts.

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_idintegerRequired

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

Example: 123456
Responses
200

The sensor readings

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
user_timestringOptional

Current time in the account timezone.

update_timestring · nullableOptional

When this data was last updated. Null when the tracker has no readings of this kind.

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

{
  "tracker_id": 123456
}
{
  "success": true,
  "user_time": "text",
  "inputs": [
    {
      "label": "Sensor #1",
      "name": "can_fuel",
      "type": "fuel",
      "value": 100,
      "units_type": "litre",
      "units": "litres",
      "converted_units_type": null,
      "converted_value": null
    }
  ],
  "update_time": null
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.

Input names

These can appear in inputs:

  • composite

  • input_status

  • analog_x, where x is 1 to 8

  • freq_x, where x is 1 to 8

  • impulse_counter_x, where x is 1 to 8

  • fuel_temperature

  • lls_temperature_x, where x is 1 to 16

  • rs232_x, where x is 1 to 6

  • board_voltage

  • temp_sensor

  • ext_temp_sensor_x, where x is 1 to 10


Read tracker state

post
/tracker/get_state

Get the current state of one tracker: GPS, GSM, inputs, outputs, battery and movement. Reachable from a geo link or delivery session as well as a normal 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_idintegerRequired

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

Example: 123456
Responses
200

The tracker state

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
user_timestringOptional

Current time in the account timezone.

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

{
  "tracker_id": 123456
}
{
  "success": true,
  "user_time": "text",
  "state": {
    "source_id": 545139,
    "gps": {
      "updated": null,
      "signal_level": null,
      "location": {
        "lat": 1,
        "lng": 1
      },
      "heading": 1,
      "speed": 1,
      "alt": 1,
      "precision": 1,
      "gsm_lbs": true
    },
    "connection_status": "signal_lost",
    "movement_status": "moving",
    "movement_status_update": null,
    "ignition": true,
    "ignition_update": "text",
    "gsm": {
      "updated": null,
      "signal_level": null,
      "network_name": null,
      "roaming": null
    },
    "last_update": null,
    "battery_level": null,
    "battery_update": null,
    "inputs": [
      true
    ],
    "inputs_update": null,
    "outputs": [
      true
    ],
    "outputs_update": null,
    "additional": {
      "ANY_ADDITIONAL_PROPERTY": {
        "value": "text",
        "updated": "text"
      }
    },
    "actual_track_update": null
  }
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.


Read the state of several trackers

post
/tracker/get_states

Get current state for many trackers at once. Reachable from a geo link session as well as a normal one.

trackers is optional: omitting it returns every tracker on the account. At most 2,000 per request, so split larger fleets across calls.

By default a single blocked or missing tracker fails the whole call. list_blocked and allow_not_exist turn those into blocked and not_exist arrays alongside the results, which is almost always what a fleet-wide caller wants.

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
trackersinteger[] · max: 2000Optional

Optional. Tracker IDs. Omit for every tracker on the account. At most 2,000.

Example: [999119,999199]
list_blockedbooleanOptional

Optional. Default false. Return blocked tracker IDs in blocked instead of failing with error 208.

allow_not_existbooleanOptional

Optional. Default false. Return unknown tracker IDs in not_exist instead of failing with error 217 or 201.

Responses
200

The tracker states

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

Example: true
user_timestringOptional

Current time in the account timezone.

blockedinteger[]Optional

Blocked tracker IDs. Returned only when list_blocked is true.

not_existinteger[]Optional

Unknown tracker IDs. Returned only when allow_not_exist is true.

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

{
  "trackers": [
    999119,
    999199
  ],
  "list_blocked": true,
  "allow_not_exist": true
}
{
  "success": true,
  "user_time": "text",
  "states": {
    "ANY_ADDITIONAL_PROPERTY": {
      "source_id": 545139,
      "gps": {
        "updated": null,
        "signal_level": null,
        "location": {
          "lat": 1,
          "lng": 1
        },
        "heading": 1,
        "speed": 1,
        "alt": 1,
        "precision": 1,
        "gsm_lbs": true
      },
      "connection_status": "signal_lost",
      "movement_status": "moving",
      "movement_status_update": null,
      "ignition": true,
      "ignition_update": "text",
      "gsm": {
        "updated": null,
        "signal_level": null,
        "network_name": null,
        "roaming": null
      },
      "last_update": null,
      "battery_level": null,
      "battery_update": null,
      "inputs": [
        true
      ],
      "inputs_update": null,
      "outputs": [
        true
      ],
      "outputs_update": null,
      "additional": {
        "ANY_ADDITIONAL_PROPERTY": {
          "value": "text",
          "updated": "text"
        }
      },
      "actual_track_update": null
    }
  },
  "blocked": [
    1
  ],
  "not_exist": [
    1
  ]
}

Errors

These errors come in addition to the general error codes:

  • 201 - A tracker is corrupted and allow_not_exist is false.

  • 208 - A tracker is blocked and list_blocked is false.

  • 217 - The list names trackers that do not exist and allow_not_exist is false.


List tracker models

post
/tracker/list_models

Get every integrated tracker model. Available to demo accounts.

The list is large, around 1,800 models, so use codes when you already know which ones you want.

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
compact_viewbooleanOptional

Optional. Default false. Return a reduced view of each model.

compact_indexbooleanOptionalDeprecated

Optional. Default false, and deprecated. Compact the indexed inputs, returning only the input with the highest index.

codesstring[]Optional

Optional. Model codes. When given, only those models are returned.

Example: ["navixy_ngp"]
Responses
200

The integrated models

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "compact_view": true,
  "codes": [
    "navixy_ngp"
  ]
}
{
  "success": true,
  "list": [
    {
      "id": 2450,
      "vendor": "Navixy",
      "code": "navixy_ngp",
      "parent_code": null,
      "type": "logger",
      "name": "Navixy Generic Protocol",
      "id_type": "ascii,6,64",
      "id_namespace": "text",
      "has_phone": true,
      "has_apn_settings": true,
      "register": true,
      "has_auto_registration": true,
      "check_bundle": true,
      "port": null,
      "battery": {
        "min_charge": 1,
        "low_charge": 1,
        "max_charge": 1
      },
      "altitude": true,
      "satellites": true,
      "gsm_level": true,
      "gsm_network": true,
      "gsm_roaming": true,
      "has_detach_button": true,
      "has_fuel_input": true,
      "analog_inputs": 1,
      "digital_inputs": 1,
      "digital_outputs": 1,
      "rs232_inputs": 1,
      "track_control": "none",
      "output_control": "none",
      "special_control": "none",
      "multimedia": true,
      "rules": [
        "text"
      ],
      "inputs": [
        "text"
      ],
      "state_fields": [
        "text"
      ],
      "special_settings": [
        "text"
      ],
      "sms_control": [
        "text"
      ],
      "connection": [
        {
          "protocol": "NGP",
          "transport": "MQTTS",
          "url": "text",
          "description": "text"
        }
      ],
      "has_led_control": true,
      "has_location_request": true,
      "has_gprs_location_request": true,
      "has_gsm_lbs_location_request": true,
      "has_chat": true,
      "has_custom_fields": true,
      "has_odometer": true,
      "has_lbs": true,
      "has_motion_sensor": true,
      "has_hardware_key": true,
      "additional_fields": [
        {}
      ]
    }
  ]
}

A model's has_custom_fields flag matters when configuring measurement: when it is true the protocol transmits field names, which is what allows a custom input_name to be set on the tracker's sensors.

ID type

An ID type says what identifier a model uses, which is what tracker/register needs in order to register the device.

Possible values are:

  • imei - the device uses its IMEI, for example 356938035643809. See the IMEI article on Wikipedia. Pass digits only, with no spaces or hyphens.

  • meid - the device uses a MEID of 14 hexadecimal digits, for example A10000009296F2. See the MEID article on Wikipedia.

  • id,n - the device uses an n-digit factory identifier. For example id,7 means a 7-digit number such as 1234567.

  • n,m - an n-digit generated identifier starting with m. The device has a configurable ID that the platform generates and configures itself, so no identifier is passed at registration.

  • ascii,min,max - the device uses a text identifier of Latin letters, digits, and hyphens, for example fleet-sensor-0042. The two numbers are the minimum and maximum accepted length in characters, so ascii,12,17 means 12 to 17 characters. Punctuation, underscores, spaces, and non-Latin characters are rejected.


Required sub-user rights: tracker_update.

Set a tracker's tags

post
/tracker/tags/set

Replace the set of tags attached to a tracker. The tags must already exist.

Requires the tracker_update right.

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_idintegerRequired

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

Example: 123456
Responses
200

The tags were set

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "tag_bindings": [
    {
      "tag_id": 456789,
      "ordinal": 4
    }
  ]
}
{
  "success": true
}

Request the current location

post
/tracker/location_request

Ask the device for its current position. The model must support the requested method, which tracker/list_models reports as has_location_request, has_gprs_location_request and has_gsm_lbs_location_request.

The sms method sends an SMS and therefore needs an SMS gateway installed for the panel; it may also cost money. The gsm and gprs methods need the device online or in the GPS not updated state.

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_idintegerRequired

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

Example: 123456
typestring · enumOptional

Optional. Default sms. How to ask: sms for GNSS data over SMS, gsm for GSM LBS data over GPRS, gprs for GNSS data over GPRS.

Possible values:
Responses
200

The request was sent

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "type": "sms"
}
{
  "success": true
}

Errors

These errors come in addition to the general error codes:

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.

  • 213 - The device is offline.

  • 214 - The device does not support this request type.

  • 256 - The location is already current.


Required sub-user rights: tracker_register.

Registration is walked through in how to activate a device.

group_id must name a group that exists. List them with group/list, or pass 0 for no group.

Because of the variety of tracker models and business applications, there are different ways to register a tracker. They are called registration plugins, and each has its own set of additional parameters. Alongside the parameters the operation lists, pass everything the plugin you chose requires.

Register a tracker

post
/tracker/register

Register a new device and link it to the current account, configuring it to send data to the platform where the model supports that. The panel must have an SMS gateway installed.

Registration plugins matter. Each plugin has its own extra parameters, and you must send those alongside the ones below. commons/plugin lists them. A Queclink registered through plugin 37, for example, also needs phone, apn_name, apn_user, apn_password and activation_code.

device_id is validated in two stages, both returning error 7. First a general character and length check, reported as must match "^[0-9a-zA-Z\-]{1,64}$", which rejects underscores, spaces, punctuation and non-latin characters. Then the length range the model's id_type requires. Read the range from the error message rather than from the model metadata, which can be wider: models declaring ascii,6,64 reject anything over 32 characters.

Requires the tracker_register right.

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
labelstring · min: 1 · max: 60Required

User-defined label. Printable characters, 1 to 60.

Example: Courier
group_idintegerRequired

Tracker group ID, or 0 for no group. The group must exist.

modelstringRequired

Code of a supported model, from tracker/list_models.

Example: qlgv55lite
plugin_idintegerRequired

ID of the registration plugin to use.

Example: 37
device_idstringOptional

Required when the model uses a fixed device ID. The accepted format and length follow the model's id_type.

Example: 123451234512346
send_register_commandsboolean · nullableOptional

Optional. Default null, meaning follow the platform setting. Whether to send activation commands to the device over SMS or GPRS.

Other propertiesanyOptional
Responses
200

The registered tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "label": "Courier",
  "group_id": 0,
  "model": "qlgv55lite",
  "plugin_id": 37,
  "device_id": "123451234512346",
  "send_register_commands": null,
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
{
  "success": true,
  "value": {
    "id": 123456,
    "label": "tracker label",
    "clone": true,
    "group_id": 167,
    "avatar_file_name": "text",
    "source": {
      "id": 234567,
      "device_id": "9999999988888",
      "model": "telfmb920",
      "blocked": true,
      "tariff_id": 345678,
      "status_listing_id": null,
      "creation_date": "2011-09-21",
      "tariff_end_date": null,
      "phone": null
    },
    "tag_bindings": [
      {
        "tag_id": 456789,
        "ordinal": 4
      }
    ]
  }
}

Registering a Queclink GV55Lite through plugin 37 into the default group, with the device identified by IMEI, also needs phone, apn_name, apn_user, apn_password, and activation_code, because that plugin requires them:

Errors

These errors come in addition to the general error codes:

  • 7 - Invalid parameters. A rejected device ID names the offending parameter and the rule it broke:


Required sub-user rights: tracker_register.

Resend registration commands

post
/tracker/register_retry

Resend the registration commands to a device that did not come online. The panel must have an SMS gateway installed.

Only tracker_id is required: the APN fields are optional and change the stored APN when sent.

Requires the tracker_register right.

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_idintegerRequired

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

Example: 123456
device_idstringOptional

Optional. The device ID used at registration, such as the IMEI. Usable instead of tracker_id for models with a fixed ID.

Example: 4568005588562
apn_namestring · max: 40Optional

Optional. GPRS APN name for the SIM.

Example: fast.tmobile.com
apn_userstring · max: 40Optional

Optional. GPRS APN user. May be empty.

apn_passwordstring · max: 40Optional

Optional. GPRS APN password. May be empty.

send_register_commandsboolean · nullableOptional

Optional. Default null, meaning follow the platform setting.

Responses
200

The tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "device_id": "4568005588562",
  "apn_name": "fast.tmobile.com",
  "apn_user": "text",
  "apn_password": "text",
  "send_register_commands": null
}
{
  "success": true,
  "value": {
    "id": 123456,
    "label": "tracker label",
    "clone": true,
    "group_id": 167,
    "avatar_file_name": "text",
    "source": {
      "id": 234567,
      "device_id": "9999999988888",
      "model": "telfmb920",
      "blocked": true,
      "tariff_id": 345678,
      "status_listing_id": null,
      "creation_date": "2011-09-21",
      "tariff_end_date": null,
      "phone": null
    },
    "tag_bindings": [
      {
        "tag_id": 456789,
        "ordinal": 4
      }
    ]
  }
}

Errors

These errors come in addition to the general error codes:

  • 13 - The user lacks the right.

  • 201 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.

  • 214 - The device has no GSM module.

  • 219 - The tracker is a clone.

  • 242 - The device is already connected.


Required sub-user rights: tracker_register.

Register a preconfigured device by IMEI

post
/tracker/register_quick

Register a new device using only its IMEI. No activation commands are sent, so the device must already be configured. Bundles only.

Requires the tracker_register right.

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
labelstring · min: 1 · max: 60Required

User-defined label. Printable characters, 1 to 60.

Example: Courier
group_idintegerRequired

Tracker group ID, or 0 for no group. The group must exist.

imeistringRequired

IMEI of the device.

Example: 35645587458999
Responses
200

The registered tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "label": "Courier",
  "group_id": 0,
  "imei": "35645587458999"
}
{
  "success": true,
  "value": {
    "id": 123456,
    "label": "tracker label",
    "clone": true,
    "group_id": 167,
    "avatar_file_name": "text",
    "source": {
      "id": 234567,
      "device_id": "9999999988888",
      "model": "telfmb920",
      "blocked": true,
      "tariff_id": 345678,
      "status_listing_id": null,
      "creation_date": "2011-09-21",
      "tariff_end_date": null,
      "phone": null
    },
    "tag_bindings": [
      {
        "tag_id": 456789,
        "ordinal": 4
      }
    ]
  }
}

Errors

These errors come in addition to the general error codes:

  • 13 - The user lacks the right.

  • 201 - No bundle with this IMEI.

  • 204 - The group does not exist.

  • 220 - Unknown device model.

  • 221 - The dealer's device limit is exceeded.

  • 222 - The plugin was not found or does not support this model.

  • 223 - The phone number is already in use.

  • 224 - The device ID is already registered.

  • 225 - The tariff is not compatible with the account's legal type.

  • 226 - Unknown ICCID.

  • 227 - The activation code is unknown or already used.


Required sub-user rights: tracker_configure.

Replacement uses the same registration plugins as registration, so pass whatever extra parameters your plugin requires alongside the ones the operation lists. An activation code is not used when replacing a device.

Replace the device behind a tracker

post
/tracker/replace

Swap in a new device while keeping the tracker's history, and optionally its sensors and rules.

As with registration, the chosen plugin brings its own extra parameters that must be sent alongside these. An activation code is not used when replacing.

Requires the tracker_configure right.

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_idintegerRequired

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

Example: 123456
modelstringRequired

Code of a supported model, from tracker/list_models.

Example: qlgv55lite
plugin_idintegerRequired

ID of the registration plugin to use.

Example: 37
device_idstringOptional

Required when the model uses a fixed device ID.

Example: 123451234512346
send_register_commandsboolean · nullableOptional

Optional. Default null, meaning follow the platform setting.

Other propertiesanyOptional
Responses
200

The replaced tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "model": "qlgv55lite",
  "plugin_id": 37,
  "device_id": "123451234512346",
  "send_register_commands": null,
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
{
  "success": true,
  "value": {
    "id": 123456,
    "label": "tracker label",
    "clone": true,
    "group_id": 167,
    "avatar_file_name": "text",
    "source": {
      "id": 234567,
      "device_id": "9999999988888",
      "model": "telfmb920",
      "blocked": true,
      "tariff_id": 345678,
      "status_listing_id": null,
      "creation_date": "2011-09-21",
      "tariff_end_date": null,
      "phone": null
    },
    "tag_bindings": [
      {
        "tag_id": 456789,
        "ordinal": 4
      }
    ]
  }
}

Errors

These errors come in addition to the general error codes:

  • 13 - The user lacks the right.

  • 204 - The group does not exist.

  • 220 - Unknown device model.

  • 221 - The dealer's device limit is exceeded.

  • 222 - The plugin was not found or does not support this model.

  • 223 - The phone number is already in use.

  • 224 - The device ID is already registered.

  • 225 - The tariff is not compatible with the account's legal type.

  • 226 - Unknown ICCID, plugin specific.

  • 258 - No bundle for this device ID, plugin specific.

  • 266 - The device is not activated yet.


Required sub-user rights: tracker_configure.

Replace a device by IMEI

post
/tracker/replace_quick

Replace the device behind a tracker using only the new IMEI. No activation commands are sent, so the replacement must already be configured. Bundles only.

Requires the tracker_configure right.

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_idintegerRequired

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

Example: 123456
imeistringRequired

IMEI of the new device.

Example: 35645587458999
Responses
200

The replaced tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "imei": "35645587458999"
}
{
  "success": true,
  "value": {
    "id": 123456,
    "label": "tracker label",
    "clone": true,
    "group_id": 167,
    "avatar_file_name": "text",
    "source": {
      "id": 234567,
      "device_id": "9999999988888",
      "model": "telfmb920",
      "blocked": true,
      "tariff_id": 345678,
      "status_listing_id": null,
      "creation_date": "2011-09-21",
      "tariff_end_date": null,
      "phone": null
    },
    "tag_bindings": [
      {
        "tag_id": 456789,
        "ordinal": 4
      }
    ]
  }
}

Errors

These errors come in addition to the general error codes:

  • 13 - The user lacks the right.

  • 201 - No bundle with this IMEI.

  • 204 - The group does not exist.

  • 220 - Unknown device model.

  • 221 - The dealer's device limit is exceeded.

  • 222 - The plugin was not found or does not support this model.

  • 223 - The phone number is already in use.

  • 224 - The device ID is already registered.

  • 225 - The tariff is not compatible with the account's legal type.

  • 226 - Unknown ICCID.

  • 266 - The device is not activated yet.


Required sub-user rights: tracker_configure.

Resend replacement commands

post
/tracker/replace_retry

Resend the registration commands to the replacement device. The panel must have an SMS gateway installed.

Requires the tracker_configure right.

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_idintegerRequired

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

Example: 123456
apn_namestringOptional

Optional. GPRS APN name for the SIM.

Example: fast.tmobile.com
apn_userstringOptional

Optional. GPRS APN user.

Example: tmobile
apn_passwordstringOptional

Optional. GPRS APN password.

Example: tmobile
Responses
200

The tracker

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "apn_name": "fast.tmobile.com",
  "apn_user": "tmobile",
  "apn_password": "tmobile"
}
{
  "success": true,
  "value": {
    "id": 123456,
    "label": "tracker label",
    "clone": true,
    "group_id": 167,
    "avatar_file_name": "text",
    "source": {
      "id": 234567,
      "device_id": "9999999988888",
      "model": "telfmb920",
      "blocked": true,
      "tariff_id": 345678,
      "status_listing_id": null,
      "creation_date": "2011-09-21",
      "tariff_end_date": null,
      "phone": null
    },
    "tag_bindings": [
      {
        "tag_id": 456789,
        "ordinal": 4
      }
    ]
  }
}

Errors

These errors come in addition to the general error codes:

  • 13 - The user lacks the right.

  • 204 - No tracker with this ID belongs to the account.

  • 208 - The tracker exists but is blocked, normally because its tariff ended.

  • 214 - The device has no GSM module.

  • 219 - The tracker is a clone.

  • 242 - The device is already connected.

  • 266 - The old device is not activated yet.


Required sub-user rights: tracker_configure, tracker_set_output.

Which commands a device accepts follows from the special_control field of its model:

Special control
Available commands

jointech_lock_password

electronic_lock_command, set_special_settings_command

hhd_lock_password

electronic_lock_command, set_special_settings_command

vg_lock_password

electronic_lock_command, set_special_settings_command

any other special control

set_special_settings_command

electronic_lock_command seals or unseals an electronic lock:

set_special_settings_command carries only the settings object:

In both cases special_settings is equivalent to the body of tracker/settings/special/update. See the special settings JSON object for its structure.

Send a special control command

post
/tracker/send_command

Send a command for the special control the model declares in its special_control field.

Which commands are available follows from that field. jointech_lock_password, hhd_lock_password and vg_lock_password accept electronic_lock_command and set_special_settings_command; every other special control accepts only set_special_settings_command.

electronic_lock_command seals or unseals an electronic lock and takes a command_code of seal or unseal. The optional special_settings object has the same shape as the body of tracker/settings/special/update.

Requires the tracker_configure and tracker_set_output rights.

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_idintegerRequired

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

Example: 123456
Responses
200

The command was accepted

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "command": {
    "name": "electronic_lock_command",
    "command_code": "seal",
    "special_settings": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}
{
  "success": true
}

Required sub-user rights: tracker_configure, tracker_set_output.

This call is walked through in how to send commands to a GPS tracker.

Send a raw GPRS command

post
/tracker/raw_command/send

Send a GPRS command to the device, processed beforehand in a protocol-dependent way.

Requires the tracker_configure and tracker_set_output rights.

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_idintegerRequired

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

Example: 123456
commandstringRequired

The command, as text or hexadecimal.

Example: AT+GTRTO=gv200,A,,,,,,0001$
typestring · enumOptional

Optional. Default text. How to read command.

Possible values:
reliablebooleanOptional

Optional. Default true. When false the command is not resent if the device is disconnected or does not acknowledge it.

Responses
200

The command was accepted

application/json
successbooleanRead-onlyOptional

true if request finished successfully.

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

{
  "tracker_id": 123456,
  "command": "AT+GTRTO=gv200,A,,,,,,0001$",
  "type": "text",
  "reliable": true
}
{
  "success": true
}

Errors

These errors come in addition to the general error codes:

  • 7 - Invalid parameters. A malformed command names the parameter:

More in this section

Alarm mode

Endpoint
Method
What it does

POST

Read alarm mode

POST

Turn alarm mode on or off

APN settings by tracker

Endpoint
Method
What it does

POST

Read APN settings by tracker

Avatar

Endpoint
Method
What it does

POST

Upload a tracker avatar

Chat

Endpoint
Method
What it does

POST

List chat messages

POST

Mark all messages read

POST

Mark messages read

POST

Send a chat message

POST

Send a chat message to several trackers

POST

Read last message times

POST

Count unread messages

Contact

Endpoint
Method
What it does

POST

List contacts and their shared trackers (deprecated)

Counters

Endpoint
Method
What it does

POST

Read a counter

POST

Update a counter

POST

Read all counter values

POST

Read one counter value

POST

Read one counter across several trackers

POST

Set a counter value

POST

Read counter history

Datalogger

Endpoint
Method
What it does

POST

Upload datalogger track data

Employee

Endpoint
Method
What it does

POST

Assign or unassign an employee

POST

Read the assigned employee

Engine immobilizer

Endpoint
Method
What it does

POST

Read immobiliser state

POST

Engage or release the immobiliser

Group

Endpoint
Method
What it does

POST

Assign trackers to a group

POST

Create a group

POST

Delete a group

POST

List tracker groups

POST

Update a group

LED

Endpoint
Method
What it does

POST

Read LED state

POST

Switch the LED

Mobile app register

Endpoint
Method
What it does

POST

Register a mobile application (deprecated)

Digital output

Endpoint
Method
What it does

POST

Switch all outputs

POST

Switch one output

Sensor readings

Endpoint
Method
What it does

POST

Read all sensor values

POST

Read all sensor values for several trackers

Retranslator binding

Endpoint
Method
What it does

POST

Bind a tracker to a retranslator

POST

List a tracker's retranslator bindings

POST

Unbind a tracker from a retranslator

Trusted number

Endpoint
Method
What it does

POST

List trusted numbers

POST

Replace the trusted numbers

Unconfirmed commands

Endpoint
Method
What it does

POST

Count queued SMS commands

POST

Clear the SMS command queue

Rule

Endpoint
Method
What it does

POST

Bind a rule to trackers

POST

Create a rule

POST

Delete a rule

POST

List rules

POST

Unbind a rule from trackers

POST

Update a rule

Sensor

Endpoint
Method
What it does

POST

List sensors for several trackers

POST

Create a sensor

POST

Delete a sensor

POST

List a tracker's sensors

POST

Update a sensor

POST

Copy sensors between trackers

POST

Read sensor history

Sensor calibration data

Endpoint
Method
What it does

POST

Read calibration data

POST

Replace calibration data

POST

Upload an Omnicomm calibration file

Sensor inputs

Endpoint
Method
What it does

POST

List all sensor inputs and state fields

Settings

Endpoint
Method
What it does

POST

Read label and group

POST

Change label and group

LBS settings

Endpoint
Method
What it does

POST

Read the LBS radius limit

POST

Change the LBS radius limit

Tracking mode

Endpoint
Method
What it does

POST

Read tracking mode settings

POST

Change tracking mode settings

Parking detection

Endpoint
Method
What it does

POST

Read parking detection settings

POST

Change parking detection settings

Special

Endpoint
Method
What it does

POST

Read special settings

POST

Change special settings

Engine hours

Endpoint
Method
What it does

Mileage

Endpoint
Method
What it does

POST

Read mileage per day

Commands

Endpoint
Method
What it does

POST

Create a command

POST

Update a command

POST

Execute a command

POST

Delete a command

POST

Read commands for several trackers

Last updated

Was this helpful?