mirror of
https://github.com/traccar/traccar.git
synced 2025-01-05 10:17:05 +08:00
2353 lines
59 KiB
YAML
2353 lines
59 KiB
YAML
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
|
|
nullable: true
|
|
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
|