openapi: "3.0.0" info: version: 1.0.0 title: SensLog Telemetry servers: - url: http://127.0.0.1:8080 - url: https://theros.wirelessinfo.cz paths: /info: get: operationId: infoGET summary: Information about running instance responses: 200: description: Instance information content: application/json: schema: $ref: "#/components/schemas/Info" default: description: unexpected error content: application/json: schema: $ref: "#/components/schemas/Error" /campaigns: get: operationId: campaignsGET summary: Publish info about all campaigns parameters: - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON array of basic info of each campaign content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}: get: operationId: campaignIdGET summary: Publish info about a campaign parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON object containing info about a campaign content: application/json: schema: $ref: '#/components/schemas/CampaignDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units: get: operationId: campaignIdUnitsGET summary: Publish info about the campaign's units parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array containing info about campaign's units content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignUnitBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/observations: get: operationId: campaignIdUnitsObservationsGET summary: Publish info about all data of units merged together within the campaign parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/formatParam' - $ref: '#/components/parameters/filterParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON containing stream of telemetry data content: application/json: schema: $ref: '#/components/schemas/CampaignObservation' application/geo+json: schema: $ref: '#/components/schemas/GeoCampaignObservation' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: campaignIdUnitsObservationsPOST parameters: - $ref: '#/components/parameters/campaignIdParam' requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignDataObservation' application/geo+json: schema: $ref: '#/components/schemas/GeoCampaignObservation' responses: 200: description: JSON content: application/json: schema: type: object properties: saved: type: integer minimum: 0 errors: type: integer minimum: 0 default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/observations/locations: get: operationId: campaignIdUnitsObservationsLocationsGET summary: Publish info about all data of units merged together within the campaign parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/limitPerUnitParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/sortParam' - $ref: '#/components/parameters/formatParam' - $ref: '#/components/parameters/filterParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON containing stream of telemetry data content: application/json: schema: $ref: '#/components/schemas/CampaignUnitsLocations' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/{unitId}: get: operationId: campaignIdUnitIdGET summary: Publish info about the unit within its campaign's scope parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object containing info about the unit within its campaign' scope content: application/json: schema: $ref: '#/components/schemas/CampaignUnitDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/{unitId}/observations: get: operationId: campaignIdUnitIdObservationsGET summary: Publish info about all data of the unit within the campaign parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/formatParam' - $ref: '#/components/parameters/filterParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON containing stream of telemetry data content: application/json: schema: $ref: '#/components/schemas/CampaignUnitObservation' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/{unitId}/observations/locations: get: operationId: campaignIdUnitIdLocationsGET summary: Publish locations of the unit within the campaign parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/filterParam' - $ref: '#/components/parameters/formatParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON containing stream of locations content: application/json: schema: $ref: '#/components/schemas/CampaignUnitLocation' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/{unitId}/sensors: get: operationId: campaignIdUnitIdSensorsGET summary: Publish info about all sensors of the unit within the campaign parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON containing information of sensors assigned to the unit within its campaign content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignUnitBasicSensor' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/{unitId}/sensors/{sensorId}: get: operationId: campaignIdUnitIdSensorIdGET summary: Publish info about all sensors asociated with the unit and the campaign parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/sensorIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object containing info about the sensor content: application/json: schema: $ref: '#/components/schemas/CampaignUnitDetailedSensor' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/{unitId}/sensors/{sensorId}/observations: get: operationId: campaignIdUnitIdSensorIdObservationsGET summary: Publish info about all data of the unit within the campaign parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/sensorIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/formatParam' - $ref: '#/components/parameters/filterParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON containing stream of telemetry data content: application/json: schema: $ref: '#/components/schemas/CampaignUnitSensorObservation' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /units: get: operationId: unitsGET summary: Publish info about all units parameters: - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON array of basic info of each unit content: application/json: schema: type: array items: $ref: '#/components/schemas/UnitBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /units/{unitId}: get: operationId: unitIdGET summary: Publish info about the unit parameters: - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of info of the unit content: application/json: schema: $ref: '#/components/schemas/UnitDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /units/{unitId}/sensors: get: operationId: unitIdSensorsGET summary: Publish info about sensors assigned to the unit parameters: - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of info of the sensors content: application/json: schema: type: array items: $ref: '#/components/schemas/UnitSensorBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /units/{unitId}/campaigns: get: operationId: unitIdCampaignsGET summary: Publish info about campaigns where the unit was/is assigned parameters: - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of info about campaigns content: application/json: schema: type: array items: $ref: '#/components/schemas/UnitCampaignBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /units/{unitId}/drivers: get: operationId: unitIdDriversGET summary: Publish basic info about drivers who performed actions upon the unit parameters: - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of drivers content: application/json: schema: type: array items: $ref: '#/components/schemas/UnitDriverBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /sensors: get: operationId: sensorsGET summary: Publish info about all sensors parameters: - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of info about sensors content: application/json: schema: type: array items: $ref: '#/components/schemas/SensorBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /sensors/{sensorId}: get: operationId: sensorIdGET summary: Publish info about the sensor parameters: - $ref: '#/components/parameters/sensorIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of info about the sensor content: application/json: schema: $ref: '#/components/schemas/SensorDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /sensors/{sensorId}/units: get: operationId: sensorIdUnitsGET summary: Publish info about units to whom the sensor is assigned parameters: - $ref: '#/components/parameters/sensorIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of info about the units content: application/json: schema: type: array items: $ref: '#/components/schemas/SensorUnitBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /phenomenons: get: operationId: phenomenonsGET summary: Publish info about all phenomenons parameters: - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of info about phenomenons content: application/json: schema: type: array items: $ref: '#/components/schemas/PhenomenonBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /phenomenons/{phenomenonId}: get: operationId: phenomenonIdGET summary: Publish info about the phenomenon parameters: - $ref: '#/components/parameters/phenomenonIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of info about the phenomenon content: application/json: schema: $ref: '#/components/schemas/PhenomenonDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /phenomenons/{phenomenonId}/sensors: get: operationId: phenomenonIdSensorsGET summary: Publish info about sensors of the phenomenon parameters: - $ref: '#/components/parameters/phenomenonIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of info about sensors content: application/json: schema: type: array items: $ref: '#/components/schemas/PhenomenonSensorBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers: get: operationId: driversGET summary: Publish basic info about all drivers parameters: - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of basic info about drivers content: application/json: schema: type: array items: $ref: '#/components/schemas/DriverBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}: get: operationId: driverIdGET summary: Publish detailed info about the driver parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of detailed info about the driver content: application/json: schema: $ref: '#/components/schemas/DriverDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}/units: get: operationId: driverIdUnitsGET summary: Publish basic info about driver's units parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of basic info about units content: application/json: schema: type: array items: $ref: '#/components/schemas/DriverUnitBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}/units/{unitId}: get: operationId: driverIdUnitIdGET summary: Publish detailed info about driver's unit parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of detailed info about driver's unit content: application/json: schema: $ref: '#/components/schemas/DriverUnitDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}/units/{unitId}/actions: get: operationId: driverIdUnitIdActionsGET summary: Publish basic info actions performed on the unit by the driver parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of actions content: application/json: schema: type: array items: $ref: '#/components/schemas/DriverUnitActionBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}/actions: get: operationId: driverIdActionsGET summary: Publish basic info about driver's actions parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of basic info about driver's actions' content: application/json: schema: type: array items: $ref: '#/components/schemas/DriverActionBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}/actions/{actionId}: get: operationId: driverIdActionIdGET summary: Publish detailed info about the driver's action parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/actionIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of detailed info about the driver's action content: application/json: schema: $ref: '#/components/schemas/DriverActionDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}/actions/{actionId}/units: get: operationId: driverIdActionIdUnitsGET summary: Publish basic info about units on which the driver performed its action parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/actionIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of units content: application/json: schema: type: array items: $ref: '#/components/schemas/DriverActionUnitBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}/actions/{actionId}/units/{unitId}: get: operationId: driverIdActionIdUnitIdGET summary: Publish detail info about the unit on which the driver performed the action parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/actionIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of the unit content: application/json: schema: $ref: '#/components/schemas/DriverActionUnitDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}/units/{unitId}/actions/{actionId}: get: operationId: driverIdUnitIdActionIdGET summary: Publish detailed info about the action performed on the unit by the driver parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/actionIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of the action content: application/json: schema: $ref: '#/components/schemas/DriverUnitActionDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /drivers/{driverId}/units/{unitId}/actions/{actionId}/events: get: operationId: driverIdUnitIdActionIdEventsGET summary: Publish basic info about events that where performed on the unit byt the driver with the specific action parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/actionIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of events content: application/json: schema: type: array items: $ref: '#/components/schemas/EventBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /events/{eventId}: get: operationId: eventIdGET summary: Publish basic info about events that where performed on the unit byt the driver with the specific action parameters: - $ref: '#/components/parameters/eventIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of events content: application/json: schema: $ref: '#/components/schemas/EventDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /events/{eventId}/observations: get: operationId: eventIdObservationsGET summary: Publish telemetry observations created by the driver while performing specific action on the unit at the time/event parameters: - $ref: '#/components/parameters/eventIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/formatParam' - $ref: '#/components/parameters/filterParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of telemetry observations content: application/json: schema: $ref: '#/components/schemas/ActionEventObservation' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /events/{eventId}/observations/locations: get: operationId: eventIdLocationsGET summary: Publish locations created by the driver while performing specific action on the unit at the time/event parameters: - $ref: '#/components/parameters/eventIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/formatParam' - $ref: '#/components/parameters/filterParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON containing stream of locations content: application/json: schema: $ref: '#/components/schemas/ActionEventLocation' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' components: # securitySchemes: # ApiKeyAuth: # type: apiKey # in: header # name: Authorization parameters: campaignIdParam: in: path name: campaignId schema: type: integer format: int64 required: true description: Numeric ID of the campaign to get unitIdParam: in: path name: unitId schema: type: integer required: true description: Numeric ID of the unit to get sensorIdParam: in: path name: sensorId schema: type: integer required: true description: Numeric ID of the sensor to get phenomenonIdParam: in: path name: phenomenonId schema: type: integer format: int64 required: true description: Numeric ID of the phenomenon to get driverIdParam: in: path name: driverId schema: type: integer format: int64 required: true description: Numeric ID of the driver to get actionIdParam: in: path name: actionId schema: type: integer format: int64 required: true description: Numeric ID of the action to get eventIdParam: in: path name: eventId schema: type: integer format: int64 required: true description: Numeric ID of the event to get zoneParam: in: query name: zone schema: type: string default: UTC required: false examples: UTC: value: UTC GMT: value: GMT navigationLinksParam: in: query name: navigationLinks schema: type: boolean default: true description: Option to disable @NavigationLinks in a response limitParam: in: query name: limit schema: type: integer format: int64 required: false example: 100 offsetParam: in: query name: offset schema: type: integer format: int64 example: 100 fromParam: in: query name: from schema: type: string format: date-time required: false example: 2017-07-21T17:32:28Z toParam: in: query name: to schema: type: string format: date-time required: false example: 2017-07-21T17:32:28Z limitPerUnitParam: in: query name: limitPerUnit required: true schema: type: integer default: 1 examples: One locations: value: 1 summary: One location of each unit sortParam: in: query name: sort schema: type: string enum: [ asc, desc ] default: asc examples: Descending Order: value: desc summary: Last location of the units. Last location is combination of sort=desc & limitPerUnit=1 Ascending Order: value: asc filterParam: in: query name: filter description: Filter for results following the pattern (), e.g, schema: type: string required: false examples: Units latitude: value: unit(latitude)lt50.1 summary: Returns all units with its latitude coordination lower than (LT) 50.1 Units speed: value: unit(speed)gt90.0 summary: Returns all units with its speed greater than 90.0 Km/h Sensor ID value: value: sensor(105)gt10 summary: Returns sensors having its value greater than 10 formatParam: in: query name: format schema: type: string enum: [json, geojson] default: json required: false schemas: CampaignBasicInfo: type: object required: - id - fromTime - toTime x-NavigationLinks: Campaign@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdGET color: blue properties: Campaign@NavigationLink: $ref: '#/components/schemas/CampaignBasicInfo/x-NavigationLinks/Campaign@NavigationLink' id: type: integer format: int64 description: type: string fromTime: type: string format: date-time toTime: type: string format: date-time example: Campaign@NavigationLink: "/campaigns/1" id: 1 description: "Campaign 1" fromTime: "2023-01-25 15:35:32Z" toTime: "2023-03-20 10:35:32Z" CampaignDetailInfo: type: object required: - id - fromTime - toTime x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdGET Observations@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitsObservationsGET Locations@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitsObservationsLocationsGET Units@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitsGET properties: self@NavigationLink: $ref: '#/components/schemas/CampaignDetailInfo/x-NavigationLinks/self@NavigationLink' Observations@NavigationLink: $ref: '#/components/schemas/CampaignDetailInfo/x-NavigationLinks/Observations@NavigationLink' Locations@NavigationLink: $ref: '#/components/schemas/CampaignDetailInfo/x-NavigationLinks/Locations@NavigationLink' Units@NavigationLink: $ref: '#/components/schemas/CampaignDetailInfo/x-NavigationLinks/Units@NavigationLink' id: description: Identifier of the campaign type: integer format: int64 description: description: Text description of the campaign type: string fromTime: description: Time when the campaign starts type: string format: date-time toTime: description: Time when the campaign ends type: string format: date-time example: self@NavigationLink: "/campaigns/1" Observations@NavigationLink: "/campaigns/1/units/observations" Locations@NavigationLink: "/campaigns/1/units/observations/locations" Units@NavigationLink: "/campaigns/1/units" id: 1 description: "Campaign example" fromTime: "2023-01-25 15:35:32Z" toTime: "2023-03-20 10:35:32Z" CampaignUnitBasicInfo: type: object required: - unitId - name - fromTime - toTime x-NavigationLinks: Unit@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdGET CampaignUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdGET properties: Unit@NavigationLink: $ref: '#/components/schemas/CampaignUnitBasicInfo/x-NavigationLinks/Unit@NavigationLink' CampaignUnit@NavigationLink: $ref: '#/components/schemas/CampaignUnitBasicInfo/x-NavigationLinks/CampaignUnit@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string description: type: string fromTime: description: Time when the validity of the unit starts within the campaign type: string format: date-time toTime: description: Time when the validity of the unit ends within the campaign type: string format: date-time example: Unit@NavigationLink: "/units/25" CampaignUnit@NavigationLink: "/campaigns/1/units/25" unitId: 25 name: "Unit name" description: "Purpose of the Unit 25" fromTime: "2023-01-25 15:35:32Z" toTime: "2023-03-20 10:35:32Z" CampaignUnitDetailInfo: type: object required: - unitId - imei - fromTime - toTime x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdGET Unit@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdGET Campaign@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdGET Sensors@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdSensorsGET Observations@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdObservationsGET Locations@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdLocationsGET properties: self@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailInfo/x-NavigationLinks/self@NavigationLink' Unit@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailInfo/x-NavigationLinks/Unit@NavigationLink' Campaign@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailInfo/x-NavigationLinks/Campaign@NavigationLink' Sensors@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailInfo/x-NavigationLinks/Sensors@NavigationLink' Observations@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailInfo/x-NavigationLinks/Observations@NavigationLink' Locations@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailInfo/x-NavigationLinks/Locations@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 imei: type: string description: type: string fromTime: description: Time when the validity of the unit starts within the campaign type: string format: date-time toTime: description: Time when the validity of the unit ends within the campaign type: string format: date-time example: self@NavigationLink: "/campaigns/1/units/25" Unit@NavigationLink: "/units/25" Campaign@NavigationLink: "/campaigns/1" Sensors@NavigationLink: "/campaigns/1/units/25/sensors" Observations@NavigationLink: "/campaigns/1/units/25/observations" Locations@NavigationLink: "/campaigns/1/units/25/observations/locations" unitId: 25 imei: "3434533453" description: "Purpose of the Unit 25" fromTime: "2023-01-25 15:35:32Z" toTime: "2023-03-20 10:35:32Z" CampaignUnitBasicSensor: type: object required: - sensorId - name - type x-NavigationLinks: CampaignSensor@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdSensorIdGET properties: CampaignSensor@NavigationLink: $ref: '#/components/schemas/CampaignUnitBasicSensor/x-NavigationLinks/CampaignSensor@NavigationLink' sensorId: description: Identifier of the unit type: integer format: int64 name: type: string type: type: string example: CampaignSensor@NavigationLink: "/campaigns/1/units/25/sensors/105" sensorId: 105 name: "Sensor 105" type: "X" CampaignUnitDetailedSensor: type: object required: - sensorId - name - phenomenon - type x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdSensorIdGET Sensor@NavigationLink: type: string format: uri x-graph-properties: linkTo: sensorIdGET CampaignUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdGET Phenomenon@NavigationLink: type: string format: uri x-graph-properties: linkTo: phenomenonIdGET Observations@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdSensorIdObservationsGET properties: self@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailedSensor/x-NavigationLinks/self@NavigationLink' Sensor@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailedSensor/x-NavigationLinks/Sensor@NavigationLink' CampaignUnit@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailedSensor/x-NavigationLinks/CampaignUnit@NavigationLink' Phenomenon@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailedSensor/x-NavigationLinks/Phenomenon@NavigationLink' Observations@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailedSensor/x-NavigationLinks/Observations@NavigationLink' sensorId: type: integer format: int64 name: type: string phenomenon: type: string type: type: string description: type: string example: self@NavigationLink: "/campaigns/1/units/25/sensors/105" Sensor@NavigationLink: "/sensors/105" CampaignUnit@NavigationLink: "/campaigns/1/units/25" Phenomenon@NavigationLink: "/phenomenons/15" Observations@NavigationLink: "/campaigns/1/units/25/sensors/105/observations" sensorId: 105 name: "Sensor 105" description: "Description of the sensor 105" type: "type of sensor" phenomenon: "Temperature" CampaignObservation: type: object required: - params - hasNext - size - offset - data x-NavigationLinks: Campaign@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdGET next@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitsObservationsGET properties: Campaign@NavigationLink: $ref: '#/components/schemas/CampaignObservation/x-NavigationLinks/Campaign@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/CampaignObservation/x-NavigationLinks/next@NavigationLink' params: type: object description: Used params in URL hasNext: type: boolean size: type: integer offset: type: integer data: type: array items: $ref: '#/components/schemas/CampaignDataObservation' example: Campaign@NavigationLink: "/campaigns/1" next@NavigationLink: "/campaigns/1/observations?offset=500" size: 500 offset: 0 data: [] GeoCampaignObservation: type: object required: - type - features properties: type: type: string enum: - FeatureCollection metadata: type: object features: type: array minLength: 1 items: $ref: '#/components/schemas/GeoFeatureCampaign' GeoFeatureCampaign: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: $ref: '#/components/schemas/GeoPoint' properties: type: object required: - unitId - timestamp - speed properties: unitId: type: integer format: int64 timestamp: type: string format: date-time speed: type: integer format: int64 observations: type: object GeoPoint: type: object properties: type: type: string enum: - Point coordinates: type: array items: type: number format: float minLength: 3 maxLength: 3 description: "[lon, lat, alt]" CampaignUnitObservation: type: object required: - params - hasNext - size - offset - data x-NavigationLinks: CampaignUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdGET next@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdObservationsGET properties: CampaignUnit@NavigationLink: $ref: '#/components/schemas/CampaignUnitObservation/x-NavigationLinks/CampaignUnit@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/CampaignUnitObservation/x-NavigationLinks/next@NavigationLink' params: type: object description: Used params in URL hasNext: type: boolean size: type: integer offset: type: integer data: type: array items: $ref: '#/components/schemas/UnitDataObservation' example: CampaignUnit@NavigationLink: "/campaigns/1/units/25" next@NavigationLink: "/campaigns/1/units/25/observations?offset=500" params: [] size: 500 hasNext: true offset: 0 data: [] CampaignUnitSensorObservation: type: object required: - params - size - offset - hasNext - data x-NavigationLinks: CampaignSensor@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdSensorIdGET next@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdSensorIdObservationsGET properties: CampaignSensor@NavigationLink: $ref: '#/components/schemas/CampaignUnitSensorObservation/x-NavigationLinks/CampaignSensor@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/CampaignUnitSensorObservation/x-NavigationLinks/next@NavigationLink' params: type: object description: Used params in URL size: type: integer offset: type: integer hasNext: type: boolean data: type: array items: $ref: '#/components/schemas/SensorDataObservation' example: CampaignSensor@NavigationLink: "/campaigns/1/units/25/sensors/105" next@NavigationLink: "/campaigns/1/units/25/sensors/105/observations?offset=500" size: 500 offset: 0 data: [] ActionEventObservation: type: object required: - params - hasNext - size - offset - data x-NavigationLinks: Event@NavigationLink: type: string format: uri x-graph-properties: linkTo: eventIdGET next@NavigationLink: type: string format: uri x-graph-properties: linkTo: eventIdObservationsGET properties: Event@NavigationLink: $ref: '#/components/schemas/ActionEventObservation/x-NavigationLinks/Event@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/ActionEventObservation/x-NavigationLinks/next@NavigationLink' params: type: object description: Used params in URL hasNext: type: boolean size: type: integer offset: type: integer data: type: array items: $ref: '#/components/schemas/UnitDataObservation' example: Event@NavigationLink: "/events/999" next@NavigationLink: "/events/999/observations?offset=500" params: [] size: 500 hasNext: true offset: 0 data: [] CampaignDataObservation: type: object required: - unitId - timestamp - speed - location - observedValues properties: unitId: type: integer format: int64 timestamp: type: string format: date-time speed: type: integer format: int64 location: $ref: '#/components/schemas/Location' observedValues: type: object example: unitId: 25 timestamp: "2023-01-25 15:35:32Z" location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 observedValues: 105: 1434 UnitDataObservation: type: object required: - timestamp - speed - location - observedValues properties: timestamp: type: string format: date-time speed: type: integer format: int64 location: $ref: '#/components/schemas/Location' observedValues: type: object example: timestamp: "2023-01-25 15:35:32Z" speed: 34 location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 observedValues: 105: 1434 SensorDataObservation: type: object required: - timestamp - value - speed - location properties: timestamp: type: string format: date-time observed_value: type: integer format: int64 speed: type: integer format: int64 location: $ref: '#/components/schemas/Location' example: timestamp: "2023-01-25 15:35:32Z" observed_value: 1434 speed: 34 location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 CampaignUnitLocation: type: object required: - params - hasNext - size - offset - data x-NavigationLinks: Campaign@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdGET Unit@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdGET next@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdLocationsGET properties: Campaign@NavigationLink: $ref: '#/components/schemas/CampaignUnitLocation/x-NavigationLinks/Campaign@NavigationLink' Unit@NavigationLink: $ref: '#/components/schemas/CampaignUnitLocation/x-NavigationLinks/Unit@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/CampaignUnitLocation/x-NavigationLinks/next@NavigationLink' params: type: object description: Used params in URL hasNext: type: boolean size: type: integer offset: type: integer data: type: array items: type: object properties: timestamp: type: string format: date-time location: $ref: '#/components/schemas/Location' example: Campaign@NavigationLink: "/campaigns/1" Unit@NavigationLink: "/campaigns/1/units/25" next@NavigationLink: "/campaigns/1/units/25/observations/locations?offset=500" params: offset: 0 limit: 500 navigationLinks: true size: 500 hasNext: true offset: 0 data: - timestamp: "2023-01-25 15:35:32Z" location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 CampaignUnitsLocations: type: object required: - size - data x-NavigationLinks: Campaign@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdGET properties: Campaign@NavigationLink: $ref: '#/components/schemas/CampaignUnitsLocations/x-NavigationLinks/Campaign@NavigationLink' params: type: object description: Used params in URL size: type: integer data: type: array items: type: object required: - unitId - timestamp - location properties: unitId: type: integer format: int64 timestamp: type: string format: date-time location: $ref: '#/components/schemas/Location' example: Campaign@NavigationLink: "/campaigns/1" params: from: "2023-01-25 15:35:32Z" to: "2023-01-25 15:35:32Z" navigationLinks: true size: 8 data: - unitId: 25 timestamp: "2023-01-25 15:35:32Z" location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 ActionEventLocation: type: object required: - params - hasNext - size - offset - data x-NavigationLinks: Event@NavigationLink: type: string format: uri x-graph-properties: linkTo: eventIdGET next@NavigationLink: type: string format: uri x-graph-properties: linkTo: eventIdLocationsGET properties: Event@NavigationLink: $ref: '#/components/schemas/ActionEventLocation/x-NavigationLinks/Event@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/ActionEventLocation/x-NavigationLinks/next@NavigationLink' params: type: object description: Used params in URL hasNext: type: boolean size: type: integer offset: type: integer data: type: array items: type: object properties: timestamp: type: string format: date-time location: $ref: '#/components/schemas/Location' example: Event@NavigationLink: "/events/999" next@NavigationLink: "/events/999/observations/locations?offset=500" params: offset: 0 limit: 500 navigationLinks: true size: 500 hasNext: true offset: 0 data: - timestamp: "2023-01-25 15:35:32Z" location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 Location: type: object properties: longitude: type: number format: float latitude: type: number format: float altitude: type: number format: float example: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 UnitBasicInfo: type: object required: - unitId - name x-NavigationLinks: Unit@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdGET properties: Unit@NavigationLink: $ref: '#/components/schemas/UnitBasicInfo/x-NavigationLinks/Unit@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string description: type: string example: Unit@NavigationLink: "/units/25" unitId: 25 name: "Mobile Unit" description: "Mobile Unit 25" UnitDetailInfo: type: object required: - unitId - name - imei x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdGET Sensors@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdSensorsGET Campaigns@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdCampaignsGET Drivers@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdDriversGET properties: self@NavigationLink: $ref: '#/components/schemas/UnitDetailInfo/x-NavigationLinks/self@NavigationLink' Sensors@NavigationLink: $ref: '#/components/schemas/UnitDetailInfo/x-NavigationLinks/Sensors@NavigationLink' Campaigns@NavigationLink: $ref: '#/components/schemas/UnitDetailInfo/x-NavigationLinks/Campaigns@NavigationLink' Drivers@NavigationLink: $ref: '#/components/schemas/UnitDetailInfo/x-NavigationLinks/Drivers@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string imei: type: string description: type: string example: self@NavigationLink: "/units/25" Sensors@NavigationLink: "/units/25/sensors" Campaigns@NavigationLink: "/units/25/campaigns" Drivers@NavigationLink: "/units/25/drivers" unitId: 25 name: "Mobile Unit" description: "Mobile Unit 25" imei: "3434535323345" UnitSensorBasicInfo: type: object required: - sensorId - name x-NavigationLinks: Sensor@NavigationLink: type: string format: uri x-graph-properties: linkTo: sensorIdGET properties: Sensor@NavigationLink: $ref: '#/components/schemas/UnitSensorBasicInfo/x-NavigationLinks/Sensor@NavigationLink' sensorId: description: Identifier of the unit type: integer format: int64 name: type: string type: type: string example: Sensor@NavigationLink: "/sensors/105" sensorId: 105 name: "Sensor 105" type: "temperature" UnitCampaignBasicInfo: type: object required: - id - fromTime - toTime x-NavigationLinks: Campaign@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdGET properties: Campaign@NavigationLink: $ref: '#/components/schemas/UnitCampaignBasicInfo/x-NavigationLinks/Campaign@NavigationLink' id: type: integer format: int64 description: Identifier of the campaign description: type: string description: Description of the campaign fromTime: type: string format: date-time description: Time from the unit was active in the campaign toTime: type: string format: date-time description: Time until the unit was active in the campaign example: Campaign@NavigationLink: "/campaigns/1" id: 1 description: "Campaign 1" fromTime: "2023-01-25 15:35:32Z" toTime: "2023-03-20 10:35:32Z" UnitDriverBasicInfo: type: object required: - id - name x-NavigationLinks: Driver@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdGET properties: Driver@NavigationLink: $ref: '#/components/schemas/UnitDriverBasicInfo/x-NavigationLinks/Driver@NavigationLink' id: type: integer format: int64 name: type: string example: Driver@NavigationLink: "/drivers/42" id: 42 name: "Steve Smith" DriverActionUnitBasicInfo: type: object required: - unitId - name x-NavigationLinks: DriverActionUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdActionIdUnitIdGET properties: DriverActionUnit@NavigationLink: $ref: '#/components/schemas/DriverActionUnitBasicInfo/x-NavigationLinks/DriverActionUnit@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string description: type: string example: DriverActionUnit@NavigationLink: "/drivers/42/actions/258/units/25" unitId: 25 name: "Unit name" description: "Purpose of the Unit 25" DriverActionUnitDetailInfo: type: object required: - unitId - name - imei x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdActionIdUnitIdGET DriverAction@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdActionIdGET Events@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdEventsGET Unit@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdGET properties: self@NavigationLink: $ref: '#/components/schemas/DriverActionUnitDetailInfo/x-NavigationLinks/self@NavigationLink' DriverAction@NavigationLink: $ref: '#/components/schemas/DriverActionUnitDetailInfo/x-NavigationLinks/DriverAction@NavigationLink' Unit@NavigationLink: $ref: '#/components/schemas/DriverActionUnitDetailInfo/x-NavigationLinks/Unit@NavigationLink' Events@NavigationLink: $ref: '#/components/schemas/DriverActionUnitDetailInfo/x-NavigationLinks/Events@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string imei: type: string description: type: string example: self@NavigationLink: "/drivers/42/actions/258/units/25" DriverAction@NavigationLink: "/drivers/42/actions/258" Events@NavigationLink: "/drivers/42/units/25/actions/258/events" Unit@NavigationLink: "/units/25" unitId: 25 name: "Mobile Unit" description: "Mobile Unit 25" imei: "3434535323345" SensorBasicInfo: type: object required: - id - name x-NavigationLinks: Sensor@NavigationLink: type: string format: uri x-graph-properties: linkTo: sensorIdGET properties: Sensor@NavigationLink: $ref: '#/components/schemas/SensorBasicInfo/x-NavigationLinks/Sensor@NavigationLink' id: type: integer format: int64 name: type: string description: type: string example: Sensor@NavigationLink: "/sensors/105" id: 105 name: "Sensor 105" description: "Description of the sensor 105" SensorDetailInfo: type: object required: - sensorId - ioId - name - phenomenon x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: sensorIdGET Units@NavigationLink: type: string format: uri x-graph-properties: linkTo: sensorIdUnitsGET Phenomenon@NavigationLink: type: string format: uri x-graph-properties: linkTo: phenomenonIdGET properties: self@NavigationLink: $ref: '#/components/schemas/SensorDetailInfo/x-NavigationLinks/self@NavigationLink' Units@NavigationLink: $ref: '#/components/schemas/SensorDetailInfo/x-NavigationLinks/Units@NavigationLink' Phenomenon@NavigationLink: $ref: '#/components/schemas/SensorDetailInfo/x-NavigationLinks/Phenomenon@NavigationLink' sensorId: type: integer format: int64 ioId: type: integer format: int16 name: type: string phenomenon: type: string type: type: string description: type: string example: self@NavigationLink: "/sensors/105" Phenomenon@NavigationLink: "/phenomenons/15" Units@NavigationLink: "/sensors/105/units" sensorId: 105 name: "Sensor 105" description: "Description of the sensor 105" type: "type of sensor" phenomenon: "Temperature" SensorUnitBasicInfo: type: object required: - unitId - name properties: Unit@NavigationLink: type: string format: uri unitId: description: Identifier of the unit type: integer format: int64 name: type: string description: type: string example: Unit@NavigationLink: "/units/25" unitId: 25 name: "Mobile Unit" description: "Mobile Unit 25" PhenomenonBasicInfo: type: object required: - id - name x-NavigationLinks: Phenomenon@NavigationLink: type: string format: uri x-graph-properties: linkTo: phenomenonIdGET properties: Phenomenon@NavigationLink: $ref: '#/components/schemas/PhenomenonBasicInfo/x-NavigationLinks/Phenomenon@NavigationLink' id: type: integer format: int64 name: type: string example: Phenomenon@NavigationLink: "/phenomenons/15" id: 15 name: "Temperature" PhenomenonDetailInfo: type: object required: - id - name - uom x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: phenomenonIdGET Sensors@NavigationLink: type: string format: uri x-graph-properties: linkTo: phenomenonIdSensorsGET properties: self@NavigationLink: $ref: '#/components/schemas/PhenomenonDetailInfo/x-NavigationLinks/self@NavigationLink' Sensors@NavigationLink: $ref: '#/components/schemas/PhenomenonDetailInfo/x-NavigationLinks/Sensors@NavigationLink' id: type: integer format: int64 name: type: string uom: type: string maxLength: 30 uomLink: type: string format: uri example: self@NavigationLink: "/phenomenons/15" Sensors@NavigationLink: "/phenomenons/15/sensors" id: 15 name: "Temperature" uom: "uom" uomLink: "uom link" PhenomenonSensorBasicInfo: type: object required: - Phenomenon@NavigationLink - Sensor@NavigationLink - sensorId - name x-NavigationLinks: Phenomenon@NavigationLink: type: string format: uri x-graph-properties: linkTo: phenomenonIdGET Sensor@NavigationLink: type: string format: uri x-graph-properties: linkTo: sensorIdGET properties: Phenomenon@NavigationLink: $ref: '#/components/schemas/PhenomenonSensorBasicInfo/x-NavigationLinks/Phenomenon@NavigationLink' Sensor@NavigationLink: $ref: '#/components/schemas/PhenomenonSensorBasicInfo/x-NavigationLinks/Sensor@NavigationLink' sensorId: type: integer format: int64 name: type: string description: type: string example: Phenomenon@NavigationLink: "/phenomenons/15" Sensor@NavigationLink: "/sensors/105" sensorId: 105 name: "Sensor 105" description: "Description of Sensor 105" DriverBasicInfo: type: object required: - id - name x-NavigationLinks: Driver@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdGET properties: Driver@NavigationLink: $ref: '#/components/schemas/DriverBasicInfo/x-NavigationLinks/Driver@NavigationLink' id: type: integer format: int64 name: type: string example: Driver@NavigationLink: "/drivers/42" id: 42 name: "Steve Smith" DriverDetailInfo: type: object required: - id - name x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdGET Units@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitsGET Actions@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdActionsGET properties: self@NavigationLink: $ref: '#/components/schemas/DriverDetailInfo/x-NavigationLinks/self@NavigationLink' Units@NavigationLink: $ref: '#/components/schemas/DriverDetailInfo/x-NavigationLinks/Units@NavigationLink' Actions@NavigationLink: $ref: '#/components/schemas/DriverDetailInfo/x-NavigationLinks/Actions@NavigationLink' id: type: integer format: int64 name: type: string example: self@NavigationLink: "/drivers/42" Units@NavigationLink: "/drivers/42/units" Actions@NavigationLink: "/drivers/42/actions" id: 42 name: "Steve Smith" DriverUnitBasicInfo: type: object required: - unitId - name x-NavigationLinks: DriverUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitsGET properties: DriverUnit@NavigationLink: $ref: '#/components/schemas/DriverUnitBasicInfo/x-NavigationLinks/DriverUnit@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string description: type: string example: DriverUnit@NavigationLink: "/drivers/42/units/25" unitId: 25 name: "Unit name" description: "Purpose of the Unit 25" DriverUnitDetailInfo: type: object required: - unitId - imei - name x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdGET Unit@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdGET Actions@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionsGET properties: self@NavigationLink: $ref: '#/components/schemas/DriverUnitDetailInfo/x-NavigationLinks/self@NavigationLink' Unit@NavigationLink: $ref: '#/components/schemas/DriverUnitDetailInfo/x-NavigationLinks/Unit@NavigationLink' Actions@NavigationLink: $ref: '#/components/schemas/DriverUnitDetailInfo/x-NavigationLinks/Unit@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string imei: type: string description: type: string example: self@NavigationLink: "/drivers/42/units/25" Unit@NavigationLink: "/units/25" Actions@NavigationLink: "/drivers/42/units/25/actions" unitId: 25 name: "Mobile Unit" description: "Mobile Unit 25" imei: "3434535323345" DriverActionBasicInfo: type: object required: - id - name x-NavigationLinks: DriverAction@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdActionIdGET properties: DriverAction@NavigationLink: $ref: '#/components/schemas/DriverActionBasicInfo/x-NavigationLinks/DriverAction@NavigationLink' id: type: integer format: int64 name: type: string example: DriverAction@NavigationLink: "/drivers/42/actions/258" id: 258 name: "Delivering" DriverUnitActionBasicInfo: type: object required: - id - name x-NavigationLinks: DriverUntAction@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdGET properties: DriverUntAction@NavigationLink: $ref: '#/components/schemas/DriverUnitActionBasicInfo/x-NavigationLinks/DriverUntAction@NavigationLink' id: type: integer format: int64 name: type: string example: DriverUntAction@NavigationLink: "/drivers/42/units/{25}/actions/258" id: 258 name: "Delivering" DriverActionDetailInfo: type: object x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdActionIdGET Driver@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdGET Units@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdActionIdUnitsGET properties: self@NavigationLink: $ref: '#/components/schemas/DriverActionDetailInfo/x-NavigationLinks/self@NavigationLink' Driver@NavigationLink: $ref: '#/components/schemas/DriverActionDetailInfo/x-NavigationLinks/Driver@NavigationLink' Units@NavigationLink: $ref: '#/components/schemas/DriverActionDetailInfo/x-NavigationLinks/Units@NavigationLink' id: type: integer format: int64 name: type: string example: self@NavigationLink: "/drivers/42/actions/258" Driver@NavigationLink: "/drivers/42" Units@NavigationLink: "/drivers/42/actions/258/units" id: 258 name: "Delivering" DriverUnitActionDetailInfo: type: object x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdGET Driver@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdGET DriverUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdGET Events@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdEventsGET properties: self@NavigationLink: $ref: '#/components/schemas/DriverUnitActionDetailInfo/x-NavigationLinks/self@NavigationLink' Driver@NavigationLink: $ref: '#/components/schemas/DriverUnitActionDetailInfo/x-NavigationLinks/Driver@NavigationLink' DriverUnit@NavigationLink: $ref: '#/components/schemas/DriverUnitActionDetailInfo/x-NavigationLinks/DriverUnit@NavigationLink' Events@NavigationLink: $ref: '#/components/schemas/DriverUnitActionDetailInfo/x-NavigationLinks/Events@NavigationLink' id: type: integer format: int64 name: type: string example: self@NavigationLink: "/drivers/42/units/25/actions/258" Driver@NavigationLink: "/drivers/42" DriverUnit@NavigationLink: "/drivers/42/units/25" Events@NavigationLink: "/drivers/42/units/25/actions/258/events" id: 258 name: "Delivering" EventBasicInfo: type: object required: - id - fromTime - toTime x-NavigationLinks: Event@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdEventIdGET properties: Event@NavigationLink: $ref: '#/components/schemas/EventBasicInfo/x-NavigationLinks/Event@NavigationLink' id: type: integer format: int64 fromTime: description: Time when the event starts type: string format: date-time toTime: description: Time when the end ends type: string format: date-time example: Event@NavigationLink: "/drivers/42/units/105/actions/258/events/999" id: 999 fromTime: "2023-01-25 15:35:32Z" toTime: "2023-03-20 10:35:32Z" EventDetailInfo: type: object required: - id - driverId - actionId - unitId - fromTime - toTime x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdEventIdGET Driver@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdGET DriverUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdGET Action@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdActionIdGET Observations@NavigationLink: type: string format: uri x-graph-properties: linkTo: eventIdObservationsGET Locations@NavigationLink: type: string format: uri x-graph-properties: linkTo: eventIdLocationsGET properties: self@NavigationLink: $ref: '#/components/schemas/EventDetailInfo/x-NavigationLinks/self@NavigationLink' Driver@NavigationLink: $ref: '#/components/schemas/EventDetailInfo/x-NavigationLinks/Driver@NavigationLink' DriverUnit@NavigationLink: $ref: '#/components/schemas/EventDetailInfo/x-NavigationLinks/DriverUnit@NavigationLink' Action@NavigationLink: $ref: '#/components/schemas/EventDetailInfo/x-NavigationLinks/Action@NavigationLink' Observations@NavigationLink: $ref: '#/components/schemas/EventDetailInfo/x-NavigationLinks/Observations@NavigationLink' Locations@NavigationLink: $ref: '#/components/schemas/EventDetailInfo/x-NavigationLinks/Locations@NavigationLink' id: type: integer format: int64 driverId: type: integer format: int64 actionId: type: integer format: int64 unitId: type: integer format: int64 fromTime: description: Time when the event starts type: string format: date-time toTime: description: Time when the end ends type: string format: date-time example: self@NavigationLink: "/drivers/42/units/105/actions/258/events/999" Driver@NavigationLink: "/drivers/42" DriverUnit@NavigationLink: "/drivers/42/units/105" Action@NavigationLink: "/actions/258" Observations@NavigationLink: "/events/999/observations" Locations@NavigationLink: "/events/999/observations/locations" id: 999 driverId: 42 actionId: 258 unitId: 105 fromTime: "2023-01-25 15:35:32Z" toTime: "2023-03-20 10:35:32Z" Info: required: - name - version - build - uptime - uptimeMillis properties: name: type: string version: type: string build: type: string uptimeMillis: type: integer format: int64 uptime: type: string example: name: "senslog-telemetry" version: "1.1.0" build: "123456789" uptimeMillis: 1684862333 uptime: "1:20:00" Error: required: - code - message properties: code: type: integer format: int32 message: type: string example: code: 404 message: "Not Found"