openapi: "3.0.0" info: version: 1.0.0 title: SensLog Telemetry servers: - url: http://127.0.0.1:8085 - url: https://theros.wirelessinfo.cz paths: /info: get: operationId: infoGET summary: Information about running instance tags: - Server 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 tags: - Campaign security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Campaign security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Unit security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Observation security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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/CampaignObservationPaging' application/geojson: schema: $ref: '#/components/schemas/GeoFeatureCollectionUnit' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: campaignIdUnitsObservationsPOST tags: - Observation security: - bearerAuth: [write:infrastructure] parameters: - $ref: '#/components/parameters/campaignIdParam' requestBody: # required: true content: application/json: schema: type: array description: JSON Array of Observations. The attribute 'timestamp' accepts only ISO8601 or the pattern 'yyyy-MM-dd[+][ ]HH:mm:ss'. The attribute can be substituted by 'epoch'. items: $ref: '#/components/schemas/CampaignDataObservation' application/geojson: schema: $ref: '#/components/schemas/GeoFeatureCollectionUnit' responses: 200: description: JSON content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignDataObservation' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /test/observations: post: operationId: testObservationsPOST tags: - Test requestBody: # required: true content: application/json: schema: type: array description: JSON Array of Observations. The attribute 'timestamp' accepts only ISO8601 or the pattern 'yyyy-MM-dd[+][ ]HH:mm:ss'. The attribute can be substituted by 'epoch'. minLength: 1 items: $ref: '#/components/schemas/CampaignDataObservation' application/geojson: schema: $ref: '#/components/schemas/GeoFeatureCollectionUnit' responses: 200: description: JSON content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignDataObservation' 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 tags: - Locations security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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/geojson: schema: $ref: '#/components/schemas/GeoCampaignUnitsMultiLocations' application/json: schema: $ref: '#/components/schemas/CampaignUnitsLocationsPaging' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' put: operationId: campaignIdUnitsObservationsLocationsPUT summary: Adjusting locations of all observations within 'fromTime' to 'toTime' interval. tags: - Locations security: - bearerAuth: [ read:infrastructure ] parameters: - $ref: '#/components/parameters/campaignIdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CampaignUnitsLocationArray' application/geojson: schema: $ref: '#/components/schemas/GeoCampaignUnitsSingleLocations' responses: 200: description: JSON Object containing number of updated observations. content: application/json: schema: type: object 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 tags: - Unit security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Observation security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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/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/CampaignUnitObservationPaging' application/geojson: schema: $ref: '#/components/schemas/GeoFeatureCollectionUnit' 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 tags: - Locations security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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/CampaignUnitLocationPaging' application/geojson: schema: $ref: '#/components/schemas/GeoFeatureUnitMultiLocation' 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 tags: - Sensor security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 associated with the unit and the campaign tags: - Sensor security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Observation security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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/CampaignUnitSensorObservationPaging' application/geojson: schema: $ref: '#/components/schemas/GeoFeatureCollectionUnit' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /units: get: operationId: unitsGET summary: Publish info about all units tags: - Unit security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Unit security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Sensor security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Campaign security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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}/entities: get: operationId: unitIdEntitiesGET summary: Publish basic info about entities who performed actions upon the unit tags: - Entity security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of entities content: application/json: schema: type: array items: $ref: '#/components/schemas/UnitEntityBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /sensors: get: operationId: sensorsGET summary: Publish info about all sensors tags: - Sensor security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Sensor security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Unit security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Phenomenon security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Phenomenon security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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 tags: - Sensor security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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' /entities: get: operationId: entitiesGET summary: Publish basic info about all entities tags: - Entity security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of basic info about entities content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}: get: operationId: entityIdGET summary: Publish detailed info about the entity tags: - Entity security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of detailed info about the entity content: application/json: schema: $ref: '#/components/schemas/EntityDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/units: get: operationId: entityIdUnitsGET summary: Publish basic info about entity's units tags: - Unit security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $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/EntityUnitBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/units/{unitId}: get: operationId: entityIdUnitIdGET summary: Publish detailed info about entity's unit tags: - Unit security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of detailed info about entity's unit content: application/json: schema: $ref: '#/components/schemas/EntityUnitDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/units/{unitId}/actions: get: operationId: entityIdUnitIdActionsGET summary: Publish basic info actions performed on the unit by the entity tags: - Action security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $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/EntityUnitActionBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/actions: get: operationId: entityIdActionsGET summary: Publish basic info about entity's actions tags: - Action security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of basic info about entity's actions' content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityActionBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/actions/{actionId}: get: operationId: entityIdActionIdGET summary: Publish detailed info about the entity's action tags: - Action security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $ref: '#/components/parameters/actionIdParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of detailed info about the entity's action content: application/json: schema: $ref: '#/components/schemas/EntityActionDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/actions/{actionId}/units: get: operationId: entityIdActionIdUnitsGET summary: Publish basic info about units on which the entity performed its action tags: - Unit security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $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/EntityActionUnitBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/actions/{actionId}/units/{unitId}: get: operationId: entityIdActionIdUnitIdGET summary: Publish detail info about the unit on which the entity performed the action tags: - Unit security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $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/EntityActionUnitDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/units/{unitId}/actions/{actionId}: get: operationId: entityIdUnitIdActionIdGET summary: Publish detailed info about the action performed on the unit by the entity tags: - Action security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $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/EntityUnitActionDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/units/{unitId}/actions/{actionId}/events: get: operationId: entityIdUnitIdActionIdEventsGET summary: Publish basic info about events that where performed on the unit byt the entity with the specific action tags: - Event security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/actionIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $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' post: operationId: entityIdUnitIdActionIdEventsPOST tags: - Event security: - bearerAuth: [write:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/actionIdParam' requestBody: required: true content: application/json: schema: oneOf: - type: array description: Array of events where an object with inserted events can be expected as a result. items: $ref: '#/components/schemas/EventInsertInfo' - $ref: '#/components/schemas/EventInsertInfo' responses: 200: description: Returns an object of number of the newly inserted alerts content: application/json: schema: oneOf: - $ref: '#/components/schemas/ResponseArrayChange' - $ref: '#/components/schemas/ResponseSingleChange' 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 entity with the specific action tags: - Event security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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' put: operationId: eventIdPUT tags: - Event security: - bearerAuth: [write:infrastructure] parameters: - $ref: '#/components/parameters/eventIdParam' requestBody: required: true content: application/json: schema: type: object properties: toTime: type: string format: date-time example: "2011-12-03T10:15:30+01:00" responses: 200: description: Returns IO of the adjusted event. content: application/json: schema: $ref: '#/components/schemas/ResponseSingleChange' 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 entity while performing specific action on the unit at the time/event tags: - Observation security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/eventIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $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/ActionEventObservationPaging' application/geojson: schema: $ref: '#/components/schemas/GeoFeatureCollectionUnit' 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 entity while performing specific action on the unit at the time/event tags: - Locations security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] 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/ActionEventLocationPaging' application/geojson: schema: $ref: '#/components/schemas/GeoFeatureUnitMultiLocation' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /alerts/{alertId}: get: operationId: alertIdGET tags: - Alert security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/alertIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of the Alert content: application/json: schema: $ref: '#/components/schemas/AlertDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' put: operationId: alertIdPUT tags: - Alert security: - bearerAuth: [write:infrastructure] parameters: - $ref: '#/components/parameters/alertIdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AlertChange' responses: 200: description: Returns ID of the changed alert content: application/json: schema: $ref: '#/components/schemas/ResponseSingleChange' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: alertIdDELETE tags: - Alert security: - bearerAuth: [write:infrastructure] parameters: - $ref: '#/components/parameters/alertIdParam' responses: 200: description: Returns ID of the changed alert content: application/json: schema: $ref: '#/components/schemas/ResponseSingleChange' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /events/{eventId}/alerts: get: operationId: eventIdAlertsGET tags: - Alert security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/eventIdParam' - $ref: '#/components/parameters/alertStatusParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/sortParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of Alerts content: application/json: schema: type: array items: $ref: '#/components/schemas/AlertBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /events/{eventId}/alerts/{alertId}: get: operationId: entityIdActionIdUnitIdAlertIdGET tags: - Alert security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/eventIdParam' - $ref: '#/components/parameters/alertIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Object of Alert content: application/json: schema: $ref: '#/components/schemas/EventAlertDetailInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/alerts: get: operationId: campaignIdUnitsAlertsGET tags: - Alert security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/sortParam' - $ref: '#/components/parameters/alertStatusParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of Alerts content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignAlertBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: campaignIdUnitsAlertsPOST tags: - Alert security: - bearerAuth: [write:infrastructure] parameters: - $ref: '#/components/parameters/campaignIdParam' requestBody: required: true content: application/json: schema: oneOf: - type: array items: $ref: '#/components/schemas/AlertInsert' - $ref: '#/components/schemas/AlertInsert' responses: 200: description: Returns an object of number of the newly inserted alerts content: application/json: schema: oneOf: - type: array items: $ref: '#/components/schemas/CampaignAlertBasicInfo' - $ref: '#/components/schemas/CampaignAlertBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /campaigns/{campaignId}/units/{unitId}/alerts: get: operationId: campaignIdUnitIdAlertsGET tags: - Alert security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/campaignIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/fromParam' - $ref: '#/components/parameters/toParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/alertStatusParam' - $ref: '#/components/parameters/sortParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of Alerts content: application/json: schema: type: array items: $ref: '#/components/schemas/AlertBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /entities/{entityId}/actions/{actionId}/units/{unitId}/alerts: get: operationId: entityIdActionIdUnitIdAlertsGET tags: - Alert security: - bearerAuth: [read:personal] - bearerAuth: [read:infrastructure] parameters: - $ref: '#/components/parameters/entityIdParam' - $ref: '#/components/parameters/actionIdParam' - $ref: '#/components/parameters/unitIdParam' - $ref: '#/components/parameters/zoneParam' - $ref: '#/components/parameters/alertStatusParam' - $ref: '#/components/parameters/sortParam' - $ref: '#/components/parameters/navigationLinksParam' responses: 200: description: JSON Array of Alerts content: application/json: schema: type: array items: $ref: '#/components/schemas/AlertBasicInfo' default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /legacy/observations: get: operationId: legacyInsertObservationsGET description: Legacy endpoint from SensLog v1 to insert observations from static units that are assigned to a mobile unit to get locations. tags: - Legacy parameters: - in: query name: Operation required: true schema: type: string enum: - InsertObservation - in: query name: value required: true schema: type: number format: double - in: query name: date required: true schema: type: string - in: query name: unit_id required: true schema: type: integer format: int64 minimum: 1 - in: query name: sensor_id required: true schema: type: integer format: int64 minimum: 1 responses: 200: description: Boolean value representing success of the insert operation. content: text/plain: schema: type: boolean /integration/order/create: get: operationId: integrationOrderCreateGET tags: - Integration parameters: - in: query description: Order ID is the unique identifier of the order. name: order_id required: true schema: type: integer format: int64 minimum: 1 - in: query description: Unit ID is the unique identifier of the box. name: unit_id required: true schema: type: integer format: int64 minimum: 1 - in: query description: Tracking ID is a related number to the delivery_type parameter. If the delivery_type is chosen as SERVICE_XYZ (e.g., SERVICE_FOFR) than the tracking ID is the number for tracking provided by the parcel service. Otherwise, it is the identifier (i.e., unit id) of the transporting vehicle (e.g., Peugeot). name: tracking_id required: true schema: type: integer format: int64 minimum: 1 - in: query name: delivery_type required: true schema: type: string enum: - SERVICE_FOFR - VEHICLE_CITROEN - VEHICLE_PEUGEOT responses: 200: description: Text information about new order. content: application/json: schema: type: object properties: message: type: string default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /integration/tracking/all: get: operationId: integrationTrackingAllGET tags: - Integration responses: 200: description: JSON Array of all active tracking packages. content: application/json: schema: type: array items: type: object properties: parcelId: type: integer format: int64 minimum: 1 unitId: type: integer format: int64 minimum: 1 orderId: type: integer format: int64 minimum: 1 default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /integration/tracking/change: get: operationId: integrationTrackingChangeGET tags: - Integration parameters: - in: query name: unit_id required: true schema: type: integer format: int64 minimum: 1 - in: query name: action required: true schema: type: string enum: - START - STOP responses: 200: description: JSON Object including message of the change. content: application/json: schema: type: object properties: message: type: string plain/text: schema: type: string default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /integration/tracking/status: get: operationId: integrationTrackingStatusGET tags: - Integration parameters: - in: query name: unit_id required: true schema: type: integer format: int64 minimum: 1 responses: 200: description: Text information about tracking content: application/json: schema: type: object properties: unitId: type: integer format: int64 minimum: 1 orderId: type: integer format: int64 minimum: 1 isDelivering: type: boolean deliveryType: type: string enum: - SERVICE_FOFR - CAR_CITROEN - CAR_PEUGEOT text/html: schema: type: string default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /integration/certificate: get: operationId: integrationCertificateGET tags: - Integration parameters: - in: query description: Order ID encoded by Base64 name: h required: true schema: type: string responses: 200: description: A PDF file content: application/pdf: schema: type: string format: binary default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT 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 entityIdParam: in: path name: entityId schema: type: integer format: int64 required: true description: Numeric ID of the entity 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 alertIdParam: in: path name: alertId schema: type: integer format: int64 required: true description: Numeric ID of the alert 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 maximum: 500 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 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 alertStatusParam: in: query name: status schema: $ref: '#/components/schemas/AlertStatus' schemas: CampaignBasicInfo: type: object required: - id - name - 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 name: type: string fromTime: type: string format: date-time toTime: type: string format: date-time example: Campaign@NavigationLink: "/campaigns/1" id: 1 name: "Campaign 1" fromTime: "2011-12-03T10:15:30+01:00" toTime: "2011-12-03T10:15:30+01:00" CampaignDetailInfo: type: object required: - id - name - 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 name: type: string 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 name: "Campaign 1" description: "Campaign description" fromTime: "2011-12-03T10:15:30+01:00" toTime: "2011-12-03T10:15:30+01:00" 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: "2011-12-03T10:15:30+01:00" toTime: "2011-12-03T10:15:30+01:00" 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 Alerts@NavigationLink: type: string format: uni x-graph-properties: linkTo: campaignIdUnitIdAlertsGET 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' Alerts@NavigationLink: $ref: '#/components/schemas/CampaignUnitDetailInfo/x-NavigationLinks/Alerts@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" Alerts@NavigationLink: "/campaigns/1/units/25/alerts" unitId: 25 imei: "3434533453" description: "Purpose of the Unit 25" fromTime: "2011-12-03T10:15:30+01:00" toTime: "2011-12-03T10:15:30+01:00" 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 - ioId - ioMultiplier - 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 ioId: type: integer format: int32 minimum: 1 ioMultiplier: type: number 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 ioId: 98 ioMultiplier: 0.1 name: "Sensor 105" description: "Description of the sensor 105" type: "type of sensor" phenomenon: "Temperature" CampaignObservationPaging: 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/CampaignObservationPaging/x-NavigationLinks/Campaign@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/CampaignObservationPaging/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: [] GeoFeatureCollectionUnit: type: object required: - type - features properties: type: type: string enum: - FeatureCollection metadata: type: object features: type: array minLength: 1 items: $ref: '#/components/schemas/GeoFeatureUnitObservation' GeoFeatureUnitObservation: 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 observedValues: type: object GeoPoint: type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array items: type: number format: float minLength: 3 maxLength: 3 description: "[lon, lat, alt]" CampaignUnitObservationPaging: 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/CampaignUnitObservationPaging/x-NavigationLinks/CampaignUnit@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/CampaignUnitObservationPaging/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: [] CampaignUnitSensorObservationPaging: 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/CampaignUnitSensorObservationPaging/x-NavigationLinks/CampaignSensor@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/CampaignUnitSensorObservationPaging/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: [] ActionEventObservationPaging: 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/ActionEventObservationPaging/x-NavigationLinks/Event@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/ActionEventObservationPaging/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 - observedValues properties: unitId: type: integer format: int64 timestamp: type: string epoch: type: integer format: int64 speed: type: integer format: int64 location: $ref: '#/components/schemas/Location' observedValues: type: object example: unitId: 25 timestamp: "2011-12-03T10:15:30+01:00" 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: "2011-12-03T10:15:30+01:00" speed: 34 location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 observedValues: temperature: 28 SensorDataObservation: type: object required: - timestamp - observedValue - speed - location properties: timestamp: type: string format: date-time observedValue: type: number format: double speed: type: integer format: int64 location: $ref: '#/components/schemas/Location' example: timestamp: "2011-12-03T10:15:30+01:00" observedValue: 1434 speed: 34 location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 CampaignUnitLocationPaging: 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/CampaignUnitLocationPaging/x-NavigationLinks/Campaign@NavigationLink' Unit@NavigationLink: $ref: '#/components/schemas/CampaignUnitLocationPaging/x-NavigationLinks/Unit@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/CampaignUnitLocationPaging/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: "2011-12-03T10:15:30+01:00" location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 CampaignUnitsLocationArray: type: array items: $ref: '#/components/schemas/CampaignUnitsLocation' CampaignUnitsLocation: type: object required: - unitId - timestamp - location properties: unitId: type: integer format: int64 timestamp: type: string format: date-time location: $ref: '#/components/schemas/Location' example: unitId: 25 timestamp: "2011-12-03T10:15:30+01:00" location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 CampaignUnitsLocationsPaging: type: object required: - params - size - data x-NavigationLinks: Campaign@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdGET properties: Campaign@NavigationLink: $ref: '#/components/schemas/CampaignUnitsLocationsPaging/x-NavigationLinks/Campaign@NavigationLink' params: type: object description: Used params in URL size: type: integer data: $ref: '#/components/schemas/CampaignUnitsLocationArray' example: Campaign@NavigationLink: "/campaigns/1" params: from: "2011-12-03T10:15:30+01:00" to: "2011-12-03T10:15:30+01:00" navigationLinks: true size: 8 data: - unitId: 25 timestamp: "2011-12-03T10:15:30+01:00" location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 GeoCampaignUnitsSingleLocations: type: object required: - type - features properties: type: type: string enum: - FeatureCollection metadata: type: object features: type: array minLength: 2 items: $ref: '#/components/schemas/GeoFeatureUnitSingleLocation' GeoFeatureUnitSingleLocation: type: object required: - type - properties - geometry properties: type: type: string enum: - Feature properties: type: object required: - unitId - timestamp properties: unitId: type: integer format: int64 timestamp: type: string format: date-time geometry: $ref: '#/components/schemas/GeoPoint' GeoCampaignUnitsMultiLocations: type: object required: - type - features properties: type: type: string enum: - FeatureCollection metadata: type: object features: type: array minLength: 1 items: $ref: '#/components/schemas/GeoFeatureUnitMultiLocation' GeoFeatureUnitMultiLocation: type: object required: - type - properties - geometry properties: type: type: string enum: - Feature properties: type: object required: - unitId - fromTime - toTime properties: unitId: type: integer format: int64 fromTime: type: string format: date-time toTime: type: string format: date-time geometry: $ref: '#/components/schemas/GeoMultiPoint' GeoMultiPoint: type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array minLength: 1 items: type: array items: type: number format: float minLength: 3 maxLength: 3 description: "[lon, lat, alt]" ActionEventLocationPaging: 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/ActionEventLocationPaging/x-NavigationLinks/Event@NavigationLink' next@NavigationLink: $ref: '#/components/schemas/ActionEventLocationPaging/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: "2011-12-03T10:15:30+01:00" location: longitude: 49.7384 latitude: 13.3736 altitude: 350.3 Location: type: object required: - longitude - latitude - altitude 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 Entities@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdEntitiesGET 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' Entities@NavigationLink: $ref: '#/components/schemas/UnitDetailInfo/x-NavigationLinks/Entities@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" Entities@NavigationLink: "/units/25/entities" 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 - name - 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 name: 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 name: "Campaign 1" fromTime: "2011-12-03T10:15:30+01:00" toTime: "2011-12-03T10:15:30+01:00" UnitEntityBasicInfo: type: object required: - id - name x-NavigationLinks: Entity@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdGET properties: Entity@NavigationLink: $ref: '#/components/schemas/UnitEntityBasicInfo/x-NavigationLinks/Entity@NavigationLink' id: type: integer format: int64 name: type: string example: Entity@NavigationLink: "/entities/42" id: 42 name: "Steve Smith" EntityActionUnitBasicInfo: type: object required: - unitId - name x-NavigationLinks: EntityActionUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdActionIdUnitIdGET properties: EntityActionUnit@NavigationLink: $ref: '#/components/schemas/EntityActionUnitBasicInfo/x-NavigationLinks/EntityActionUnit@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string description: type: string example: EntityActionUnit@NavigationLink: "/entities/42/actions/258/units/25" unitId: 25 name: "Unit name" description: "Purpose of the Unit 25" EntityActionUnitDetailInfo: type: object required: - unitId - name - imei x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdActionIdUnitIdGET EntityAction@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdActionIdGET Events@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitIdActionIdEventsGET Unit@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdGET Alerts@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdActionIdUnitIdAlertsGET properties: self@NavigationLink: $ref: '#/components/schemas/EntityActionUnitDetailInfo/x-NavigationLinks/self@NavigationLink' EntityAction@NavigationLink: $ref: '#/components/schemas/EntityActionUnitDetailInfo/x-NavigationLinks/EntityAction@NavigationLink' Unit@NavigationLink: $ref: '#/components/schemas/EntityActionUnitDetailInfo/x-NavigationLinks/Unit@NavigationLink' Events@NavigationLink: $ref: '#/components/schemas/EntityActionUnitDetailInfo/x-NavigationLinks/Events@NavigationLink' Alerts@NavigationLink: $ref: '#/components/schemas/EntityActionUnitDetailInfo/x-NavigationLinks/Alerts@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string imei: type: string description: type: string example: self@NavigationLink: "/entities/42/actions/258/units/25" EntityAction@NavigationLink: "/entities/42/actions/258" Events@NavigationLink: "/entities/42/units/25/actions/258/events" Unit@NavigationLink: "/units/25" Alerts@NavigationLink: "/alerts/34" unitId: 25 name: "Mobile Unit" description: "Mobile Unit 25" imei: "3434535323345" SensorBasicInfo: type: object required: - sensorId - 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' sensorId: type: integer format: int64 name: type: string description: type: string example: Sensor@NavigationLink: "/sensors/105" sensorId: 105 name: "Sensor 105" description: "Description of the sensor 105" SensorDetailInfo: type: object required: - sensorId - ioId - ioMultiplier - 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: int32 minimum: 1 ioMultiplier: type: number 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 ioId: 98 ioMultiplier: 0.1 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: - sensorId - name x-NavigationLinks: Sensor@NavigationLink: type: string format: uri x-graph-properties: linkTo: sensorIdGET properties: Sensor@NavigationLink: $ref: '#/components/schemas/PhenomenonSensorBasicInfo/x-NavigationLinks/Sensor@NavigationLink' sensorId: type: integer format: int64 name: type: string description: type: string example: Sensor@NavigationLink: "/sensors/105" sensorId: 105 name: "Sensor 105" description: "Description of Sensor 105" EntityBasicInfo: type: object required: - id - name x-NavigationLinks: Entity@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdGET properties: Entity@NavigationLink: $ref: '#/components/schemas/EntityBasicInfo/x-NavigationLinks/Entity@NavigationLink' id: type: integer format: int64 name: type: string example: Entity@NavigationLink: "/entities/42" id: 42 name: "Steve Smith" EntityDetailInfo: type: object required: - id - name x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdGET Units@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitsGET Actions@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdActionsGET properties: self@NavigationLink: $ref: '#/components/schemas/EntityDetailInfo/x-NavigationLinks/self@NavigationLink' Units@NavigationLink: $ref: '#/components/schemas/EntityDetailInfo/x-NavigationLinks/Units@NavigationLink' Actions@NavigationLink: $ref: '#/components/schemas/EntityDetailInfo/x-NavigationLinks/Actions@NavigationLink' id: type: integer format: int64 name: type: string example: self@NavigationLink: "/entities/42" Units@NavigationLink: "/entities/42/units" Actions@NavigationLink: "/entities/42/actions" id: 42 name: "Steve Smith" EntityUnitBasicInfo: type: object required: - unitId - name x-NavigationLinks: EntityUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitsGET properties: EntityUnit@NavigationLink: $ref: '#/components/schemas/EntityUnitBasicInfo/x-NavigationLinks/EntityUnit@NavigationLink' unitId: description: Identifier of the unit type: integer format: int64 name: type: string description: type: string example: EntityUnit@NavigationLink: "/entities/42/units/25" unitId: 25 name: "Unit name" description: "Purpose of the Unit 25" EntityUnitDetailInfo: type: object required: - unitId - imei - name x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitIdGET Unit@NavigationLink: type: string format: uri x-graph-properties: linkTo: unitIdGET Actions@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitIdActionsGET properties: self@NavigationLink: $ref: '#/components/schemas/EntityUnitDetailInfo/x-NavigationLinks/self@NavigationLink' Unit@NavigationLink: $ref: '#/components/schemas/EntityUnitDetailInfo/x-NavigationLinks/Unit@NavigationLink' Actions@NavigationLink: $ref: '#/components/schemas/EntityUnitDetailInfo/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: "/entities/42/units/25" Unit@NavigationLink: "/units/25" Actions@NavigationLink: "/entities/42/units/25/actions" unitId: 25 name: "Mobile Unit" description: "Mobile Unit 25" imei: "3434535323345" EntityActionBasicInfo: type: object required: - id - name x-NavigationLinks: EntityAction@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdActionIdGET properties: EntityAction@NavigationLink: $ref: '#/components/schemas/EntityActionBasicInfo/x-NavigationLinks/EntityAction@NavigationLink' id: type: integer format: int64 name: type: string example: EntityAction@NavigationLink: "/entities/42/actions/258" id: 258 name: "Delivering" EntityUnitActionBasicInfo: type: object required: - id - name x-NavigationLinks: EntityUntAction@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitIdActionIdGET properties: EntityUntAction@NavigationLink: $ref: '#/components/schemas/EntityUnitActionBasicInfo/x-NavigationLinks/EntityUntAction@NavigationLink' id: type: integer format: int64 name: type: string example: EntityUntAction@NavigationLink: "/entities/42/units/{25}/actions/258" id: 258 name: "Delivering" EntityActionDetailInfo: type: object required: - id - name x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdActionIdGET Entity@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdGET Units@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdActionIdUnitsGET properties: self@NavigationLink: $ref: '#/components/schemas/EntityActionDetailInfo/x-NavigationLinks/self@NavigationLink' Entity@NavigationLink: $ref: '#/components/schemas/EntityActionDetailInfo/x-NavigationLinks/Entity@NavigationLink' Units@NavigationLink: $ref: '#/components/schemas/EntityActionDetailInfo/x-NavigationLinks/Units@NavigationLink' id: type: integer format: int64 name: type: string example: self@NavigationLink: "/entities/42/actions/258" Entity@NavigationLink: "/entities/42" Units@NavigationLink: "/entities/42/actions/258/units" id: 258 name: "Delivering" EntityUnitActionDetailInfo: type: object required: - id - name x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitIdActionIdGET Entity@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdGET EntityUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitIdGET Events@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitIdActionIdEventsGET properties: self@NavigationLink: $ref: '#/components/schemas/EntityUnitActionDetailInfo/x-NavigationLinks/self@NavigationLink' Entity@NavigationLink: $ref: '#/components/schemas/EntityUnitActionDetailInfo/x-NavigationLinks/Entity@NavigationLink' EntityUnit@NavigationLink: $ref: '#/components/schemas/EntityUnitActionDetailInfo/x-NavigationLinks/EntityUnit@NavigationLink' Events@NavigationLink: $ref: '#/components/schemas/EntityUnitActionDetailInfo/x-NavigationLinks/Events@NavigationLink' id: type: integer format: int64 name: type: string example: self@NavigationLink: "/entities/42/units/25/actions/258" Entity@NavigationLink: "/entities/42" EntityUnit@NavigationLink: "/entities/42/units/25" Events@NavigationLink: "/entities/42/units/25/actions/258/events" id: 258 name: "Delivering" EventInsertInfo: type: object required: - fromTime properties: 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: fromTime: "2011-12-03T10:15:30+01:00" toTime: "2011-12-03T10:15:30+01:00" EventStatus: type: string enum: - FINISHED - ONGOING EventBasicInfo: type: object required: - id - status - fromTime - toTime x-NavigationLinks: Event@NavigationLink: type: string format: uri x-graph-properties: linkTo: eventIdGET properties: Event@NavigationLink: $ref: '#/components/schemas/EventBasicInfo/x-NavigationLinks/Event@NavigationLink' id: type: integer format: int64 status: $ref: '#/components/schemas/EventStatus' 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: "/events/999" id: 999 status: "FINISHED" fromTime: "2011-12-03T10:15:30+01:00" toTime: "2011-12-03T10:15:30+01:00" EventDetailInfo: type: object required: - id - entityId - actionId - unitId - status - fromTime - toTime x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: eventIdGET Entity@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdGET EntityUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdUnitIdGET Action@NavigationLink: type: string format: uri x-graph-properties: linkTo: entityIdActionIdGET 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' Entity@NavigationLink: $ref: '#/components/schemas/EventDetailInfo/x-NavigationLinks/Entity@NavigationLink' EntityUnit@NavigationLink: $ref: '#/components/schemas/EventDetailInfo/x-NavigationLinks/EntityUnit@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 entityId: type: integer format: int64 actionId: type: integer format: int64 unitId: type: integer format: int64 status: $ref: "#/components/schemas/EventStatus" 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: "/entities/42/units/105/actions/258/events/999" Entity@NavigationLink: "/entities/42" EntityUnit@NavigationLink: "/entities/42/units/105" Action@NavigationLink: "/actions/258" Observations@NavigationLink: "/events/999/observations" Locations@NavigationLink: "/events/999/observations/locations" id: 999 entityId: 42 actionId: 258 unitId: 105 status: "FINISHED" fromTime: "2011-12-03T10:15:30+01:00" toTime: "2011-12-03T10:15:30+01:00" CampaignAlertBasicInfo: type: object required: - id - unitId - message - status - timestamp x-NavigationLinks: Alert@NavigationLink: type: string format: uri x-graph-properties: linkTo: alertIdGET properties: Alert@NavigationLink: $ref: '#/components/schemas/AlertBasicInfo/x-NavigationLinks/Alert@NavigationLink' id: type: integer format: int64 unitId: type: integer format: int64 message: type: string status: $ref: '#/components/schemas/AlertStatus' timestamp: type: string format: date-time example: Alert@NavigationLink: "/alerts/34" id: 34 unitId: 25 message: "Example of an alert message" status: "CREATED" timestamp: "2011-12-03T10:15:30+01:00" AlertBasicInfo: type: object required: - id - message - status - timestamp x-NavigationLinks: Alert@NavigationLink: type: string format: uri x-graph-properties: linkTo: alertIdGET properties: Alert@NavigationLink: $ref: '#/components/schemas/AlertBasicInfo/x-NavigationLinks/Alert@NavigationLink' id: type: integer format: int64 message: type: string status: $ref: '#/components/schemas/AlertStatus' timestamp: type: string format: date-time example: Alert@NavigationLink: "/alerts/34" id: 34 message: "Example of an alert message" status: "CREATED" timestamp: "2011-12-03T10:15:30+01:00" EventAlertDetailInfo: type: object required: - id - timestamp - message - status x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: alertIdGET Event@NavigationLink: type: string format: uri x-graph-properties: linkTo: eventIdGET properties: self@NavigationLink: $ref: '#/components/schemas/EventAlertDetailInfo/x-NavigationLinks/self@NavigationLink' Event@NavigationLink: $ref: '#/components/schemas/EventAlertDetailInfo/x-NavigationLinks/Event@NavigationLink' id: type: integer format: int32 timestamp: type: string format: date-time message: type: string status: $ref: '#/components/schemas/AlertStatus' example: self@NavigationLink: "/alerts/34" Event@NavigationLink: "/events/345" id: 34 timestamp: "2011-12-03T10:15:30+01:00" message: "Example of an alert message" status: "CREATED" AlertDetailInfo: type: object required: - id - unitId - timestamp - message - status x-NavigationLinks: self@NavigationLink: type: string format: uri x-graph-properties: linkTo: alertIdGET CampaignUnit@NavigationLink: type: string format: uri x-graph-properties: linkTo: campaignIdUnitIdGET Events@NavigationLink: type: string format: uri x-graph-properties: linkTo: alertIdEventsGET properties: self@NavigationLink: $ref: '#/components/schemas/AlertDetailInfo/x-NavigationLinks/self@NavigationLink' CampaignUnit@NavigationLink: $ref: '#/components/schemas/AlertDetailInfo/x-NavigationLinks/CampaignUnit@NavigationLink' Events@NavigationLink: $ref: '#/components/schemas/AlertDetailInfo/x-NavigationLinks/Events@NavigationLink' id: type: integer format: int32 unitId: type: integer format: int64 timestamp: type: string format: date-time message: type: string status: $ref: '#/components/schemas/AlertStatus' observation: $ref: '#/components/schemas/UnitDataObservation' example: self@NavigationLink: "/alerts/34" CampaignUnit@NavigationLink: "/campaign/1/units/25" Events@NavigationLink: "/alerts/34/events" id: 34 unitId: 25 timestamp: "2011-12-03T10:15:30+01:00" message: "Example of an alert message" status: "CREATED" observation: {} AlertInsert: type: object required: - unitId - timestamp - message properties: unitId: type: integer format: int64 message: type: string timestamp: type: string format: date-time example: unitId: 25 message: "Alert message" timestamp: "2011-12-03T10:15:30+01:00" AlertChange: type: object required: - status properties: status: $ref: '#/components/schemas/AlertStatus' AlertStatus: type: string enum: - CREATED - INFORMED - IN_PROCESS - SOLVED example: "CREATED" PostResponse: type: object required: - saved - errors properties: saved: type: integer minimum: 0 errors: type: integer minimum: 0 ResponseArrayChange: type: object required: - ids - message properties: ids: type: array items: type: integer format: int64 message: type: string example: ids: [34, 35, 36] message: "Success" ResponseSingleChange: type: object required: - id properties: id: type: integer format: int64 example: id: 34 Info: type: object required: - name - version - build - uptime - uptimeMillis - authType properties: name: type: string version: type: string build: type: string uptimeMillis: type: integer format: int64 uptime: type: string authType: type: string enum: [BEARER, NONE] example: name: "senslog-telemetry" version: "1.1.0" build: "123456789" uptimeMillis: 1684862333 uptime: "1:20:00" authType: "NONE" Error: type: object required: - code - message properties: code: type: integer format: int32 message: type: string example: code: 404 message: "Not Found"