mirror of
https://github.com/traccar/traccar.git
synced 2026-01-08 23:50:22 -05:00
2267 lines
71 KiB
JSON
2267 lines
71 KiB
JSON
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"version": "4.3",
|
|
"title": "traccar"
|
|
},
|
|
"host": "demo.traccar.org",
|
|
"basePath": "/api",
|
|
"schemes": [
|
|
"http"
|
|
],
|
|
"security": [
|
|
{
|
|
"basicAuth": []
|
|
}
|
|
],
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"paths": {
|
|
"/commands": {
|
|
"get": {
|
|
"summary": "Fetch a list of Saved Commands",
|
|
"description": "Without params, it returns a list of Drivers the user has access to",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/all"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/userId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/deviceId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/refresh"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Command"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a Saved Command",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Command"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Command"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/commands/{id}": {
|
|
"put": {
|
|
"summary": "Update a Saved Command",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/Command"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Command"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a Saved Command",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No 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",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/deviceId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Command"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Could happen when the user doesn't have permission for the device"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Dispatch commands to device",
|
|
"description": "Dispatch a new command or Saved Command if _body.id_ set",
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Command"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Command sent",
|
|
"schema": {
|
|
"$ref": "#/definitions/Command"
|
|
}
|
|
},
|
|
"202": {
|
|
"description": "Command queued",
|
|
"schema": {
|
|
"$ref": "#/definitions/Command"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Could happen when the user doesn't have permission or an incorrect command _type_ for the device"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/commands/types": {
|
|
"get": {
|
|
"summary": "Fetch a list of available Commands for the Device or all possible Commands if Device ommited",
|
|
"parameters": [
|
|
{
|
|
"name": "deviceId",
|
|
"in": "query",
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"name": "textChannel",
|
|
"in": "query",
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/CommandType"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Could happen when trying to fetch from a device the user does not have permission"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/devices": {
|
|
"get": {
|
|
"summary": "Fetch a list of Devices",
|
|
"description": "Without any params, returns a list of the user's devices",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/all"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/userId"
|
|
},
|
|
{
|
|
"name" : "id",
|
|
"in" : "query",
|
|
"description" : "To fetch one or more devices. Multiple params can be passed like `id=31&id=42`",
|
|
"required" : false,
|
|
"type" : "integer",
|
|
"collectionFormat" : "multi"
|
|
},
|
|
{
|
|
"name" : "uniqueId",
|
|
"in" : "query",
|
|
"description" : "To fetch one or more devices. Multiple params can be passed like `uniqueId=333331&uniqieId=44442`",
|
|
"required" : false,
|
|
"type" : "string",
|
|
"collectionFormat" : "multi"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Device"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "No permission"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a Device",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Device"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Device"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/devices/{id}": {
|
|
"put": {
|
|
"summary": "Update a Device",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/Device"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Device"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a Device",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/devices/{id}/accumulators": {
|
|
"put": {
|
|
"summary": "Update total distance and hours of the Device",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/DeviceAccumulators"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/groups": {
|
|
"get": {
|
|
"summary": "Fetch a list of Groups",
|
|
"description": "Without any params, returns a list of the Groups the user belongs to",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/all"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/userId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Group"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a Group",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Group"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Group"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "No permission"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/groups/{id}": {
|
|
"put": {
|
|
"summary": "Update a Group",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/Group"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Group"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a Group",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/permissions": {
|
|
"post": {
|
|
"summary": "Link an Object to another Object",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Permission"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Permission"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "No permission"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Unlink an Object from another Object",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Permission"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/positions": {
|
|
"get": {
|
|
"summary" : "Fetches a list of Positions",
|
|
"description" : "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_",
|
|
"consumes": [
|
|
"application/json",
|
|
"text/csv",
|
|
"application/gpx+xml"
|
|
],
|
|
"produces": [
|
|
"application/json",
|
|
"text/csv",
|
|
"application/gpx+xml"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "deviceId",
|
|
"in": "query",
|
|
"description": "_deviceId_ is optional, but requires the _from_ and _to_ parameters when used",
|
|
"required": false,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"name": "from",
|
|
"in": "query",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`",
|
|
"required": false,
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
{
|
|
"name": "to",
|
|
"in": "query",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`",
|
|
"required": false,
|
|
"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`",
|
|
"required" : false,
|
|
"type" : "integer",
|
|
"collectionFormat" : "multi"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Position"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/server": {
|
|
"get": {
|
|
"summary": "Fetch Server information",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Server"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"summary": "Update Server information",
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Server"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Server"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/session": {
|
|
"get": {
|
|
"summary": "Fetch Session information",
|
|
"consumes": [
|
|
"application/x-www-form-urlencoded"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "token",
|
|
"in": "query",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/User"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a new Session",
|
|
"consumes": [
|
|
"application/x-www-form-urlencoded"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "email",
|
|
"in": "formData",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "password",
|
|
"in": "formData",
|
|
"required": true,
|
|
"type": "string",
|
|
"format": "password"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/User"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Close the Session",
|
|
"consumes": [
|
|
"application/x-www-form-urlencoded"
|
|
],
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users": {
|
|
"get": {
|
|
"summary": "Fetch a list of Users",
|
|
"parameters": [
|
|
{
|
|
"name": "userId",
|
|
"in": "query",
|
|
"description": "Can only be used by admin or manager users",
|
|
"required": false,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/User"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "No Permission"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a User",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/User"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/User"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/{id}": {
|
|
"put": {
|
|
"summary": "Update a User",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/User"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/User"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a User",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/notifications": {
|
|
"get": {
|
|
"summary": "Fetch a list of Notifications",
|
|
"description": "Without params, it returns a list of Notifications the user has access to",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/all"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/userId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/deviceId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/refresh"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Notification"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a Notification",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Notification"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Notification"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/notifications/{id}": {
|
|
"put": {
|
|
"summary": "Update a Notification",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/Notification"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Notification"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a Notification",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/notifications/types": {
|
|
"get": {
|
|
"summary": "Fetch a list of available Notification types",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/NotificationType"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/notifications/test": {
|
|
"post": {
|
|
"summary": "Send test notification to current user via Email and SMS",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "Successful sending"
|
|
},
|
|
"400": {
|
|
"description": "Could happen if sending has failed"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/geofences": {
|
|
"get": {
|
|
"summary": "Fetch a list of Geofences",
|
|
"description": "Without params, it returns a list of Geofences the user has access to",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/all"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/userId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/deviceId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/refresh"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Geofence"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a Geofence",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Geofence"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Geofence"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/geofences/{id}": {
|
|
"put": {
|
|
"summary": "Update a Geofence",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/Geofence"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Geofence"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a Geofence",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/events/{id}": {
|
|
"get": {
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/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",
|
|
"consumes": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"produces": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/deviceIdArray"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupIdArray"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/fromTime"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/toTime"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/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",
|
|
"consumes": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"produces": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/deviceIdArray"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupIdArray"
|
|
},
|
|
{
|
|
"name": "type",
|
|
"in": "query",
|
|
"description": "% can be used to return events of all types",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"$ref": "#/parameters/fromTime"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/toTime"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/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",
|
|
"consumes": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"produces": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/deviceIdArray"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupIdArray"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/fromTime"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/toTime"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/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",
|
|
"consumes": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"produces": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/deviceIdArray"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupIdArray"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/fromTime"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/toTime"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/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",
|
|
"consumes": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"produces": [
|
|
"application/json",
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/deviceIdArray"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupIdArray"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/fromTime"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/toTime"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/ReportStops"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/statistics": {
|
|
"get": {
|
|
"summary": "Fetch server Statistics",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/fromTime"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/toTime"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Statistics"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/calendars": {
|
|
"get": {
|
|
"summary": "Fetch a list of Calendars",
|
|
"description": "Without params, it returns a list of Calendars the user has access to",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/all"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/userId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Calendar"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a Calendar",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Calendar"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Calendar"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/calendars/{id}": {
|
|
"put": {
|
|
"summary": "Update a Calendar",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/Calendar"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Calendar"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a Calendar",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/attributes/computed": {
|
|
"get": {
|
|
"summary": "Fetch a list of Attributes",
|
|
"description": "Without params, it returns a list of Attributes the user has access to",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/all"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/userId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/deviceId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/refresh"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Attribute"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create an Attribute",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Attribute"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Attribute"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/attributes/computed/{id}": {
|
|
"put": {
|
|
"summary": "Update an Attribute",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/Attribute"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Attribute"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete an Attribute",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/drivers": {
|
|
"get": {
|
|
"summary": "Fetch a list of Drivers",
|
|
"description": "Without params, it returns a list of Drivers the user has access to",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/all"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/userId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/deviceId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/refresh"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Driver"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a Driver",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Driver"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Driver"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/drivers/{id}": {
|
|
"put": {
|
|
"summary": "Update a Driver",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/Driver"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Driver"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a Driver",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/maintenance": {
|
|
"get": {
|
|
"summary": "Fetch a list of Maintenance",
|
|
"description": "Without params, it returns a list of Maintenance the user has access to",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/all"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/userId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/deviceId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/groupId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/refresh"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Maintenance"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Create a Maintenance",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/Maintenance"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Maintenance"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/maintenance/{id}": {
|
|
"put": {
|
|
"summary": "Update a Maintenance",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
},
|
|
{
|
|
"$ref": "#/parameters/Maintenance"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Maintenance"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a Maintenance",
|
|
"parameters": [
|
|
{
|
|
"$ref": "#/parameters/entityId"
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "No Content"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"Position": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"deviceId": {
|
|
"type": "integer"
|
|
},
|
|
"protocol": {
|
|
"type": "string"
|
|
},
|
|
"deviceTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"fixTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"serverTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"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": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"User": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"readonly": {
|
|
"type": "boolean"
|
|
},
|
|
"administrator": {
|
|
"type": "boolean"
|
|
},
|
|
"map": {
|
|
"type": "string"
|
|
},
|
|
"latitude": {
|
|
"type": "number"
|
|
},
|
|
"longitude": {
|
|
"type": "number"
|
|
},
|
|
"zoom": {
|
|
"type": "integer"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"twelveHourFormat": {
|
|
"type": "boolean"
|
|
},
|
|
"coordinateFormat": {
|
|
"type": "string"
|
|
},
|
|
"disabled": {
|
|
"type": "boolean"
|
|
},
|
|
"expirationTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"deviceLimit": {
|
|
"type": "integer"
|
|
},
|
|
"userLimit": {
|
|
"type": "integer"
|
|
},
|
|
"deviceReadonly": {
|
|
"type": "boolean"
|
|
},
|
|
"limitCommands": {
|
|
"type": "boolean"
|
|
},
|
|
"poiLayer": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"Server": {
|
|
"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"
|
|
},
|
|
"twelveHourFormat": {
|
|
"type": "boolean"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"forceSettings": {
|
|
"type": "boolean"
|
|
},
|
|
"coordinateFormat": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"Command": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"deviceId": {
|
|
"type": "integer"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"Device": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"uniqueId": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"disabled": {
|
|
"type": "boolean"
|
|
},
|
|
"lastUpdate": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"positionId": {
|
|
"type": "integer"
|
|
},
|
|
"groupId": {
|
|
"type": "integer"
|
|
},
|
|
"phone": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"contact": {
|
|
"type": "string"
|
|
},
|
|
"category": {
|
|
"type": "string"
|
|
},
|
|
"geofenceIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"Group": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"groupId": {
|
|
"type": "integer"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"Permission": {
|
|
"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 }",
|
|
"properties": {
|
|
"userId": {
|
|
"description": "User Id, can be only first parameter",
|
|
"type": "integer"
|
|
},
|
|
"deviceId": {
|
|
"description": "Device Id, can be first parameter or second only in combination with userId",
|
|
"type": "integer"
|
|
},
|
|
"groupId": {
|
|
"description": "Group Id, can be first parameter or second only in combination with userId",
|
|
"type": "integer"
|
|
},
|
|
"geofenceId": {
|
|
"description": "Geofence Id, can be second parameter only",
|
|
"type": "integer"
|
|
},
|
|
"calendarId": {
|
|
"description": "Geofence Id, can be second parameter only and only in combination with userId",
|
|
"type": "integer"
|
|
},
|
|
"attributeId": {
|
|
"description": "Computed Attribute Id, can be second parameter only",
|
|
"type": "integer"
|
|
},
|
|
"driverId": {
|
|
"description": "Driver Id, can be second parameter only",
|
|
"type": "integer"
|
|
},
|
|
"managedUserId": {
|
|
"description": "User Id, can be second parameter only and only in combination with userId",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"CommandType": {
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Geofence": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"area": {
|
|
"type": "string"
|
|
},
|
|
"calendarId": {
|
|
"type": "integer"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"Notification": {
|
|
"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",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"NotificationType": {
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Event": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"serverTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"deviceId": {
|
|
"type": "integer"
|
|
},
|
|
"positionId": {
|
|
"type": "integer"
|
|
},
|
|
"geofenceId": {
|
|
"type": "integer"
|
|
},
|
|
"maintenanceId": {
|
|
"type": "integer"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"ReportSummary": {
|
|
"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": {
|
|
"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",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"startAddress": {
|
|
"type": "string"
|
|
},
|
|
"startLat": {
|
|
"type": "number"
|
|
},
|
|
"startLon": {
|
|
"type": "number"
|
|
},
|
|
"endTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"endAddress": {
|
|
"type": "string"
|
|
},
|
|
"endLat": {
|
|
"type": "number"
|
|
},
|
|
"endLon": {
|
|
"type": "number"
|
|
},
|
|
"driverUniqueId": {
|
|
"type": "integer"
|
|
},
|
|
"driverName": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"ReportStops": {
|
|
"properties": {
|
|
"deviceId": {
|
|
"type": "integer"
|
|
},
|
|
"deviceName": {
|
|
"type": "string"
|
|
},
|
|
"duration": {
|
|
"type": "integer"
|
|
},
|
|
"startTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"lat": {
|
|
"type": "number"
|
|
},
|
|
"lon": {
|
|
"type": "number"
|
|
},
|
|
"endTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"spentFuel": {
|
|
"type": "number",
|
|
"description": "in liters"
|
|
},
|
|
"engineHours": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"Statistics": {
|
|
"properties": {
|
|
"captureTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`"
|
|
},
|
|
"activeUsers": {
|
|
"type": "integer"
|
|
},
|
|
"activeDevices": {
|
|
"type": "integer"
|
|
},
|
|
"requests": {
|
|
"type": "integer"
|
|
},
|
|
"messagesReceived": {
|
|
"type": "integer"
|
|
},
|
|
"messagesStored": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"DeviceAccumulators": {
|
|
"properties": {
|
|
"deviceId": {
|
|
"type": "integer"
|
|
},
|
|
"totalDistance": {
|
|
"type": "number",
|
|
"description": "in meters"
|
|
},
|
|
"hours": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"Calendar": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "string",
|
|
"description": "base64 encoded in iCalendar format"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"Attribute": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"attribute": {
|
|
"type": "string"
|
|
},
|
|
"expression": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"description": "String|Number|Boolean"
|
|
}
|
|
}
|
|
},
|
|
"Driver": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"uniqueId": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"Maintenance": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"start": {
|
|
"type": "number"
|
|
},
|
|
"period": {
|
|
"type": "number"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"parameters": {
|
|
"entityId": {
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"type": "integer"
|
|
},
|
|
"all": {
|
|
"name": "all",
|
|
"in": "query",
|
|
"description": "Can only be used by admins or managers to fetch all entities",
|
|
"type": "boolean"
|
|
},
|
|
"refresh": {
|
|
"name": "refresh",
|
|
"in": "query",
|
|
"required": false,
|
|
"type": "boolean"
|
|
},
|
|
"userId": {
|
|
"name": "userId",
|
|
"in": "query",
|
|
"description": "Standard users can use this only with their own _userId_",
|
|
"type": "integer"
|
|
},
|
|
"deviceId": {
|
|
"name": "deviceId",
|
|
"in": "query",
|
|
"description": "Standard users can use this only with _deviceId_s, they have access to",
|
|
"type": "integer"
|
|
},
|
|
"groupId": {
|
|
"name": "groupId",
|
|
"in": "query",
|
|
"description": "Standard users can use this only with _groupId_s, they have access to",
|
|
"type": "integer"
|
|
},
|
|
"Device": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Device"
|
|
}
|
|
},
|
|
"Permission": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Permission"
|
|
}
|
|
},
|
|
"Group": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Group"
|
|
}
|
|
},
|
|
"User": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/User"
|
|
}
|
|
},
|
|
"Geofence": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Geofence"
|
|
}
|
|
},
|
|
"Calendar": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Calendar"
|
|
}
|
|
},
|
|
"Attribute": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Attribute"
|
|
}
|
|
},
|
|
"Driver": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Driver"
|
|
}
|
|
},
|
|
"Command": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Command"
|
|
}
|
|
},
|
|
"Notification": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Notification"
|
|
}
|
|
},
|
|
"Maintenance": {
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Maintenance"
|
|
}
|
|
},
|
|
"deviceIdArray": {
|
|
"name": "deviceId",
|
|
"in": "query",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"collectionFormat": "multi"
|
|
},
|
|
"groupIdArray": {
|
|
"name": "groupId",
|
|
"in": "query",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"collectionFormat": "multi"
|
|
},
|
|
"fromTime": {
|
|
"name": "from",
|
|
"in": "query",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`",
|
|
"required": true,
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"toTime": {
|
|
"name": "to",
|
|
"in": "query",
|
|
"description": "in IS0 8601 format. eg. `1963-11-22T18:30:00Z`",
|
|
"required": true,
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"basicAuth": {
|
|
"type": "basic",
|
|
"description": "Basic HTTP authorization with _email_ and _password_"
|
|
}
|
|
}
|
|
}
|