GDTrack Api Reference
Base URL: /api, Version: 7.4.2
Summary
Path | Operation | Description |
---|---|---|
/attributes/computed | GET |
Fetch a list of Attributes |
POST |
Create an Attribute |
|
/attributes/computed/{id} | DELETE |
Delete an Attribute |
PUT |
Update an Attribute |
|
/calendars | GET |
Fetch a list of Calendars |
POST |
Create a Calendar |
|
/calendars/{id} | DELETE |
Delete a Calendar |
PUT |
Update a Calendar |
|
/commands | GET |
Fetch a list of Saved Commands |
POST |
Create a Saved Command |
|
/commands/send | GET |
Fetch a list of Saved Commands supported by Device at the moment |
POST |
Dispatch commands to device |
|
/commands/types | GET |
Fetch a list of available Commands for the Device or all possible Commands if Device ommited |
/commands/{id} | DELETE |
Delete a Saved Command |
PUT |
Update a Saved Command |
|
/devices | GET |
Fetch a list of Devices |
POST |
Create a Device |
|
/devices/{id} | DELETE |
Delete a Device |
PUT |
Update a Device |
|
/devices/{id}/accumulators | PUT |
Update total distance and hours of the Device |
/drivers | GET |
Fetch a list of Drivers |
POST |
Create a Driver |
|
/drivers/{id} | DELETE |
Delete a Driver |
PUT |
Update a Driver |
|
/events/{id} | GET | |
/geofences | GET |
Fetch a list of Geofences |
POST |
Create a Geofence |
|
/geofences/{id} | DELETE |
Delete a Geofence |
PUT |
Update a Geofence |
|
/groups | GET |
Fetch a list of Groups |
POST |
Create a Group |
|
/groups/{id} | DELETE |
Delete a Group |
PUT |
Update a Group |
|
/maintenance | GET |
Fetch a list of Maintenance |
POST |
Create a Maintenance |
|
/maintenance/{id} | DELETE |
Delete a Maintenance |
PUT |
Update a Maintenance |
|
/notifications | GET |
Fetch a list of Notifications |
POST |
Create a Notification |
|
/notifications/test | POST |
Send test notification to current user via Email and SMS |
/notifications/types | GET |
Fetch a list of available Notification types |
/notifications/{id} | DELETE |
Delete a Notification |
PUT |
Update a Notification |
|
/permissions | DELETE |
Unlink an Object from another Object |
POST |
Link an Object to another Object |
|
/positions | GET |
Fetches a list of Positions |
/reports/events | GET |
Fetch a list of Events within the time period for the Devices or Groups |
/reports/route | GET |
Fetch a list of Positions within the time period for the Devices or Groups |
/reports/stops | GET |
Fetch a list of ReportStops within the time period for the Devices or Groups |
/reports/summary | GET |
Fetch a list of ReportSummary within the time period for the Devices or Groups |
/reports/trips | GET |
Fetch a list of ReportTrips within the time period for the Devices or Groups |
/server | GET |
Fetch Server information |
PUT |
Update Server information |
|
/session | DELETE |
Close the Session |
GET |
Fetch Session information |
|
POST |
Create a new Session |
|
/statistics | GET |
Fetch server Statistics |
/users | GET |
Fetch a list of Users |
POST |
Create a User |
|
/users/{id} | DELETE |
Delete a User |
PUT |
Update a User |
Security
basicAuth
Type: basic- Description:
-
Basic HTTP authorization with email and password
Paths
GET /attributes/computed
Without params, it returns a list of Attributes the user has access to
all |
Can only be used by admins or managers to fetch all entities |
query | boolean | #/parameters/all |
userId |
Standard users can use this only with their own userId |
query | integer | #/parameters/userId |
deviceId |
Standard users can use this only with _deviceId_s, they have access to |
query | integer | #/parameters/deviceId |
groupId |
Standard users can use this only with _groupId_s, they have access to |
query | integer | #/parameters/groupId |
refresh | query | boolean | #/parameters/refresh |
Uses default content-types: application/json
- 200 OK
-
OK
POST /attributes/computed
DELETE /attributes/computed/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /attributes/computed/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/Attribute |
Uses default content-types: application/json
- 200 OK
-
OK
GET /calendars
Without params, it returns a list of Calendars the user has access to
all |
Can only be used by admins or managers to fetch all entities |
query | boolean | #/parameters/all |
userId |
Standard users can use this only with their own userId |
query | integer | #/parameters/userId |
Uses default content-types: application/json
- 200 OK
-
OK
POST /calendars
DELETE /calendars/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /calendars/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/Calendar |
Uses default content-types: application/json
- 200 OK
-
OK
GET /commands
Without params, it returns a list of Drivers the user has access to
all |
Can only be used by admins or managers to fetch all entities |
query | boolean | #/parameters/all |
userId |
Standard users can use this only with their own userId |
query | integer | #/parameters/userId |
deviceId |
Standard users can use this only with _deviceId_s, they have access to |
query | integer | #/parameters/deviceId |
groupId |
Standard users can use this only with _groupId_s, they have access to |
query | integer | #/parameters/groupId |
refresh | query | boolean | #/parameters/refresh |
Uses default content-types: application/json
- 200 OK
-
OK
POST /commands
GET /commands/send
Return a list of saved commands linked to Device and its groups, filtered by current Device protocol support
deviceId |
Standard users can use this only with _deviceId_s, they have access to |
query | integer | #/parameters/deviceId |
Uses default content-types: application/json
- 200 OK
-
OK
- 400 Bad Request
-
Could happen when the user doesn't have permission for the device
POST /commands/send
Dispatch a new command or Saved Command if body.id set
Uses default content-types: application/json
Uses default content-types: application/json
- 200 OK
-
Command sent
- 202 Accepted
-
Command queued
- 400 Bad Request
-
Could happen when the user doesn't have permission or an incorrect command type for the device
GET /commands/types
deviceId | query | integer | ||
textChannel | query | boolean |
Uses default content-types: application/json
- 200 OK
-
OK
- 400 Bad Request
-
Could happen when trying to fetch from a device the user does not have permission
DELETE /commands/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /commands/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/Command |
Uses default content-types: application/json
- 200 OK
-
OK
GET /devices
Without any params, returns a list of the user's devices
all |
Can only be used by admins or managers to fetch all entities |
query | boolean | #/parameters/all |
userId |
Standard users can use this only with their own userId |
query | integer | #/parameters/userId |
id |
To fetch one or more devices. Multiple params can be passed like |
query |
integer
,
multiple parameters (id=aaa&id=bbb )
|
|
uniqueId |
To fetch one or more devices. Multiple params can be passed like |
query |
string
,
multiple parameters (uniqueId=aaa&uniqueId=bbb )
|
Uses default content-types: application/json
- 200 OK
-
OK
- 400 Bad Request
-
No permission
POST /devices
DELETE /devices/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /devices/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/Device |
Uses default content-types: application/json
- 200 OK
-
OK
PUT /devices/{id}/accumulators
Uses default content-types: application/json
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
GET /drivers
Without params, it returns a list of Drivers the user has access to
all |
Can only be used by admins or managers to fetch all entities |
query | boolean | #/parameters/all |
userId |
Standard users can use this only with their own userId |
query | integer | #/parameters/userId |
deviceId |
Standard users can use this only with _deviceId_s, they have access to |
query | integer | #/parameters/deviceId |
groupId |
Standard users can use this only with _groupId_s, they have access to |
query | integer | #/parameters/groupId |
refresh | query | boolean | #/parameters/refresh |
Uses default content-types: application/json
- 200 OK
-
OK
POST /drivers
DELETE /drivers/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /drivers/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/Driver |
Uses default content-types: application/json
- 200 OK
-
OK
GET /events/{id}
GET /geofences
Without params, it returns a list of Geofences the user has access to
all |
Can only be used by admins or managers to fetch all entities |
query | boolean | #/parameters/all |
userId |
Standard users can use this only with their own userId |
query | integer | #/parameters/userId |
deviceId |
Standard users can use this only with _deviceId_s, they have access to |
query | integer | #/parameters/deviceId |
groupId |
Standard users can use this only with _groupId_s, they have access to |
query | integer | #/parameters/groupId |
refresh | query | boolean | #/parameters/refresh |
Uses default content-types: application/json
- 200 OK
-
OK
POST /geofences
DELETE /geofences/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /geofences/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/Geofence |
Uses default content-types: application/json
- 200 OK
-
OK
GET /groups
Without any params, returns a list of the Groups the user belongs to
all |
Can only be used by admins or managers to fetch all entities |
query | boolean | #/parameters/all |
userId |
Standard users can use this only with their own userId |
query | integer | #/parameters/userId |
Uses default content-types: application/json
- 200 OK
-
OK
POST /groups
body | body | object | #/parameters/Group |
Uses default content-types: application/json
- 200 OK
-
OK
- 400 Bad Request
-
No permission
DELETE /groups/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /groups/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/Group |
Uses default content-types: application/json
- 200 OK
-
OK
GET /maintenance
Without params, it returns a list of Maintenance the user has access to
all |
Can only be used by admins or managers to fetch all entities |
query | boolean | #/parameters/all |
userId |
Standard users can use this only with their own userId |
query | integer | #/parameters/userId |
deviceId |
Standard users can use this only with _deviceId_s, they have access to |
query | integer | #/parameters/deviceId |
groupId |
Standard users can use this only with _groupId_s, they have access to |
query | integer | #/parameters/groupId |
refresh | query | boolean | #/parameters/refresh |
Uses default content-types: application/json
- 200 OK
-
OK
POST /maintenance
DELETE /maintenance/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /maintenance/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/Maintenance |
Uses default content-types: application/json
- 200 OK
-
OK
GET /notifications
Without params, it returns a list of Notifications the user has access to
all |
Can only be used by admins or managers to fetch all entities |
query | boolean | #/parameters/all |
userId |
Standard users can use this only with their own userId |
query | integer | #/parameters/userId |
deviceId |
Standard users can use this only with _deviceId_s, they have access to |
query | integer | #/parameters/deviceId |
groupId |
Standard users can use this only with _groupId_s, they have access to |
query | integer | #/parameters/groupId |
refresh | query | boolean | #/parameters/refresh |
Uses default content-types: application/json
- 200 OK
-
OK
POST /notifications
POST /notifications/test
Uses default content-types: application/json
- 204 No Content
-
Successful sending
- 400 Bad Request
-
Could happen if sending has failed
GET /notifications/types
Uses default content-types: application/json
- 200 OK
-
OK
DELETE /notifications/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /notifications/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/Notification |
Uses default content-types: application/json
- 200 OK
-
OK
DELETE /permissions
body | body | object | #/parameters/Permission |
Uses default content-types: application/json
- 204 No Content
-
No Content
POST /permissions
body | body | object | #/parameters/Permission |
Uses default content-types: application/json
- 200 OK
-
OK
- 400 Bad Request
-
No permission
GET /positions
Without any params, it returns a list of last known positions for all the user's Devices. from and _to_ fields are not required with _id_
application/json text/csv application/gpx+xml
deviceId |
deviceId is optional, but requires the from and _to_ parameters when used |
query | integer | |
from |
in IS0 8601 format. eg. |
query | string (date-time) | |
to |
in IS0 8601 format. eg. |
query | string (date-time) | |
id |
To fetch one or more positions. Multiple params can be passed like |
query |
integer
,
multiple parameters (id=aaa&id=bbb )
|
application/json text/csv application/gpx+xml
- 200 OK
-
OK
GET /reports/events
At least one deviceId or one groupId must be passed
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
deviceId | query |
integer[]
,
multiple parameters (deviceId=aaa&deviceId=bbb )
|
#/parameters/deviceIdArray | |
groupId | query |
integer[]
,
multiple parameters (groupId=aaa&groupId=bbb )
|
#/parameters/groupIdArray | |
type |
% can be used to return events of all types |
query | string[] | |
from |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/fromTime |
to |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/toTime |
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- 200 OK
-
OK
GET /reports/route
At least one deviceId or one groupId must be passed
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
deviceId | query |
integer[]
,
multiple parameters (deviceId=aaa&deviceId=bbb )
|
#/parameters/deviceIdArray | |
groupId | query |
integer[]
,
multiple parameters (groupId=aaa&groupId=bbb )
|
#/parameters/groupIdArray | |
from |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/fromTime |
to |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/toTime |
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- 200 OK
-
OK
GET /reports/stops
At least one deviceId or one groupId must be passed
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
deviceId | query |
integer[]
,
multiple parameters (deviceId=aaa&deviceId=bbb )
|
#/parameters/deviceIdArray | |
groupId | query |
integer[]
,
multiple parameters (groupId=aaa&groupId=bbb )
|
#/parameters/groupIdArray | |
from |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/fromTime |
to |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/toTime |
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- 200 OK
-
OK
GET /reports/summary
At least one deviceId or one groupId must be passed
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
deviceId | query |
integer[]
,
multiple parameters (deviceId=aaa&deviceId=bbb )
|
#/parameters/deviceIdArray | |
groupId | query |
integer[]
,
multiple parameters (groupId=aaa&groupId=bbb )
|
#/parameters/groupIdArray | |
from |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/fromTime |
to |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/toTime |
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- 200 OK
-
OK
GET /reports/trips
At least one deviceId or one groupId must be passed
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
deviceId | query |
integer[]
,
multiple parameters (deviceId=aaa&deviceId=bbb )
|
#/parameters/deviceIdArray | |
groupId | query |
integer[]
,
multiple parameters (groupId=aaa&groupId=bbb )
|
#/parameters/groupIdArray | |
from |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/fromTime |
to |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/toTime |
application/json application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- 200 OK
-
OK
GET /server
Uses default content-types: application/json
- 200 OK
-
OK
PUT /server
DELETE /session
application/x-www-form-urlencoded
Uses default content-types: application/json
- 204 No Content
-
No Content
GET /session
application/x-www-form-urlencoded
token | query | string |
Uses default content-types: application/json
- 200 OK
-
OK
- 404 Not Found
-
Not Found
POST /session
application/x-www-form-urlencoded
formData | string | |||
password | formData | string (password) |
Uses default content-types: application/json
- 200 OK
-
OK
- 401 Unauthorized
-
Unauthorized
GET /statistics
from |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/fromTime |
to |
in IS0 8601 format. eg. |
query | string (date-time) | #/parameters/toTime |
Uses default content-types: application/json
- 200 OK
-
OK
GET /users
userId |
Can only be used by admin or manager users |
query | string |
Uses default content-types: application/json
- 200 OK
-
OK
- 400 Bad Request
-
No Permission
POST /users
DELETE /users/{id}
id | path | integer | #/parameters/entityId |
Uses default content-types: application/json
- 204 No Content
-
No Content
PUT /users/{id}
id | path | integer | #/parameters/entityId | |
body | body | object | #/parameters/User |
Uses default content-types: application/json
- 200 OK
-
OK
Parameter definitions
Schema definitions
- id: integer
-
- description: string
-
- attribute: string
-
- expression: string
-
- type: string
-
String|Number|Boolean
- id: integer
-
- name: string
-
- data: string
-
base64 encoded in iCalendar format
- atributes: object
-
- id: integer
-
- name: string
-
- uniqueId: string
-
- status: string
-
- disabled: boolean
-
- lastUpdate: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- positionId: integer
-
- groupId: integer
-
- phone: string
-
- model: string
-
- contact: string
-
- category: string
-
- geofenceIds: integer[]
-
integer - attributes: object
-
- id: integer
-
- type: string
-
- serverTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- deviceId: integer
-
- positionId: integer
-
- geofenceId: integer
-
- maintenanceId: integer
-
- attributes: object
-
- id: integer
-
- name: string
-
- description: string
-
- area: string
-
- calendarId: integer
-
- attributes: object
-
- id: integer
-
- name: string
-
- type: string
-
- start: number
-
- period: number
-
- atributes: object
-
- id: integer
-
- type: string
-
- always: boolean
-
- web: boolean
-
- mail: boolean
-
- sms: boolean
-
- calendarId: integer
-
- attributes: object
-
This is a permission map that contain two object indexes. It is used to link/unlink objects. Order is important. Example: { deviceId:8, geofenceId: 16 }
- userId: integer
-
User Id, can be only first parameter
- deviceId: integer
-
Device Id, can be first parameter or second only in combination with userId
- groupId: integer
-
Group Id, can be first parameter or second only in combination with userId
- geofenceId: integer
-
Geofence Id, can be second parameter only
- calendarId: integer
-
Geofence Id, can be second parameter only and only in combination with userId
- attributeId: integer
-
Computed Attribute Id, can be second parameter only
- driverId: integer
-
Driver Id, can be second parameter only
- managedUserId: integer
-
User Id, can be second parameter only and only in combination with userId
- id: integer
-
- deviceId: integer
-
- protocol: string
-
- deviceTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- fixTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- serverTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- outdated: boolean
-
- valid: boolean
-
- latitude: number
-
- longitude: number
-
- altitude: number
-
- speed: number
-
in knots
- course: number
-
- address: string
-
- accuracy: number
-
- network: string
-
- attributes: object
-
- deviceId: integer
-
- deviceName: string
-
- duration: integer
-
- startTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- address: string
-
- lat: number
-
- lon: number
-
- endTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- spentFuel: number
-
in liters
- engineHours: integer
-
- deviceId: integer
-
- deviceName: string
-
- maxSpeed: number
-
in knots
- averageSpeed: number
-
in knots
- distance: number
-
in meters
- spentFuel: number
-
in liters
- engineHours: integer
-
- deviceId: integer
-
- deviceName: string
-
- maxSpeed: number
-
in knots
- averageSpeed: number
-
in knots
- distance: number
-
in meters
- spentFuel: number
-
in liters
- duration: integer
-
- startTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- startAddress: string
-
- startLat: number
-
- startLon: number
-
- endTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- endAddress: string
-
- endLat: number
-
- endLon: number
-
- driverUniqueId: integer
-
- driverName: string
-
- id: integer
-
- registration: boolean
-
- readonly: boolean
-
- deviceReadonly: boolean
-
- limitCommands: boolean
-
- map: string
-
- bingKey: string
-
- mapUrl: string
-
- poiLayer: string
-
- latitude: number
-
- longitude: number
-
- zoom: integer
-
- twelveHourFormat: boolean
-
- version: string
-
- forceSettings: boolean
-
- coordinateFormat: string
-
- attributes: object
-
- captureTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- activeUsers: integer
-
- activeDevices: integer
-
- requests: integer
-
- messagesReceived: integer
-
- messagesStored: integer
-
- id: integer
-
- name: string
-
- email: string
-
- readonly: boolean
-
- administrator: boolean
-
- map: string
-
- latitude: number
-
- longitude: number
-
- zoom: integer
-
- password: string
-
- twelveHourFormat: boolean
-
- coordinateFormat: string
-
- disabled: boolean
-
- expirationTime: string (date-time)
-
in IS0 8601 format. eg.
1963-11-22T18:30:00Z
- deviceLimit: integer
-
- userLimit: integer
-
- deviceReadonly: boolean
-
- limitCommands: boolean
-
- poiLayer: string
-
- token: string
-
- attributes: object
-