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
-