openapi: 3.0.2
info:
  title: SensorThings v1.1
  version: 1.0.0
  description: Version v1.1 of the OGC SensorThings API, including Part 2 - Tasking.
servers:
  - url: https://ogc-demo.k8s.ilt-dmz.iosb.fraunhofer.de/FROST-Server
    description: FROST-Server
paths:
  /v1.1: {}
  /v1.1/Actuators:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Actuators-get-200'
  /v1.1/Actuators({entityId}):
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/Actuator-get-200'
  /v1.1/Actuators({entityId})/TaskingCapabilities:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/TaskingCapabilities-get-200'
  /v1.1/Datastreams:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Datastreams-get-200'
  /v1.1/Datastreams({entityId}):
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/Datastream-get-200'
  /v1.1/Datastreams({entityId})/Observations:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Observations-get-200'
  /v1.1/Datastreams({entityId})/ObservedProperty:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/ObservedProperty-get-200'
  /v1.1/Datastreams({entityId})/Sensor:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/Sensor-get-200'
  /v1.1/Datastreams({entityId})/Thing:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/Thing-get-200'
  /v1.1/FeaturesOfInterest:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/FeaturesOfInterest-get-200'
  /v1.1/FeaturesOfInterest({entityId}):
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/FeatureOfInterest-get-200'
  /v1.1/FeaturesOfInterest({entityId})/Observations:
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29~1Observations'
  /v1.1/HistoricalLocations:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/HistoricalLocations-get-200'
  /v1.1/HistoricalLocations({entityId}):
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/HistoricalLocation-get-200'
  /v1.1/HistoricalLocations({entityId})/Locations:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Locations-get-200'
  /v1.1/HistoricalLocations({entityId})/Thing:
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29~1Thing'
  /v1.1/Locations:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Locations-get-200'
  /v1.1/Locations({entityId}):
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/Location-get-200'
  /v1.1/Locations({entityId})/HistoricalLocations:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/HistoricalLocations-get-200'
  /v1.1/Locations({entityId})/Things:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Things-get-200'
  /v1.1/MultiDatastreams:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/MultiDatastreams-get-200'
  /v1.1/MultiDatastreams({entityId}):
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/MultiDatastream-get-200'
  /v1.1/MultiDatastreams({entityId})/Observations:
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29~1Observations'
  /v1.1/MultiDatastreams({entityId})/ObservedProperties:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/ObservedProperties-get-200'
  /v1.1/MultiDatastreams({entityId})/Sensor:
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29~1Sensor'
  /v1.1/MultiDatastreams({entityId})/Thing:
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29~1Thing'
  /v1.1/Observations:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Observations-get-200'
  /v1.1/Observations({entityId}):
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/Observation-get-200'
  /v1.1/Observations({entityId})/Datastream:
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29'
  /v1.1/Observations({entityId})/FeatureOfInterest:
    $ref: '#/paths/~1v1.1~1FeaturesOfInterest%28%7BentityId%7D%29'
  /v1.1/Observations({entityId})/MultiDatastream:
    $ref: '#/paths/~1v1.1~1MultiDatastreams%28%7BentityId%7D%29'
  /v1.1/ObservedProperties:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/ObservedProperties-get-200'
  /v1.1/ObservedProperties({entityId}):
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29~1ObservedProperty'
  /v1.1/ObservedProperties({entityId})/Datastreams:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Datastreams-get-200'
  /v1.1/ObservedProperties({entityId})/MultiDatastreams:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/MultiDatastreams-get-200'
  /v1.1/Sensors:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Sensors-get-200'
  /v1.1/Sensors({entityId}):
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29~1Sensor'
  /v1.1/Sensors({entityId})/Datastreams:
    $ref: '#/paths/~1v1.1~1ObservedProperties%28%7BentityId%7D%29~1Datastreams'
  /v1.1/Sensors({entityId})/MultiDatastreams:
    $ref: '#/paths/~1v1.1~1ObservedProperties%28%7BentityId%7D%29~1MultiDatastreams'
  /v1.1/TaskingCapabilities:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/TaskingCapabilities-get-200'
  /v1.1/TaskingCapabilities({entityId}):
    $ref: '#/paths/~1v1.1~1Tasks%28%7BentityId%7D%29~1TaskingCapability'
  /v1.1/TaskingCapabilities({entityId})/Actuator:
    $ref: '#/paths/~1v1.1~1Actuators%28%7BentityId%7D%29'
  /v1.1/TaskingCapabilities({entityId})/Tasks:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Tasks-get-200'
  /v1.1/TaskingCapabilities({entityId})/Thing:
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29~1Thing'
  /v1.1/Tasks:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Tasks-get-200'
  /v1.1/Tasks({entityId}):
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/Task-get-200'
  /v1.1/Tasks({entityId})/TaskingCapability:
    parameters:
      - $ref: '#/components/parameters/entityId'
    get:
      parameters:
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          $ref: '#/components/responses/TaskingCapability-get-200'
  /v1.1/Things:
    get:
      parameters:
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/count'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          $ref: '#/components/responses/Things-get-200'
  /v1.1/Things({entityId}):
    $ref: '#/paths/~1v1.1~1Datastreams%28%7BentityId%7D%29~1Thing'
  /v1.1/Things({entityId})/Datastreams:
    $ref: '#/paths/~1v1.1~1ObservedProperties%28%7BentityId%7D%29~1Datastreams'
  /v1.1/Things({entityId})/HistoricalLocations:
    $ref: '#/paths/~1v1.1~1Locations%28%7BentityId%7D%29~1HistoricalLocations'
  /v1.1/Things({entityId})/Locations:
    $ref: '#/paths/~1v1.1~1HistoricalLocations%28%7BentityId%7D%29~1Locations'
  /v1.1/Things({entityId})/MultiDatastreams:
    $ref: '#/paths/~1v1.1~1ObservedProperties%28%7BentityId%7D%29~1MultiDatastreams'
  /v1.1/Things({entityId})/TaskingCapabilities:
    $ref: '#/paths/~1v1.1~1Actuators%28%7BentityId%7D%29~1TaskingCapabilities'
components:
  schemas:
    Actuator:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        TaskingCapabilities:
          type: array
          items:
            $ref: '#/components/schemas/TaskingCapability'
        TaskingCapabilities@iot.count:
          $ref: '#/components/schemas/count'
        TaskingCapabilities@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        TaskingCapabilities@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        description:
          type: string
        encodingType:
          type: string
        metadata:
          type: string
        name:
          type: string
        properties:
          $ref: '#/components/schemas/properties'
    Actuators:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/Actuator'
    Datastream:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        Observations:
          type: array
          items:
            $ref: '#/components/schemas/Observation'
        Observations@iot.count:
          $ref: '#/components/schemas/count'
        Observations@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Observations@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        ObservedProperty:
          $ref: '#/components/schemas/ObservedProperty'
        ObservedProperty@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Sensor:
          $ref: '#/components/schemas/Sensor'
        Sensor@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Thing:
          $ref: '#/components/schemas/Thing'
        Thing@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        description:
          type: string
        name:
          type: string
        observationType:
          type: string
        observedArea:
          type: object
        phenomenonTime:
          type: string
        properties:
          $ref: '#/components/schemas/properties'
        resultTime:
          type: string
        unitOfMeasurement:
          type: object
          properties:
            definition:
              type: string
            name:
              type: string
            symbol:
              type: string
    Datastreams:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/Datastream'
    FeatureOfInterest:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        Observations:
          type: array
          items:
            $ref: '#/components/schemas/Observation'
        Observations@iot.count:
          $ref: '#/components/schemas/count'
        Observations@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Observations@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        description:
          type: string
        encodingType:
          type: string
        feature:
          type: object
        name:
          type: string
        properties:
          $ref: '#/components/schemas/properties'
    FeaturesOfInterest:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/FeatureOfInterest'
    HistoricalLocation:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        Locations:
          type: array
          items:
            $ref: '#/components/schemas/Location'
        Locations@iot.count:
          $ref: '#/components/schemas/count'
        Locations@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Locations@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        Thing:
          $ref: '#/components/schemas/Thing'
        Thing@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        time:
          type: string
          format: date-time
    HistoricalLocations:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/HistoricalLocation'
    Location:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        HistoricalLocations:
          type: array
          items:
            $ref: '#/components/schemas/HistoricalLocation'
        HistoricalLocations@iot.count:
          $ref: '#/components/schemas/count'
        HistoricalLocations@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        HistoricalLocations@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        Things:
          type: array
          items:
            $ref: '#/components/schemas/Thing'
        Things@iot.count:
          $ref: '#/components/schemas/count'
        Things@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Things@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        description:
          type: string
        encodingType:
          type: string
        location:
          type: object
        name:
          type: string
        properties:
          $ref: '#/components/schemas/properties'
    Locations:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/Location'
    MultiDatastream:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        '@iot.selfLink':
          $ref: '#/components/schemas/selfLink'
        Observations:
          type: array
          items:
            $ref: '#/components/schemas/Observation'
        Observations@iot.count:
          $ref: '#/components/schemas/count'
        Observations@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Observations@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        ObservedProperties:
          type: array
          items:
            $ref: '#/components/schemas/ObservedProperty'
        ObservedProperties@iot.count:
          $ref: '#/components/schemas/count'
        ObservedProperties@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        ObservedProperties@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        Sensor:
          $ref: '#/components/schemas/Sensor'
        Sensor@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Thing:
          $ref: '#/components/schemas/Thing'
        Thing@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        description:
          type: string
        multiObservationDataTypes:
          type: string
        name:
          type: string
        observationType:
          type: string
        observedArea:
          type: object
        phenomenonTime:
          type: string
        properties:
          $ref: '#/components/schemas/properties'
        resultTime:
          type: string
        unitOfMeasurements:
          type: array
          items:
            type: object
            properties:
              definition:
                type: string
              name:
                type: string
              symbol:
                type: string
    MultiDatastreams:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/MultiDatastream'
    Observation:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        Datastream:
          $ref: '#/components/schemas/Datastream'
        Datastream@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        FeatureOfInterest:
          $ref: '#/components/schemas/FeatureOfInterest'
        FeatureOfInterest@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        MultiDatastream:
          $ref: '#/components/schemas/MultiDatastream'
        MultiDatastream@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        parameters:
          type: object
        phenomenonTime:
          type: string
        result: {}
        resultQuality:
          type: object
        resultTime:
          type: string
          format: date-time
        validTime:
          type: string
    Observations:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/Observation'
    ObservedProperties:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/ObservedProperty'
    ObservedProperty:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        Datastreams:
          type: array
          items:
            $ref: '#/components/schemas/Datastream'
        Datastreams@iot.count:
          $ref: '#/components/schemas/count'
        Datastreams@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Datastreams@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        MultiDatastreams:
          type: array
          items:
            $ref: '#/components/schemas/MultiDatastream'
        MultiDatastreams@iot.count:
          $ref: '#/components/schemas/count'
        MultiDatastreams@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        MultiDatastreams@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        definition:
          type: string
        description:
          type: string
        name:
          type: string
        properties:
          $ref: '#/components/schemas/properties'
    Sensor:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        Datastreams:
          type: array
          items:
            $ref: '#/components/schemas/Datastream'
        Datastreams@iot.count:
          $ref: '#/components/schemas/count'
        Datastreams@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Datastreams@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        MultiDatastreams:
          type: array
          items:
            $ref: '#/components/schemas/MultiDatastream'
        MultiDatastreams@iot.count:
          $ref: '#/components/schemas/count'
        MultiDatastreams@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        MultiDatastreams@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        description:
          type: string
        encodingType:
          type: string
        metadata:
          type: string
        name:
          type: string
        properties:
          $ref: '#/components/schemas/properties'
    Sensors:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/Sensor'
    Task:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        TaskingCapability:
          $ref: '#/components/schemas/TaskingCapability'
        TaskingCapability@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        creationTime:
          type: string
          format: date-time
        taskingParameters:
          type: object
    TaskingCapabilities:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/TaskingCapability'
    TaskingCapability:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        Actuator:
          $ref: '#/components/schemas/Actuator'
        Actuator@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Tasks:
          type: array
          items:
            $ref: '#/components/schemas/Task'
        Tasks@iot.count:
          $ref: '#/components/schemas/count'
        Tasks@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Tasks@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        Thing:
          $ref: '#/components/schemas/Thing'
        Thing@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        description:
          type: string
        name:
          type: string
        properties:
          $ref: '#/components/schemas/properties'
        taskingParameters:
          type: object
    Tasks:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/Task'
    Thing:
      type: object
      properties:
        '@iot.id':
          type: integer
          format: int64
          readOnly: true
        Datastreams:
          type: array
          items:
            $ref: '#/components/schemas/Datastream'
        Datastreams@iot.count:
          $ref: '#/components/schemas/count'
        Datastreams@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Datastreams@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        HistoricalLocations:
          type: array
          items:
            $ref: '#/components/schemas/HistoricalLocation'
        HistoricalLocations@iot.count:
          $ref: '#/components/schemas/count'
        HistoricalLocations@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        HistoricalLocations@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        Locations:
          type: array
          items:
            $ref: '#/components/schemas/Location'
        Locations@iot.count:
          $ref: '#/components/schemas/count'
        Locations@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        Locations@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        MultiDatastreams:
          type: array
          items:
            $ref: '#/components/schemas/MultiDatastream'
        MultiDatastreams@iot.count:
          $ref: '#/components/schemas/count'
        MultiDatastreams@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        MultiDatastreams@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        TaskingCapabilities:
          type: array
          items:
            $ref: '#/components/schemas/TaskingCapability'
        TaskingCapabilities@iot.count:
          $ref: '#/components/schemas/count'
        TaskingCapabilities@iot.navigationLink:
          $ref: '#/components/schemas/navigationLink'
        TaskingCapabilities@iot.nextLink:
          $ref: '#/components/schemas/nextLink'
        description:
          type: string
        name:
          type: string
        properties:
          $ref: '#/components/schemas/properties'
    Things:
      type: object
      properties:
        '@iot.count':
          $ref: '#/components/schemas/count'
        '@iot.nextLink':
          $ref: '#/components/schemas/nextLink'
        value:
          type: array
          items:
            $ref: '#/components/schemas/Thing'
    count:
      type: integer
      format: int64
      description: The total number of entities in the entityset
      readOnly: true
    entityId:
      type: integer
      format: int64
      description: The ID of an entity
      readOnly: true
    navigationLink:
      type: string
      description: A link to a related entity or entity set
      readOnly: true
    nextLink:
      type: string
      description: The link to the next page of entities
      readOnly: true
    properties:
      type: object
      description: >-
        a set of additional properties specified for the entity in the form
        "name":"value" pairs
      additionalProperties: true
    selfLink:
      type: string
      description: The direct link to the entity
      readOnly: true
  parameters:
    count:
      name: $count
      in: query
      description: >-
        Flag indicating if the total number of items in the collection should be
        returned.
      required: false
      schema:
        type: boolean
    entityId:
      name: entityId
      in: path
      description: The id of the requested entity
      required: true
      schema:
        type: integer
        format: int64
    expand:
      name: $expand
      in: query
      description: The list of related queries that need to be included in the result.
      required: false
      schema:
        type: string
    filter:
      name: $filter
      in: query
      description: A filter query.
      required: false
      schema:
        type: string
    select:
      name: $select
      in: query
      description: The list of properties that need to be returned.
      required: false
      schema:
        type: string
    skip:
      name: $skip
      in: query
      description: The number of elements to skip from the collection
      required: false
      schema:
        type: integer
        format: int64
    top:
      name: $top
      in: query
      description: The number of elements to return
      required: false
      schema:
        type: integer
        format: int64
  responses:
    Actuator-get-200:
      description: A single entity of type Actuator
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Actuator'
    Actuators-get-200:
      description: A set of entities of type Actuator
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Actuators'
    Datastream-get-200:
      description: A single entity of type Datastream
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Datastream'
    Datastreams-get-200:
      description: A set of entities of type Datastream
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Datastreams'
    FeatureOfInterest-get-200:
      description: A single entity of type FeatureOfInterest
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FeatureOfInterest'
    FeaturesOfInterest-get-200:
      description: A set of entities of type FeatureOfInterest
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FeaturesOfInterest'
    HistoricalLocation-get-200:
      description: A single entity of type HistoricalLocation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/HistoricalLocation'
    HistoricalLocations-get-200:
      description: A set of entities of type HistoricalLocation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/HistoricalLocations'
    Location-get-200:
      description: A single entity of type Location
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Location'
    Locations-get-200:
      description: A set of entities of type Location
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Locations'
    MultiDatastream-get-200:
      description: A single entity of type MultiDatastream
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MultiDatastream'
    MultiDatastreams-get-200:
      description: A set of entities of type MultiDatastream
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MultiDatastreams'
    Observation-get-200:
      description: A single entity of type Observation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Observation'
    Observations-get-200:
      description: A set of entities of type Observation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Observations'
    ObservedProperties-get-200:
      description: A set of entities of type ObservedProperty
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ObservedProperties'
    ObservedProperty-get-200:
      description: A single entity of type ObservedProperty
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ObservedProperty'
    Sensor-get-200:
      description: A single entity of type Sensor
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Sensor'
    Sensors-get-200:
      description: A set of entities of type Sensor
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Sensors'
    Task-get-200:
      description: A single entity of type Task
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Task'
    TaskingCapabilities-get-200:
      description: A set of entities of type TaskingCapability
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TaskingCapabilities'
    TaskingCapability-get-200:
      description: A single entity of type TaskingCapability
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TaskingCapability'
    Tasks-get-200:
      description: A set of entities of type Task
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Tasks'
    Thing-get-200:
      description: A single entity of type Thing
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Thing'
    Things-get-200:
      description: A set of entities of type Thing
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Things'
