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: # done 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: # done 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: # done 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: # done 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: # done 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/navigationLinksParam' responses: 200: description: JSON containing stream of telemetry data content: application/json: schema: $ref: '#/components/schemas/CampaignObservation' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/observations/locations: get: # done 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/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: # done 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: # done 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/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: # done 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/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: # done 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: # done 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: # done // DODO fromParam and toParam are missing? 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/zoneParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $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: # done 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: # done 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: # done 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: # done 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' /sensors: get: # done 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: # done 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: # done 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: # done 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: # done 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: # done 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: # done 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/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}/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/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' /drivers/{driverId}/units/{unitId}/actions/{actionId}/events/{eventId}: 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/eventIdParam' - $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' /drivers/{driverId}/units/{unitId}/actions/{actionId}/events/{eventId}/observations: get: operationId: driverIdUnitIdActionIdEventIdObservationsGET summary: Publish telemetry observations created by the driver while performing specific action on the unit at the time/event parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/actionIdParam' - $ref: '#/components/parameters/eventIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $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' /drivers/{driverId}/units/{unitId}/actions/{actionId}/events/{eventId}/observations/locations: get: operationId: driverIdUnitIdActionIdEventIdLocationsGET summary: Publish locations created by the driver while performing specific action on the unit at the time/event parameters: - $ref: '#/components/parameters/driverIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/actionIdParam' - $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/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: 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 schema: type: string required: false examples: Value of Sensor ID 105 > 10: value: sensorId(105)gt10 summary: Filter locations of units having value of sensor id 105 > 10 Value: value: driverId(34245)eq3 summary: Filter locations of units driven by Driver ID 34245 == Activity 3 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: - size: 500 TODO 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: driverIdUnitIdActionIdEventIdGET next@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdEventIdObservationsGET 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: "/drivers/42/units/105/actions/258/events/999" next@NavigationLink: "/drivers/42/units/25/actions/258/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 value: type: integer format: int64 speed: type: integer format: int64 location: $ref: '#/components/schemas/Location' example: timestamp: "2023-01-25 15:35:32Z" 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: description: Array in a format [longitude, latitude, altitude] type: array items: type: integer 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: [49.7384, 13.3736, 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: description: Array in a format [longitude, latitude, altitude] type: array items: type: integer 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: [ 49.7384, 13.3736, 350.3 ] ActionEventLocation: type: object required: - params - hasNext - size - offset - data x-NavigationLinks: Event@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdEventIdGET next@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdEventIdLocationsGET 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: description: Array in a format [longitude, latitude, altitude] type: array items: type: integer example: Event@NavigationLink: "/drivers/42/units/105/actions/258/events/999" next@NavigationLink: "/drivers/42/units/25/actions/258/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: [49.7384, 13.3736, 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 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' 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" 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" DriverActionUnitBasicInfo: type: object required: - unitId - name x-NavigationLinks: DriverActionUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdGET 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/units/25/actions/258" unitId: 25 name: "Unit name" description: "Purpose of the Unit 25" 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 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' 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" 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 - 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: driverIdUnitIdActionIdEventIdObservationsGET Locations@NavigationLink: type: string format: uri x-graph-properties: linkTo: driverIdUnitIdActionIdEventIdLocationsGET 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 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: "/drivers/42/units/105/actions/258/events/999/observations" Locations@NavigationLink: "/drivers/42/units/105/actions/258/events/999/observations/locations" id: 999 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"