2024-09-18 22:29:45 +08:00
openapi : 3.1 .0
info :
title : Traccar
description : Traccar GPS tracking server API documentation. To use the API you need to have a server instance. For testing purposes you can use one of free [demo servers](https://www.traccar.org/demo-server/). For production use you can install your own server or get a [subscription service](https://www.traccar.org/product/tracking-server/).
contact :
name : Traccar Support
url : https://www.traccar.org/
email : support@traccar.org
license :
name : Apache 2.0
url : https://www.apache.org/licenses/LICENSE-2.0.html
version : '6.5'
servers :
- url : https://demo.traccar.org/api
description : Demo Server 1
- url : https://demo2.traccar.org/api
description : Demo Server 2
- url : https://demo3.traccar.org/api
description : Demo Server 3
- url : https://demo4.traccar.org/api
description : Demo Server 4
- url : https://server.traccar.org/api
description : Subscription Server
- url : http://{host}:{port}/api
description : Other Server
variables :
host :
default : localhost
port :
enum :
- '8082'
- '80'
default : '8082'
security :
- BasicAuth : [ ]
- ApiKey : [ ]
tags :
- name : Server
description : Server information
- name : Session
description : User session management
- name : Devices
description : Device management
- name : Groups
description : Group management
- name : Users
description : User management
- name : Permissions
description : User permissions and other object linking
- name : Positions
description : Retrieving raw location information
- name : Events
description : Retrieving event information
- name : Reports
description : Reports generation
- name : Notifications
description : User notifications management
- name : Geofences
description : Geofence management
- name : Commands
description : Sending commands to devices and stored command management
- name : Attributes
description : Computed attributes management
- name : Drivers
description : Drivers management
- name : Maintenance
description : Maintenance management
- name : Calendars
description : Calendar management
- name : Statistics
description : Retrieving server statistics
paths :
/commands :
get :
summary : Fetch a list of Saved Commands
tags :
- Commands
description : Without params, it returns a list of Saved Commands the user has access to
parameters :
- name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
- name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
- name : deviceId
in : query
description : Standard users can use this only with _deviceId_s, they have access to
schema :
type : integer
- name : groupId
in : query
description : >-
Standard users can use this only with _groupId_s, they have access
to
schema :
type : integer
- name : refresh
in : query
schema :
type : boolean
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Command'
post :
summary : Create a Saved Command
tags :
- Commands
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Command'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Command'
x-codegen-request-body-name : body
/commands/{id}:
put :
summary : Update a Saved Command
tags :
- Commands
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Command'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Command'
x-codegen-request-body-name : body
delete :
summary : Delete a Saved Command
tags :
- Commands
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
/commands/send :
get :
summary : Fetch a list of Saved Commands supported by Device at the moment
description : >-
Return a list of saved commands linked to Device and its groups,
filtered by current Device protocol support
tags :
- Commands
parameters :
- name : deviceId
in : query
description : >-
Standard users can use this only with _deviceId_s, they have access
to
schema :
type : integer
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Command'
'400' :
description : Could happen when the user doesn't have permission for the device
content : {}
post :
summary : Dispatch commands to device
description : Dispatch a new command or Saved Command if _body.id_ set
tags :
- Commands
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Command'
required : true
responses :
'200' :
description : Command sent
content :
application/json :
schema :
$ref : '#/components/schemas/Command'
'202' :
description : Command queued
content :
application/json :
schema :
$ref : '#/components/schemas/Command'
'400' :
description : >-
Could happen when the user doesn't have permission or an incorrect
command _type_ for the device
content : {}
x-codegen-request-body-name : body
/commands/types :
get :
summary : >-
Fetch a list of available Commands for the Device or all possible
Commands if Device ommited
tags :
- Commands
parameters :
- name : deviceId
in : query
description : >-
Internal device identifier. Only works if device has already
reported some locations
schema :
type : integer
- name : protocol
in : query
description : Protocol name. Can be used instead of device id
schema :
type : string
- name : textChannel
in : query
description : >-
When `true` return SMS commands. If not specified or `false` return
data commands
schema :
type : boolean
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/CommandType'
'400' :
description : >-
Could happen when trying to fetch from a device the user does not
have permission
content : {}
/devices :
get :
summary : Fetch a list of Devices
description : Without any params, returns a list of the user's devices
tags :
- Devices
parameters :
- name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
- name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
- name : id
in : query
description : >-
To fetch one or more devices. Multiple params can be passed like
`id=31&id=42`
schema :
type : integer
- name : uniqueId
in : query
description : >-
To fetch one or more devices. Multiple params can be passed like
`uniqueId=333331&uniqieId=44442`
schema :
type : string
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Device'
'400' :
description : No permission
content : {}
post :
summary : Create a Device
tags :
- Devices
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Device'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Device'
x-codegen-request-body-name : body
/devices/{id}:
put :
summary : Update a Device
tags :
- Devices
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Device'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Device'
x-codegen-request-body-name : body
delete :
summary : Delete a Device
tags :
- Devices
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
/devices/{id}/accumulators:
put :
summary : Update total distance and hours of the Device
tags :
- Devices
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/DeviceAccumulators'
required : true
responses :
'204' :
description : No Content
content : {}
x-codegen-request-body-name : body
/groups :
get :
summary : Fetch a list of Groups
description : Without any params, returns a list of the Groups the user belongs to
tags :
- Groups
parameters :
- name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
- name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Group'
post :
summary : Create a Group
tags :
- Groups
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Group'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Group'
'400' :
description : No permission
content : {}
x-codegen-request-body-name : body
/groups/{id}:
put :
summary : Update a Group
tags :
- Groups
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Group'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Group'
x-codegen-request-body-name : body
delete :
summary : Delete a Group
tags :
- Groups
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
/permissions :
post :
summary : Link an Object to another Object
tags :
- Permissions
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Permission'
required : true
responses :
'204' :
description : No Content
content : {}
'400' :
description : No permission
content : {}
x-codegen-request-body-name : body
delete :
summary : Unlink an Object from another Object
tags :
- Permissions
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Permission'
required : true
responses :
'204' :
description : No Content
content : {}
x-codegen-request-body-name : body
/positions :
get :
summary : Fetches a list of Positions
description : >-
We strongly recommend using [Traccar WebSocket
API](https://www.traccar.org/traccar-api/) instead of periodically
polling positions endpoint. 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_.
tags :
- Positions
parameters :
- name : deviceId
in : query
description : >-
_deviceId_ is optional, but requires the _from_ and _to_ parameters
when used
schema :
type : integer
- name : from
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
schema :
type : string
format : date-time
- name : to
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
schema :
type : string
format : date-time
- name : id
in : query
description : >-
To fetch one or more positions. Multiple params can be passed like
`id=31&id=42`
schema :
type : integer
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Position'
text/csv :
schema :
type : array
items :
$ref : '#/components/schemas/Position'
application/gpx+xml :
schema :
type : array
items :
$ref : '#/components/schemas/Position'
delete :
summary : Deletes all the Positions of a device in the time span specified
description : ''
tags :
- Positions
parameters :
- name : deviceId
in : query
description : ''
schema :
type : integer
required : true
- name : from
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
schema :
type : string
format : date-time
required : true
- name : to
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
schema :
type : string
format : date-time
required : true
responses :
'204' :
description : No Content
content : {}
'400' :
description : Bad Request
content : {}
/server :
get :
summary : Fetch Server information
tags :
- Server
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Server'
put :
summary : Update Server information
tags :
- Server
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Server'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Server'
x-codegen-request-body-name : body
/session :
get :
summary : Fetch Session information
tags :
- Session
parameters :
- name : token
in : query
schema :
type : string
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/User'
'404' :
description : Not Found
content : {}
post :
summary : Create a new Session
tags :
- Session
requestBody :
content :
application/x-www-form-urlencoded :
schema :
required :
- email
- password
properties :
email :
type : string
password :
type : string
format : password
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/User'
'401' :
description : Unauthorized
content : {}
delete :
summary : Close the Session
tags :
- Session
responses :
'204' :
description : No Content
content : {}
/session/openid/auth :
get :
summary : Fetch Session information
tags :
- Session
responses :
'303' :
description : Redirect to OpenID Connect identity provider
content : {}
/session/openid/callback :
get :
summary : OpenID Callback
tags :
- Session
responses :
'303' :
description : Successful authentication, redirect to homepage
content : {}
/users :
get :
summary : Fetch a list of Users
tags :
- Users
parameters :
- name : userId
in : query
description : Can only be used by admin or manager users
schema :
type : string
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/User'
'400' :
description : No Permission
content : {}
post :
summary : Create a User
tags :
- Users
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/User'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/User'
x-codegen-request-body-name : body
/users/{id}:
put :
summary : Update a User
tags :
- Users
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/User'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/User'
x-codegen-request-body-name : body
delete :
summary : Delete a User
tags :
- Users
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
/notifications :
get :
summary : Fetch a list of Notifications
description : >-
Without params, it returns a list of Notifications the user has access
to
tags :
- Notifications
parameters :
- name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
- name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
- name : deviceId
in : query
description : >-
Standard users can use this only with _deviceId_s, they have access
to
schema :
type : integer
- name : groupId
in : query
description : >-
Standard users can use this only with _groupId_s, they have access
to
schema :
type : integer
- name : refresh
in : query
schema :
type : boolean
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Notification'
post :
summary : Create a Notification
tags :
- Notifications
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Notification'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Notification'
x-codegen-request-body-name : body
/notifications/{id}:
put :
summary : Update a Notification
tags :
- Notifications
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Notification'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Notification'
x-codegen-request-body-name : body
delete :
summary : Delete a Notification
tags :
- Notifications
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
/notifications/types :
get :
summary : Fetch a list of available Notification types
tags :
- Notifications
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/NotificationType'
/notifications/test :
post :
summary : Send test notification to current user via Email and SMS
tags :
- Notifications
responses :
'204' :
description : Successful sending
content : {}
'400' :
description : Could happen if sending has failed
content : {}
/geofences :
get :
summary : Fetch a list of Geofences
description : Without params, it returns a list of Geofences the user has access to
tags :
- Geofences
parameters :
- name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
- name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
- name : deviceId
in : query
description : >-
Standard users can use this only with _deviceId_s, they have access
to
schema :
type : integer
- name : groupId
in : query
description : >-
Standard users can use this only with _groupId_s, they have access
to
schema :
type : integer
- name : refresh
in : query
schema :
type : boolean
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Geofence'
post :
summary : Create a Geofence
tags :
- Geofences
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Geofence'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Geofence'
x-codegen-request-body-name : body
/geofences/{id}:
put :
summary : Update a Geofence
tags :
- Geofences
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Geofence'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Geofence'
x-codegen-request-body-name : body
delete :
summary : Delete a Geofence
tags :
- Geofences
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
/events/{id}:
get :
tags :
- Events
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Event'
/reports/route :
get :
summary : >-
Fetch a list of Positions within the time period for the Devices or
Groups
description : At least one _deviceId_ or one _groupId_ must be passed
tags :
- Reports
parameters :
- name : deviceId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : groupId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : from
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
- name : to
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Position'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet :
schema :
type : array
items :
$ref : '#/components/schemas/Position'
/reports/events :
get :
summary : Fetch a list of Events within the time period for the Devices or Groups
description : At least one _deviceId_ or one _groupId_ must be passed
tags :
- Reports
parameters :
- name : deviceId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : groupId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : type
in : query
description : '% can be used to return events of all types'
style : form
explode : false
schema :
type : array
items :
type : string
- name : from
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
- name : to
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Event'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet :
schema :
type : array
items :
$ref : '#/components/schemas/Event'
/reports/summary :
get :
summary : >-
Fetch a list of ReportSummary within the time period for the Devices or
Groups
description : At least one _deviceId_ or one _groupId_ must be passed
tags :
- Reports
parameters :
- name : deviceId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : groupId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : from
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
- name : to
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/ReportSummary'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet :
schema :
type : array
items :
$ref : '#/components/schemas/ReportSummary'
/reports/trips :
get :
summary : >-
Fetch a list of ReportTrips within the time period for the Devices or
Groups
description : At least one _deviceId_ or one _groupId_ must be passed
tags :
- Reports
parameters :
- name : deviceId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : groupId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : from
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
- name : to
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/ReportTrips'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet :
schema :
type : array
items :
$ref : '#/components/schemas/ReportTrips'
/reports/stops :
get :
summary : >-
Fetch a list of ReportStops within the time period for the Devices or
Groups
description : At least one _deviceId_ or one _groupId_ must be passed
tags :
- Reports
parameters :
- name : deviceId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : groupId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
- name : from
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
- name : to
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/ReportStops'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet :
schema :
type : array
items :
$ref : '#/components/schemas/ReportStops'
/statistics :
get :
summary : Fetch server Statistics
tags :
- Statistics
parameters :
- name : from
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
- name : to
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Statistics'
/calendars :
get :
summary : Fetch a list of Calendars
description : Without params, it returns a list of Calendars the user has access to
tags :
- Calendars
parameters :
- name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
- name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Calendar'
post :
summary : Create a Calendar
tags :
- Calendars
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Calendar'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Calendar'
x-codegen-request-body-name : body
/calendars/{id}:
put :
summary : Update a Calendar
tags :
- Calendars
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Calendar'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Calendar'
x-codegen-request-body-name : body
delete :
summary : Delete a Calendar
tags :
- Calendars
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
/attributes/computed :
get :
summary : Fetch a list of Attributes
description : Without params, it returns a list of Attributes the user has access to
tags :
- Attributes
parameters :
- name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
- name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
- name : deviceId
in : query
description : >-
Standard users can use this only with _deviceId_s, they have access
to
schema :
type : integer
- name : groupId
in : query
description : >-
Standard users can use this only with _groupId_s, they have access
to
schema :
type : integer
- name : refresh
in : query
schema :
type : boolean
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Attribute'
post :
summary : Create an Attribute
tags :
- Attributes
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Attribute'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Attribute'
x-codegen-request-body-name : body
/attributes/computed/{id}:
put :
summary : Update an Attribute
tags :
- Attributes
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Attribute'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Attribute'
x-codegen-request-body-name : body
delete :
summary : Delete an Attribute
tags :
- Attributes
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
/drivers :
get :
summary : Fetch a list of Drivers
description : Without params, it returns a list of Drivers the user has access to
tags :
- Drivers
parameters :
- name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
- name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
- name : deviceId
in : query
description : >-
Standard users can use this only with _deviceId_s, they have access
to
schema :
type : integer
- name : groupId
in : query
description : >-
Standard users can use this only with _groupId_s, they have access
to
schema :
type : integer
- name : refresh
in : query
schema :
type : boolean
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Driver'
post :
summary : Create a Driver
tags :
- Drivers
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Driver'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Driver'
x-codegen-request-body-name : body
/drivers/{id}:
put :
summary : Update a Driver
tags :
- Drivers
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Driver'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Driver'
x-codegen-request-body-name : body
delete :
summary : Delete a Driver
tags :
- Drivers
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
/maintenance :
get :
summary : Fetch a list of Maintenance
description : Without params, it returns a list of Maintenance the user has access to
tags :
- Maintenance
parameters :
- name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
- name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
- name : deviceId
in : query
description : >-
Standard users can use this only with _deviceId_s, they have access
to
schema :
type : integer
- name : groupId
in : query
description : >-
Standard users can use this only with _groupId_s, they have access
to
schema :
type : integer
- name : refresh
in : query
schema :
type : boolean
responses :
'200' :
description : OK
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Maintenance'
post :
summary : Create a Maintenance
tags :
- Maintenance
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Maintenance'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Maintenance'
x-codegen-request-body-name : body
/maintenance/{id}:
put :
summary : Update a Maintenance
tags :
- Maintenance
parameters :
- name : id
in : path
required : true
schema :
type : integer
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Maintenance'
required : true
responses :
'200' :
description : OK
content :
application/json :
schema :
$ref : '#/components/schemas/Maintenance'
x-codegen-request-body-name : body
delete :
summary : Delete a Maintenance
tags :
- Maintenance
parameters :
- name : id
in : path
required : true
schema :
type : integer
responses :
'204' :
description : No Content
content : {}
components :
schemas :
Position :
type : object
properties :
id :
type : integer
deviceId :
type : integer
protocol :
type : string
deviceTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
fixTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
serverTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
outdated :
type : boolean
valid :
type : boolean
latitude :
type : number
longitude :
type : number
altitude :
type : number
speed :
type : number
description : in knots
course :
type : number
address :
type : string
accuracy :
type : number
network :
type : object
properties : {}
geofenceIds :
type : array
items :
type : integer
attributes :
type : object
properties : {}
User :
type : object
properties :
id :
type : integer
name :
type : string
email :
type : string
phone :
type : string
readonly :
type : boolean
administrator :
type : boolean
map :
type : string
latitude :
type : number
longitude :
type : number
zoom :
type : integer
password :
type : string
coordinateFormat :
type : string
disabled :
type : boolean
expirationTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
2024-11-22 01:40:09 +08:00
nullable : true
2024-09-18 22:29:45 +08:00
deviceLimit :
type : integer
userLimit :
type : integer
deviceReadonly :
type : boolean
limitCommands :
type : boolean
fixedEmail :
type : boolean
poiLayer :
type : string
attributes :
type : object
properties : {}
Server :
type : object
properties :
id :
type : integer
registration :
type : boolean
readonly :
type : boolean
deviceReadonly :
type : boolean
limitCommands :
type : boolean
map :
type : string
bingKey :
type : string
mapUrl :
type : string
poiLayer :
type : string
latitude :
type : number
longitude :
type : number
zoom :
type : integer
version :
type : string
forceSettings :
type : boolean
coordinateFormat :
type : string
openIdEnabled :
type : boolean
openIdForce :
type : boolean
attributes :
type : object
properties : {}
Command :
type : object
properties :
id :
type : integer
deviceId :
type : integer
description :
type : string
type :
type : string
attributes :
type : object
properties : {}
Device :
type : object
properties :
id :
type : integer
name :
type : string
uniqueId :
type : string
status :
type : string
disabled :
type : boolean
lastUpdate :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
positionId :
type : integer
groupId :
type : integer
phone :
type : string
model :
type : string
contact :
type : string
category :
type : string
attributes :
type : object
properties : {}
Group :
type : object
properties :
id :
type : integer
name :
type : string
groupId :
type : integer
attributes :
type : object
properties : {}
Permission :
type : object
properties :
userId :
type : integer
description : User id, can be only first parameter
deviceId :
type : integer
description : >-
Device id, can be first parameter or second only in combination with
userId
groupId :
type : integer
description : >-
Group id, can be first parameter or second only in combination with
userId
geofenceId :
type : integer
description : Geofence id, can be second parameter only
notificationId :
type : integer
description : Notification id, can be second parameter only
calendarId :
type : integer
description : >-
Calendar id, can be second parameter only and only in combination
with userId
attributeId :
type : integer
description : Computed attribute id, can be second parameter only
driverId :
type : integer
description : Driver id, can be second parameter only
managedUserId :
type : integer
description : >-
User id, can be second parameter only and only in combination with
userId
commandId :
type : integer
description : Saved command id, can be second parameter only
description : >-
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 }
CommandType :
type : object
properties :
type :
type : string
Geofence :
type : object
properties :
id :
type : integer
name :
type : string
description :
type : string
area :
type : string
calendarId :
type : integer
attributes :
type : object
properties : {}
Notification :
type : object
properties :
id :
type : integer
type :
type : string
always :
type : boolean
web :
type : boolean
mail :
type : boolean
sms :
type : boolean
calendarId :
type : integer
attributes :
type : object
properties : {}
NotificationType :
type : object
properties :
type :
type : string
Event :
type : object
properties :
id :
type : integer
type :
type : string
eventTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
deviceId :
type : integer
positionId :
type : integer
geofenceId :
type : integer
maintenanceId :
type : integer
attributes :
type : object
properties : {}
ReportSummary :
type : object
properties :
deviceId :
type : integer
deviceName :
type : string
maxSpeed :
type : number
description : in knots
averageSpeed :
type : number
description : in knots
distance :
type : number
description : in meters
spentFuel :
type : number
description : in liters
engineHours :
type : integer
ReportTrips :
type : object
properties :
deviceId :
type : integer
deviceName :
type : string
maxSpeed :
type : number
description : in knots
averageSpeed :
type : number
description : in knots
distance :
type : number
description : in meters
spentFuel :
type : number
description : in liters
duration :
type : integer
startTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
startAddress :
type : string
startLat :
type : number
startLon :
type : number
endTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
endAddress :
type : string
endLat :
type : number
endLon :
type : number
driverUniqueId :
type : integer
driverName :
type : string
ReportStops :
type : object
properties :
deviceId :
type : integer
deviceName :
type : string
duration :
type : integer
startTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
address :
type : string
lat :
type : number
lon :
type : number
endTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
spentFuel :
type : number
description : in liters
engineHours :
type : integer
Statistics :
type : object
properties :
captureTime :
type : string
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
format : date-time
activeUsers :
type : integer
activeDevices :
type : integer
requests :
type : integer
messagesReceived :
type : integer
messagesStored :
type : integer
DeviceAccumulators :
type : object
properties :
deviceId :
type : integer
totalDistance :
type : number
description : in meters
hours :
type : number
Calendar :
type : object
properties :
id :
type : integer
name :
type : string
data :
type : string
description : base64 encoded in iCalendar format
attributes :
type : object
properties : {}
Attribute :
type : object
properties :
id :
type : integer
description :
type : string
attribute :
type : string
expression :
type : string
type :
type : string
description : String|Number|Boolean
Driver :
type : object
properties :
id :
type : integer
name :
type : string
uniqueId :
type : string
attributes :
type : object
properties : {}
Maintenance :
type : object
properties :
id :
type : integer
name :
type : string
type :
type : string
start :
type : number
period :
type : number
attributes :
type : object
properties : {}
parameters :
entityId :
name : id
in : path
required : true
schema :
type : integer
all :
name : all
in : query
description : Can only be used by admins or managers to fetch all entities
schema :
type : boolean
refresh :
name : refresh
in : query
schema :
type : boolean
userId :
name : userId
in : query
description : Standard users can use this only with their own _userId_
schema :
type : integer
deviceId :
name : deviceId
in : query
description : Standard users can use this only with _deviceId_s, they have access to
schema :
type : integer
groupId :
name : groupId
in : query
description : Standard users can use this only with _groupId_s, they have access to
schema :
type : integer
deviceIdArray :
name : deviceId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
groupIdArray :
name : groupId
in : query
style : form
explode : true
schema :
type : array
items :
type : integer
fromTime :
name : from
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
toTime :
name : to
in : query
description : in IS0 8601 format. eg. `1963-11-22T18:30:00Z`
required : true
schema :
type : string
format : date-time
requestBodies :
Device :
content :
application/json :
schema :
$ref : '#/components/schemas/Device'
required : true
Permission :
content :
application/json :
schema :
$ref : '#/components/schemas/Permission'
required : true
Group :
content :
application/json :
schema :
$ref : '#/components/schemas/Group'
required : true
User :
content :
application/json :
schema :
$ref : '#/components/schemas/User'
required : true
Geofence :
content :
application/json :
schema :
$ref : '#/components/schemas/Geofence'
required : true
Calendar :
content :
application/json :
schema :
$ref : '#/components/schemas/Calendar'
required : true
Attribute :
content :
application/json :
schema :
$ref : '#/components/schemas/Attribute'
required : true
Driver :
content :
application/json :
schema :
$ref : '#/components/schemas/Driver'
required : true
Command :
content :
application/json :
schema :
$ref : '#/components/schemas/Command'
required : true
Notification :
content :
application/json :
schema :
$ref : '#/components/schemas/Notification'
required : true
Maintenance :
content :
application/json :
schema :
$ref : '#/components/schemas/Maintenance'
required : true
securitySchemes :
BasicAuth :
type : http
scheme : basic
ApiKey :
type : http
scheme : bearer