Checkpoints
The individual stops that make up a route, each essentially a task.
A checkpoint is one stop on a route. It is essentially a task with an extra link to the parent route, so it carries the same fields and completes the same way.
These operations work on checkpoints individually, which is what changing one stop on an existing route needs. Creating a route creates its checkpoints with it.
Checkpoint object
For the attached form, see the form object.
API actions
API base path: /task/checkpoint.
Operations that list no errors of their own return only the general error codes.
For the external_id_counts field in the response, see the task/route/create method description.
Required sub-user rights: task_update.
Create a checkpoint on an existing route, and return its ID.
The checkpoint is inserted at order in the parent route's checkpoint list, and any checkpoint already at that position, along with everything after it, shifts one place right.
to is required and cannot be in the past, and from cannot be after to. Both rules are checked before anything else and report task.to or task.from rather than a top-level parameter.
Requires the task_update right.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
Optional. Default false. When true, the form_template_id inside checkpoint is read and a form is created from that template.
The created checkpoint
true if request finished successfully.
trueID of the new checkpoint.
Bad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error 236: the tracker's plan does not allow tasks.
Error response object
POST /v2/task/checkpoint/create HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 777
{
"checkpoint": {
"id": 1,
"tracker_id": null,
"location": {
"lat": 1,
"lng": 1,
"address": "text",
"radius": 1
},
"label": "text",
"description": "text",
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"external_id": null,
"status": "unassigned",
"status_change_date": "text",
"max_delay": 1,
"min_stay_duration": 1,
"min_arrival_duration": 1,
"origin": "manual",
"tags": [
1
],
"type": "task",
"form": {
"id": 1,
"label": "text",
"description": "text",
"fields": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"submit_in_zone": true,
"task_id": null,
"checkin_id": null,
"tracker_id": null,
"template_id": null,
"template_version": null,
"values": null,
"submitted": null,
"submit_location": {
"lat": 1,
"lng": 1,
"address": "text"
}
},
"form_template_id": 1,
"fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"parent_id": 1,
"order": 1
},
"create_form": true
}{
"success": true,
"id": 1,
"external_id_counts": [
{
"external_id": "text",
"count": 1
}
]
}Errors
These errors come in addition to the general error codes:
201 - Not found in the database - if task.tracker_id is not null and belongs to nonexistent tracker.
236 - Feature unavailable due to tariff restrictions - if device's tariff does not allow usage of tasks.
Required sub-user rights: task_update.
Delete a checkpoint by ID. The remaining checkpoints on the route close the gap.
Only a task in unassigned or assigned state can be changed. Anything else returns error 255.
Also accepts GET with the same parameters as query-string values.
Requires the task_update right.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
ID of the checkpoint to delete.
Checkpoint deleted
true if request finished successfully.
trueBad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error response object
POST /v2/task/checkpoint/delete HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 19
{
"checkpoint_id": 1
}{
"success": true
}Errors
These errors come in addition to the general error codes:
201 - Not found in the database - if there is no checkpoint with such an ID.
Return checkpoints by ID.
checkpoint_ids is required and must not be empty, so this operation reads a known set rather than browsing all checkpoints.
Also accepts GET with the same parameters as query-string values.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
IDs of the checkpoints to return. Must not be empty.
Matching checkpoints
true if request finished successfully.
trueTotal number of checkpoints found.
Bad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error response object
POST /v2/task/checkpoint/list HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 22
{
"checkpoint_ids": [
1
]
}{
"success": true,
"list": [
{
"id": 1,
"user_id": 1,
"tracker_id": null,
"location": {
"lat": 1,
"lng": 1,
"address": "text",
"radius": 1
},
"label": "text",
"description": "text",
"creation_date": "text",
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"external_id": null,
"status": "unassigned",
"status_change_date": "text",
"max_delay": 1,
"min_stay_duration": 1,
"min_arrival_duration": 1,
"arrival_date": null,
"stay_duration": 1,
"origin": "manual",
"tags": [
1
],
"type": "task",
"form": {
"id": 1,
"label": "text",
"description": "text",
"fields": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"created": "text",
"submit_in_zone": true,
"task_id": null,
"checkin_id": null,
"tracker_id": null,
"template_id": null,
"template_version": null,
"values": null,
"submitted": null,
"submit_location": {
"lat": 1,
"lng": 1,
"address": "text"
}
},
"form_template_id": 1,
"fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"files": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"parent_id": 1,
"order": 1
}
],
"count": 1
}Return one checkpoint by ID.
Also accepts GET with the same parameters as query-string values.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
ID of the checkpoint.
The checkpoint
true if request finished successfully.
trueBad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error response object
POST /v2/task/checkpoint/read HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 19
{
"checkpoint_id": 1
}{
"success": true,
"value": {
"id": 1,
"user_id": 1,
"tracker_id": null,
"location": {
"lat": 1,
"lng": 1,
"address": "text",
"radius": 1
},
"label": "text",
"description": "text",
"creation_date": "text",
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"external_id": null,
"status": "unassigned",
"status_change_date": "text",
"max_delay": 1,
"min_stay_duration": 1,
"min_arrival_duration": 1,
"arrival_date": null,
"stay_duration": 1,
"origin": "manual",
"tags": [
1
],
"type": "task",
"form": {
"id": 1,
"label": "text",
"description": "text",
"fields": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"created": "text",
"submit_in_zone": true,
"task_id": null,
"checkin_id": null,
"tracker_id": null,
"template_id": null,
"template_version": null,
"values": null,
"submitted": null,
"submit_location": {
"lat": 1,
"lng": 1,
"address": "text"
}
},
"form_template_id": 1,
"fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"files": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"parent_id": 1,
"order": 1
}
}Errors
These errors come in addition to the general error codes:
201 - Not found in the database - if there is no checkpoint with such an ID.
If the converted checkpoint was the only one in its route, the route is deleted.
Required sub-user rights: task_update.
Convert a checkpoint back into a standalone task, detaching it from its route.
Only a task in unassigned or assigned state can be changed. Anything else returns error 255. Every checkpoint on the route is checked, not just this one.
Also accepts GET with the same parameters as query-string values.
Requires the task_update right.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
ID of the checkpoint to convert.
Checkpoint converted
true if request finished successfully.
trueBad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error response object
POST /v2/task/checkpoint/transmute HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 19
{
"checkpoint_id": 1
}{
"success": true
}Errors
These errors come in addition to the general error codes:
201 - Not found in the database - if there is no checkpoint with such an ID, or tracker to which checkpoint assigned is unavailable to current sub-user.
255 - Invalid task state - if any of checkpoints are not in unassigned or assigned state.
Changing order reorders all other checkpoints.
For the external_id_counts field in the response, see the task/route/create method description.
Required sub-user rights: task_update.
Update a checkpoint. Pass a full checkpoint object including its id.
tracker_id is ignored: a checkpoint inherits its performer from its route.
to is required and cannot be in the past, and from cannot be after to. Both rules are checked before anything else and report task.to or task.from rather than a top-level parameter.
Only a task in unassigned or assigned state can be changed. Anything else returns error 255.
Requires the task_update right.
Either a user session hash or an API key, with the "NVX " prefix, for example "NVX 22eac1c27af4be7b9d04da2ce1af111b". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.
Optional. Default false. When true, the form_template_id inside checkpoint is read and the form is created, replaced or deleted to match it.
Checkpoint updated
true if request finished successfully.
trueBad request. The response body carries the API-level error code in status.code. Validation failures also include an errors array naming each offending parameter.
Error response object
POST /v2/task/checkpoint/update HTTP/1.1
Host: api.eu.navixy.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 777
{
"checkpoint": {
"id": 1,
"tracker_id": null,
"location": {
"lat": 1,
"lng": 1,
"address": "text",
"radius": 1
},
"label": "text",
"description": "text",
"from": "2026-08-24 09:00:00",
"to": "2026-08-24 09:00:00",
"external_id": null,
"status": "unassigned",
"status_change_date": "text",
"max_delay": 1,
"min_stay_duration": 1,
"min_arrival_duration": 1,
"origin": "manual",
"tags": [
1
],
"type": "task",
"form": {
"id": 1,
"label": "text",
"description": "text",
"fields": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"submit_in_zone": true,
"task_id": null,
"checkin_id": null,
"tracker_id": null,
"template_id": null,
"template_version": null,
"values": null,
"submitted": null,
"submit_location": {
"lat": 1,
"lng": 1,
"address": "text"
}
},
"form_template_id": 1,
"fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"parent_id": 1,
"order": 1
},
"create_form": true
}{
"success": true,
"external_id_counts": [
{
"external_id": "text",
"count": 1
}
]
}Errors
These errors come in addition to the general error codes:
201 - Not found in the database - if there is no task with such an ID.
255 - Invalid task state - if current task state is not "unassigned" or "assigned".
Last updated
Was this helpful?