openapi: 3.0.2
info:
  title: British Geological Survey Sensors API
  version: 0.1.0
  description:
    The British Geological Survey (BGS) Sensor API uses Version v1.1 of the OGC SensorThings API.<br><br>
    Paths/Endpoints that are not currently in use have been excluded, i.e. those relating to Actuators, MultiDatastreams, Tasks and TaskingCapabilities.<br><br>
    HistoricalLocations have also been removed.<br><br>
servers:
  - url: 'https://sensors.bgs.ac.uk/FROST-Server'
    description: The external production version of the BGS Sensor API
  - url: 'https://sensors-internal.bgs.ac.uk/FROST-Server'
    description: The internal production version of the BGS Sensor API
tags:
  - name: Datastreams
    description: The properties observed by a thing, and the type of sensor making the observations, e.g. a CT2X groundwater logger installed in borehole GGA04 measuring Water Temperature.
  - name: FeaturesOfInterest
    description: A feature about which observations are made, e.g. a borehole or a specific sensor monitoring point (location).
  - name: Locations
    description: Current (and previous) location details for each thing, generally lat/long and elevation.
  - name: Observations
    description: Individual measurements recorded at a given point in time.
  - name: ObservedProperties
    description: Dictionary of properties being observed. These can be directly measured or calculated, e.g. Water Temperature, Barometric Pressure.
  - name: Sensors
    description: Dictionary of the instrument types being used to observe properties, e.g. a CT2X Groundwater Logger.
  - name: Things
    description: Real-world sensors that can be integrated into communication network, e.g. a groundwater logger installed in borehole GGA04.
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:
      tags:
        - Datastreams
      summary: 'Get all datastreams'
      description: 'Returns all the datastreams provided by this api (subject to any parameters set)'
      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}):
    get:
      tags:
        - Datastreams
      summary: 'Get information about an individual datastream'
      description: 'Returns information about the datastream identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Datastream-get-200"
  /v1.1/Datastreams({entityId})/Observations:
    get:
      tags:
        - Datastreams
      summary: 'Get all observations for a datastream'
      description: 'Returns all observations for the datastream identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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:
    get:
      tags:
        - Datastreams
      summary: 'Get information about a datastream''s observed property'
      description: 'Returns information about the observed property for the datastream identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/ObservedProperty-get-200"
  /v1.1/Datastreams({entityId})/ObservedProperty/Datastreams:
    get:
      tags:
        - Datastreams
      summary: 'Get all datastreams that provide a datastream''s observed property'
      description: 'Returns all datastreams that provide the observed property for the datastream identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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})/ObservedProperty/MultiDatastreams:
  #    get:
  #      tags:
  #        - Datastreams
  #      summary: 'Get all multi-datastreams that provide a datastreams''s observed property'
  #      description: 'Returns all multi-datastreams that provide the observed property for the datastream identified by **entityId** (subject to any other parameters set)'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Datastreams({entityId})/Sensor:
    get:
      tags:
        - Datastreams
      summary: 'Get information about a datastream''s sensor type'
      description: 'Returns information about the sensor type for the datastream identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Sensor-get-200"
  /v1.1/Datastreams({entityId})/Sensor/Datastreams:
    get:
      tags:
        - Datastreams
      summary: 'Get all datastreams which share a datastream''s sensor type'
      description: 'Returns all datastreams which share the sensor type for the datastream identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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})/Sensor/MultiDatastreams:
  #    get:
  #      tags:
  #        - Datastreams
  #      summary: 'Get all multi-datastreams which share a datastreams''s sensor type'
  #      description: 'Returns all multi-datastreams which share the sensor type for the datastream identified by **entityId** (subject to any other parameters set)'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Datastreams({entityId})/Thing:
    get:
      tags:
        - Datastreams
      summary: 'Get information about a datastream''s thing'
      description: 'Returns information about the thing for the datastream identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Thing-get-200"
  /v1.1/Datastreams({entityId})/Thing/Datastreams:
    get:
      tags:
        - Datastreams
      summary: 'Get all datastreams provided by a datastream''s thing'
      description: 'Returns all datastreams provided by the thing for the datastream identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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})/Thing/HistoricalLocations:
  #    get:
  #      tags:
  #        - Datastreams
  #      summary: 'Get all historical locations for a datastream''s thing'
  #      description: 'Returns all historical locations of the thing for the datastream identified by **entityId** (subject to any other parameters set)'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Datastreams({entityId})/Thing/Locations:
    get:
      tags:
        - Datastreams
      summary: 'Get all locations for a datastream''s thing'
      description: 'Returns all locations of the thing for the datastream identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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/Datastreams({entityId})/Thing/MultiDatastreams:
  #    get:
  #      tags:
  #        - Datastreams
  #      summary: 'Get all multi-datastreams provided by the datastream''s thing'
  #      description: 'Returns all multi-datastreams provided by the thing for the datastream identified by **entityId** (subject to any other parameters set)'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Datastreams({entityId})/Thing/TaskingCapabilities:
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
  /v1.1/FeaturesOfInterest:
    get:
      tags:
        - FeaturesOfInterest
      summary: 'Get all features of interest'
      description: 'Returns all the features of interest provided by this api (subject to any parameters set)'
      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}):
    get:
      tags:
        - FeaturesOfInterest
      summary: 'Get information about an individual feature of interest'
      description: 'Returns information about the feature of interest identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/FeatureOfInterest-get-200"
  /v1.1/FeaturesOfInterest({entityId})/Observations:
    get:
      tags:
        - FeaturesOfInterest
      summary: 'Get all observations for a feature of interest'
      description: 'Returns all observations for the feature of interest identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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/HistoricalLocations:
  #    get:
  #      tags:
  #        - HistoricalLocations
  #      summary: 'Get all historical locations'
  #      description: 'Returns all the historical locations provided by this api'
  #      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}):
  #    get:
  #      tags:
  #        - HistoricalLocations
  #      summary: 'Get information about an historical location'
  #      description: 'Returns details of the historical location identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $ref: "#/components/parameters/select"
  #        - $ref: "#/components/parameters/expand"
  #      responses:
  #        "200":
  #          $ref: "#/components/responses/HistoricalLocation-get-200"
  #  /v1.1/HistoricalLocations({entityId})/Locations:
  #    get:
  #      tags:
  #        - HistoricalLocations
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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:
  #    get:
  #      tags:
  #        - HistoricalLocations
  #      summary: 'Get the thing for a historical location'
  #      description: 'Returns the thing for the historical location identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $ref: "#/components/parameters/select"
  #        - $ref: "#/components/parameters/expand"
  #      responses:
  #        "200":
  #          $ref: "#/components/responses/Thing-get-200"
  #  /v1.1/HistoricalLocations({entityId})/Thing/Datastreams:
  #    get:
  #      tags:
  #        - HistoricalLocations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/HistoricalLocations({entityId})/Thing/HistoricalLocations:
  #    get:
  #      tags:
  #        - HistoricalLocations
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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})/Thing/Locations:
  #    get:
  #      tags:
  #        - HistoricalLocations
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/MultiDatastreams:
  #    get:
  #      tags:
  #        - HistoricalLocations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/HistoricalLocations({entityId})/Thing/TaskingCapabilities:
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
  /v1.1/Locations:
    get:
      tags:
        - Locations
      summary: 'Get all locations'
      description: 'Returns all the locations provided by this api (subject to any parameters set)'
      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}):
    get:
      tags:
        - Locations
      summary: 'Get information about an individual location'
      description: 'Returns information about the location identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Location-get-200"
  #  /v1.1/Locations({entityId})/HistoricalLocations:
  #    get:
  #      tags:
  #        - Locations
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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:
    get:
      tags:
        - Locations
      summary: 'Get information about the thing at the location'
      description: 'Returns information about the thing at the location identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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:
  #      tags:
  #        - MultiDatastreams
  #      summary: 'Get all mult-datastreams'
  #      description: 'Returns all the multi-datastreams provided by this api'
  #      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}):
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      summary: 'Get information about a multi datastream'
  #      description: 'Returns details of the multi datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $ref: "#/components/parameters/select"
  #        - $ref: "#/components/parameters/expand"
  #      responses:
  #        "200":
  #          $ref: "#/components/responses/MultiDatastream-get-200"
  #  /v1.1/MultiDatastreams({entityId})/Observations:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      summary: 'Get all observations for a multi-datastream'
  #      description: 'Returns all observations for the multi-datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/MultiDatastreams({entityId})/ObservedProperties:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      summary: 'Get the sensor type for a datastream'
  #      description: 'Returns the sensor type for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $ref: "#/components/parameters/select"
  #        - $ref: "#/components/parameters/expand"
  #      responses:
  #        "200":
  #          $ref: "#/components/responses/Sensor-get-200"
  #  /v1.1/MultiDatastreams({entityId})/Sensor/Datastreams:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/MultiDatastreams({entityId})/Sensor/MultiDatastreams:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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})/Thing:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      summary: 'Get the thing for a multi-datastream'
  #      description: 'Returns the thing for the multi-datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $ref: "#/components/parameters/select"
  #        - $ref: "#/components/parameters/expand"
  #      responses:
  #        "200":
  #          $ref: "#/components/responses/Thing-get-200"
  #  /v1.1/MultiDatastreams({entityId})/Thing/Datastreams:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/MultiDatastreams({entityId})/Thing/HistoricalLocations:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/MultiDatastreams({entityId})/Thing/Locations:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/MultiDatastreams({entityId})/Thing/MultiDatastreams:
  #    get:
  #      tags:
  #        - MultiDatastreams
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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})/Thing/TaskingCapabilities:
  ##    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
  /v1.1/Observations:
    get:
      tags:
        - Observations
      summary: 'Get all observations'
      description: 'Returns all the observations provided by this api (subject to any parameters set)'
      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}):
    get:
      tags:
        - Observations
      summary: 'Get information about an individual observation'
      description: 'Returns information about the observation identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Observation-get-200"
  /v1.1/Observations({entityId})/Datastream:
    get:
      tags:
        - Observations
      summary: 'Get information about an observation''s datastream'
      description: 'Returns information about the datastream for the observation identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Datastream-get-200"
  /v1.1/Observations({entityId})/Datastream/Observations:
    get:
      tags:
        - Observations
      summary: 'Get all observations for an observations''s datastream'
      description: 'Returns all observations for the datastream of the observation identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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})/Datastream/ObservedProperty:
    get:
      tags:
        - Observations
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/ObservedProperty-get-200"
  /v1.1/Observations({entityId})/Datastream/ObservedProperty/Datastreams:
    get:
      tags:
        - Observations
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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/Observations({entityId})/Datastream/ObservedProperty/MultiDatastreams:
  #    get:
  #      tags:
  #        - Observations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/Datastream/Sensor:
    get:
      tags:
        - Observations
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Sensor-get-200"
  /v1.1/Observations({entityId})/Datastream/Sensor/Datastreams:
    get:
      tags:
        - Observations
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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/Observations({entityId})/Datastream/Sensor/MultiDatastreams:
  #    get:
  #      tags:
  #        - Observations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/Datastream/Thing:
    get:
      tags:
        - Observations

      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Thing-get-200"
  /v1.1/Observations({entityId})/Datastream/Thing/Datastreams:
    get:
      tags:
        - Observations
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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/Observations({entityId})/Datastream/Thing/HistoricalLocations:
  #    get:
  #      tags:
  #        - Observations
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/Datastream/Thing/Locations:
    get:
      tags:
        - Observations

      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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/Observations({entityId})/Datastream/Thing/MultiDatastreams:
  #    get:
  #      tags:
  #        - Observations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/Datastream/Thing/TaskingCapabilities:
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
  /v1.1/Observations({entityId})/FeatureOfInterest:
    get:
      tags:
        - Observations
      summary: 'Get information about an observation''s feature of interest'
      description: 'Returns information about the feature of interest for the observation identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/FeatureOfInterest-get-200"
  /v1.1/Observations({entityId})/FeatureOfInterest/Observations:
    get:
      tags:
        - Observations
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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})/MultiDatastream:
  #    get:
  #      tags:
  #        - Observations
  #      summary: 'Get information about a multi datastream'
  #      description: 'Returns details of the multi datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $ref: "#/components/parameters/select"
  #        - $ref: "#/components/parameters/expand"
  #      responses:
  #        "200":
  #          $ref: "#/components/responses/MultiDatastream-get-200"
  #  /v1.1/Observations({entityId})/MultiDatastream/Observations:
  #    get:
  #      tags:
  #        - Observations
  #      summary: '???Get all observations for a datastream'
  #      description: 'Returns all observations for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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})/MultiDatastream/ObservedProperties:
  #    get:
  #      tags:
  #        - Observations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/MultiDatastream/Sensor:
  #    get:
  #      tags:
  #        - Observations
  #      summary: 'Get the sensor type for a datastream'
  #      description: 'Returns the sensor type for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $ref: "#/components/parameters/select"
  #        - $ref: "#/components/parameters/expand"
  #      responses:
  #        "200":
  #          $ref: "#/components/responses/Sensor-get-200"
  #  /v1.1/Observations({entityId})/MultiDatastream/Sensor/Datastreams:
  #    get:
  #      tags:
  #        - Observations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/MultiDatastream/Sensor/MultiDatastreams:
  #    get:
  #      tags:
  #        - Observations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/MultiDatastream/Thing:
  #    get:
  #      tags:
  #        - Observations
  #      summary: 'Get the thing for a datastream'
  #      description: 'Returns the thing for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $ref: "#/components/parameters/select"
  #        - $ref: "#/components/parameters/expand"
  #      responses:
  #        "200":
  #          $ref: "#/components/responses/Thing-get-200"
  #  /v1.1/Observations({entityId})/MultiDatastream/Thing/Datastreams:
  #    get:
  #      tags:
  #        - Observations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/MultiDatastream/Thing/HistoricalLocations:
  #    get:
  #      tags:
  #        - Observations
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/MultiDatastream/Thing/Locations:
  #    get:
  #      tags:
  #        - Observations
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/MultiDatastream/Thing/MultiDatastreams:
  #    get:
  #      tags:
  #        - Observations
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Observations({entityId})/MultiDatastream/Thing/TaskingCapabilities:
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
  /v1.1/ObservedProperties:
    get:
      tags:
        - ObservedProperties
      summary: 'Get all observed properties'
      description: 'Returns all the observed properties provided by this api (subject to any parameters set)'
      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}):
    get:
      tags:
        - ObservedProperties
      summary: 'Get information about an individual observed property'
      description: 'Returns information about the observed property identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/ObservedProperty-get-200"
  /v1.1/ObservedProperties({entityId})/Datastreams:
    get:
      tags:
        - ObservedProperties
      summary: 'Get all datastreams for an observed property'
      description: 'Returns all datastreams for the observed property identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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:
  #    get:
  #      tags:
  #        - ObservedProperties
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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:
      tags:
        - Sensors
      summary: 'Get all sensor types'
      description: 'Returns all the sensor types provided by this api (subject to any parameters set)'
      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}):
    get:
      tags:
        - Sensors
      summary: 'Get information about an individual sensor type'
      description: 'Returns information about the sensor type identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Sensor-get-200"
  /v1.1/Sensors({entityId})/Datastreams:
    get:
      tags:
        - Sensors
      summary: 'Get all datastreams for a sensor type'
      description: 'Returns all datastreams for the sensor type identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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/Sensors({entityId})/MultiDatastreams:
  #    get:
  #      tags:
  #        - Sensors
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/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({entityId})~1TaskingCapability"
  #  "/v1.1/TaskingCapabilities({entityId})/Actuator":
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})"
  #  "/v1.1/TaskingCapabilities({entityId})/Actuator/TaskingCapabilities":
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
  #  "/v1.1/TaskingCapabilities({entityId})/Tasks":
  #    $ref: "#/paths/~1v1.1~1Tasks({entityId})~1TaskingCapability~1Tasks"
  #  "/v1.1/TaskingCapabilities({entityId})/Thing":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1Thing"
  #  "/v1.1/TaskingCapabilities({entityId})/Thing/Datastreams":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1ObservedProperty~1Datastreams"
  #  "/v1.1/TaskingCapabilities({entityId})/Thing/HistoricalLocations":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1Thing~1HistoricalLocations"
  #  "/v1.1/TaskingCapabilities({entityId})/Thing/Locations":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1Thing~1Locations"
  #  "/v1.1/TaskingCapabilities({entityId})/Thing/MultiDatastreams":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1ObservedProperty~1MultiDatastreams"
  #  "/v1.1/TaskingCapabilities({entityId})/Thing/TaskingCapabilities":
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
  #  /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/Tasks({entityId})/TaskingCapability/Actuator":
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})"
  #  "/v1.1/Tasks({entityId})/TaskingCapability/Actuator/TaskingCapabilities":
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
  #  "/v1.1/Tasks({entityId})/TaskingCapability/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/Tasks({entityId})/TaskingCapability/Thing":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1Thing"
  #  "/v1.1/Tasks({entityId})/TaskingCapability/Thing/Datastreams":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1ObservedProperty~1Datastreams"
  #  "/v1.1/Tasks({entityId})/TaskingCapability/Thing/HistoricalLocations":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1Thing~1HistoricalLocations"
  #  "/v1.1/Tasks({entityId})/TaskingCapability/Thing/Locations":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1Thing~1Locations"
  #  "/v1.1/Tasks({entityId})/TaskingCapability/Thing/MultiDatastreams":
  #    $ref: "#/paths/~1v1.1~1Datastreams({entityId})~1ObservedProperty~1MultiDatastreams"
  #  "/v1.1/Tasks({entityId})/TaskingCapability/Thing/TaskingCapabilities":
  #    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
  /v1.1/Things:
    get:
      tags:
        - Things
      summary: 'Get all things'
      description: 'Returns all the things provided by this api (subject to any parameters set)'
      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}):
    get:
      tags:
        - Things
      summary: 'Get information about an individual thing'
      description: 'Returns information about the thing identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $ref: "#/components/parameters/select"
        - $ref: "#/components/parameters/expand"
      responses:
        "200":
          $ref: "#/components/responses/Thing-get-200"
  /v1.1/Things({entityId})/Datastreams:
    get:
      tags:
        - Things
      summary: 'Get all datastreams for a thing'
      description: 'Returns all datastreams for the thing identified by **entityId** (subject to any other parameters set)'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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/Things({entityId})/HistoricalLocations:
  #    get:
  #      tags:
  #        - Things
  #      summary: 'Get the observed property for a datastream'
  #      description: 'Returns the observed property for the datastream identified by the entityId parameter'
  #      parameters:
  #        - $ref: "#/components/parameters/entityId"
  #        - $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/Things({entityId})/Locations:
    get:
      tags:
        - Things
      summary: 'Get information about a things''s location'
      description: 'Returns information about the location for the thing identified by **entityId**'
      parameters:
        - $ref: "#/components/parameters/entityId"
        - $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/Things({entityId})/MultiDatastreams:
#    get:
#      tags:
#        - Things
#      parameters:
#        - $ref: "#/components/parameters/entityId"
#        - $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/Things({entityId})/TaskingCapabilities:
#    $ref: "#/paths/~1v1.1~1Actuators({entityId})~1TaskingCapabilities"
components:
  schemas:
    #    Actuator:
    #      type: object
    #      properties:
    #        "@iot.id":
    #          $ref: "#/components/schemas/entityId"
    #        "@iot.selfLink":
    #          $ref: "#/components/schemas/selfLink"
    #        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
          description: The Id of the datastream
        "@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"
        #        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
          description: A description of the datastream
        name:
          type: string
          description: The label or name of the datastream
        observationType:
          type: string
          description: The observation type for the datastream, as defined by the OGC Observations and Measurements standard
        observedArea:
          type: string
          description: The bounding box of the spatial extent of all features of interest associated with observations belonging to the Datastream
        phenomenonTime:
          type: string
          description: The range of phenomenon times from all observations belonging to the datastream
        properties:
          type: object
          properties:
            sen_id:
              type: string
              description: The Id of the record in the BGS Sensor Database that is the source of information for the datastream (SEN_MEASURE.measure_id)
            data_type:
              type: string
              description: The type of data provided by the datastream (Measured or Calculated), derived from the observed property
            access_restriction:
              type: string
              description: A description of any access restrictions that apply to metadata and observations associated with this datastream
            data_usage:
              type: string
              description: A description of any restrictions that apply to the use of metadata and observations from this datastream
            publish_yn":
              type: string
              description: A flag to indicate whether details of this datastream can be publicly released (set to Y or N)
        resultTime:
          type: string
          description: The range of result times from all observations belonging to the datastream
        unitOfMeasurement:
          type: object
          properties:
            name:
              type: string
              description: The full name of the unit of measurement
            symbol:
              type: string
              description: The symbol of the unit of measurement
            defintion:
              type: string
              description: A URI for the unit of measurement providing a representation of its definition, ideally following the Unified Code for Unit of Measure (UCUM)
    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
          description: The Id of the feature of interest
        "@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"
        description:
          type: string
          description: A description of the feature of interest
        encodingType:
          type: string
          description: The encoding type of the 'feature' property
        feature:
          type: string
          description: The detailed description of the feature of interest, recorded in line with the type defined by the 'encodingType' property
        name:
          type: string
          description: The label or name of the feature of interest
        properties:
          type: object
          properties:
            sen_id:
              type: string
              description: The Id of the record in the BGS Sensor Database that is the source of information for the feature of interest (SEN_FEATURE_OF_INTEREST.foi_id or SEN_SENSOR_LOCATION.sensor_loc_id)
            type:
              type: string
              description: Indicates the feature of interest type, set to 'SEN_LOC' (Sensor Location) or 'BOREHOLE'
            z:
              type: number
              description: The elevation (Z) of the sensor location (type 'SEN_LOC' only)
            z_crs:
              type: string
              description: The vertical co-ordinate reference system of the Z value (type 'SEN_LOC' only)
            from_date:
              type: string
              description: The time from which the sensor location is effective (type 'SEN_LOC' only)
            to_date:
              type: string
              description: The time from which the sensor location is no longer effective, where it is not set the location is still active (type 'SEN_LOC' only)
            active_yn":
              type: string
              description: A flag to indicate whether the sensor location is the active location for a thing (set to Y or N) (type 'SEN_LOC' only)
            sobi_bgs_id:
              type: number
              description: The Id of the record in the BGS SOBI Database that is the source of information for the borehole (type 'BOREHOLE' only)
            borehole_id:
              type: number
              description: The Id of the record in the BGS Universal Borehole Index that is the source of information for the borehole (type 'BOREHOLE' only)
            drilled_length:
              type: number
              description: The drilled length of the borehole in metres (type 'BOREHOLE' only)
            reference:
              type: string
              description: An alternative name by which the borehole is known (type 'BOREHOLE' only)
            reference_type:
              type: string
              description: Indicates the source of the 'reference' property (type 'BOREHOLE' only)
            publish_yn:
              type: string
              description: A flag to indicate whether details of this feature of interest can be publicly released (set to Y or N)
    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":
    #          $ref: "#/components/schemas/entityId"
    #        "@iot.selfLink":
    #          $ref: "#/components/schemas/selfLink"
    #        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
    #    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
          description: The Id of the location
        "@iot.selfLink":
          $ref: "#/components/schemas/selfLink"
        #        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
          description: A description of the location
        encodingType:
          type: string
          description: The encoding type of the 'location' property
        location:
          type: string
          description: The location, recorded in line with the type defined by the 'encodingType' property
        name:
          type: string
          description: The label or name of the location
        properties:
          type: object
          properties:
            sen_id:
              type: string
              description: The Id of the record in the BGS Sensor Database that is the source of information for the location (SEN_SENSOR_LOCATION.sensor_loc_id)
            site:
              type: string
              description: The name of the site to which the location belongs
            observatory:
              type: string
              description: The name of the observatory to which the location belongs
            z:
              type: number
              description: The elevation (Z) of the location
            z_crs:
              type: string
              description: The vertical co-ordinate reference system of the Z value
            from_date:
              type: string
              description: The time from which the location is effective
            to_date:
              type: string
              description: The time from which the location is no longer effective, where it is not set the location is still active
            comments:
              type: string
              description: Any additional information about the location where available
            active_yn":
              type: string
              description: A flag to indicate whether the location is the active location for a thing (set to Y or N)
            publish_yn":
              type: string
              description: A flag to indicate whether details of this location can be publicly released (set to Y or N)
    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":
    #          $ref: "#/components/schemas/entityId"
    #        "@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: string
    #        phenomenonTime:
    #          type: string
    #        properties:
    #          $ref: "#/components/schemas/properties"
    #        resultTime:
    #          type: string
    #        unitOfMeasurements:
    #          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
          description: The Id of the observation
        "@iot.selfLink":
          $ref: "#/components/schemas/selfLink"
        #      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
          properties:
            sen_id:
              type: string
              description: The Id of the record in the BGS Sensor Database that is the source of information for the observation (SEN_SENSOR_DATA.sensor_data_id)
            publish_yn":
              type: string
              description: A flag to indicate whether details of this observation can be publicly released (set to Y or N)
        phenomenonTime:
          type: string
          description: The time when the observation happened
        result:
          type: string
          description: The estimated value of the observed property
        resultQuality:
          type: string
          description: A description of the quality of the result
        resultTime:
          type: string
          description: The time the result was generated
        validTime:
          type: string
          description: The time period during which the result can be used
    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
          description: The Id of the observed property
        "@iot.selfLink":
          $ref: "#/components/schemas/selfLink"
        #        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: A URI for the observed property providing a representation of its definition, ideally through reference to a community based vocabulary
        description:
          type: string
          description: A description of the observed property
        name:
          type: string
          description: The label or name of the observed property
        properties:
          type: object
          properties:
            sen_id:
              type: string
              description: The Id of the record in the BGS Sensor Database that is the source of information for the observed property (DIC_SEN_PROPERTY_TYPE.code)
            data_type:
              type: string
              description: The type of data provided by the observed property (Measured or Calculated)
            formula:
              type: string
              description: A description of the formula used to derive values for the observed property (data type 'Calculated' only)
            publish_yn":
              type: string
              description: A flag to indicate whether details of this observed property can be publicly released (set to Y or N)
    Sensor:
      type: object
      properties:
        "@iot.id":
          type: integer
          description: The Id of the sensor type
        "@iot.selfLink":
          $ref: "#/components/schemas/selfLink"
        #        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
          description: A description of the sensor type
        encodingType:
          type: string
          description: The encoding type of the 'metadata' property
        metadata:
          type: string
          description: A detailed description of the sensor type (style based on 'encodingType' property)
        name:
          type: string
          description: The label or name of the sensor type
        properties:
          type: object
          properties:
            sen_id:
              type: string
              description: The Id of the record in the BGS Sensor Database that is the source of information for the sensor type (DIC_SEN_SENSOR_TYPE.code)
            complex_data_yn":
              type: string
              description: A flag to indicate whether data from the sensor type is complex, and its data observations are therefore defined for MultiDatastreams rather than Datastreams (set to Y or N)
            publish_yn":
              type: string
              description: A flag to indicate whether details of this sensor type can be publicly released (set to Y or N)
    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":
    #          $ref: "#/components/schemas/entityId"
    #        "@iot.selfLink":
    #          $ref: "#/components/schemas/selfLink"
    #        TaskingCapability:
    #          $ref: "#/components/schemas/TaskingCapability"
    #        TaskingCapability@iot.navigationLink:
    #          $ref: "#/components/schemas/navigationLink"
    #        creationTime:
    #          type: string
    #        taskingParameters:
    #          type: string
    #    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":
    #          $ref: "#/components/schemas/entityId"
    #        "@iot.selfLink":
    #          $ref: "#/components/schemas/selfLink"
    #        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: string
    #    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
          description: The Id of the thing
        "@iot.selfLink":
          $ref: "#/components/schemas/selfLink"
        #        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
          description: A description of the thing
        name:
          type: string
          description: The label or name of the thing
        properties:
          type: object
          properties:
            sen_id:
              type: string
              description: The Id of the record in the BGS Sensor Database that is the source of information for the thing (DIC_SEN_SENSOR.code)
            type:
              type: string
              description: Indicates the type of thing, set to 'SENSOR'
            serial_no:
              type: string
              description: The serial number of the physical sensor currently installed if known
            data_capture:
              type: string
              description: Indicates how data from the thing is captured (Telemetered, Manual)
            observation_start_date:
              type: string
              description: The earliest observation date for which data from the thing will be available in the API
            datum_z:
              type: number
              description: The elevation (Z) of the thing's datum
            datum_z_crs:
              type: string
              description: The vertical co-ordinate reference system of the 'datum_z' value
            datum_name:
              type: string
              description: The label or name for the thing's datum
            borehole_reference:
              type: string
              description: The Id of the record in the BGS Sensor Database that is the source of information for the thing (DIC_SEN_SENSOR.code)
            access_restriction:
              type: string
              description: A description of any access restrictions that apply to metadata and observations associated with this thing
            data_usage:
              type: string
              description: A description of any restrictions that apply to the use of metadata and observations from this thing
            publish_yn":
              type: string
              description: A flag to indicate whether details of this thing can be publicly released (set to Y or N)
    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
      description: The total number of entities in the entityset
    navigationLink:
      type: string
      description: A link to a related entity or entity set
    nextLink:
      type: string
      description: The link to the next page of entities
    selfLink:
      type: string
      description: The direct link to the entity
  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
    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
    top:
      name: $top
      in: query
      description: The number of elements to return
      required: false
      schema:
        type: integer
  responses:
    #    Actuator-get-200:
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/Actuator"
    #    Actuators-get-200:
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/Actuators"
    Datastream-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Datastream"
          example:
            "@iot.id": 52
            description: Water Temperature from BGS Groundwater Logger GGA04 - Measured (C)
            name: GGA04_01 Water Temperature
            observationType: http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement
            observedArea:
              type: Point
              coordinates:
                0: -4.199763807
                1: 55.837714666
            phenomenonTime: 2020-01-13T14:30:00.000Z/2021-05-17T11:15:00.000Z
            properties:
              sen_id: 779
              data_type: Measured
              access_restriction: Unrestricted
              data_usage: Available under the Open Government Licence subject to the following acknowledgement accompanying the reproduced NERC materials \"Contains NERC materials Â©NERC [year]\"
              publish_yn: Y
            resultTime: 2020-01-13T14:30:00.000Z/2021-05-17T11:15:00.000Z"
            unitOfMeasurement:
              name: Temperature in Degrees Celsius
              symbol: C
              defintion:
    Datastreams-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Datastreams"
    FeatureOfInterest-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/FeatureOfInterest"
          examples:
            borehole:
              value:
                "@iot.id": 8
                description: UKGEOS GGA04
                encodingType: application/geo+json
                feature:
                  type: Point
                  coordinates:
                    0: -4.19976380683196
                    1: 55.837714666124
                name: UKGEOS GGA04
                properties:
                  sen_id: 4
                  type: BOREHOLE
                  sobi_bgs_id: 20693599
                  borehole_id: 1487519
                  drilled_length: 53.63
                  reference: GGA04
                  reference_type: UKGEOS
                  publish_yn: Y
            sensor location:
              value:
                "@iot.id": 23
                description: BGS Groundwater Logger GGA04
                encodingType: application/geo+json
                feature:
                  type: Point
                  coordinates:
                    0: -4.19976380683196
                    1: 55.837714666124
                name: SENSOR_GGA04_01
                properties:
                  sen_id: 170155161
                  z: -4.86
                  z_crs: maOD
                  from_date: 2021-02-24T10:30:00
                  to_date: None
                  active_yn: Y
                  publish_yn: Y
    FeaturesOfInterest-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/FeaturesOfInterest"
    #    HistoricalLocation-get-200:
    #      description: Information about the HistoricalLocation with id `entityId`
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/HistoricalLocation"
    #    HistoricalLocations-get-200:
    #      description: The HistoricalLocations shared by this API
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/HistoricalLocations"
    Location-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Location"
          example:
            "@iot.id": 28
            description: BGS Groundwater Logger GGA04
            encodingType: application/geo+json
            location:
              type: Point
              coordinates:
                0: -4.19976380683196
                1: 55.837714666124
            name: SENSOR_GGA04_01
            properties:
              sen_id: 170155161
              site: Site 2
              observatory: UKGEOS Glasgow Observatory
              z: -4.82
              z_crs: maOD
              from_date: 2021-02-24T10:15:00
              to_date: None
              comments: Height adjustment February 2021
              active_yn: Y
              publish_yn: Y
    Locations-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Locations"
    #    MultiDatastream-get-200:
    #      description: Information about the MultiDatastream with id `entityId`
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/MultiDatastream"
    #    MultiDatastreams-get-200:
    #      description: The MultiDatastreams shared by this API
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/MultiDatastreams"
    Observation-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Observation"
          example:
            "@iot.id": 168175600
            parameters:
              sen_id: 168175600
              publish_yn": Y
            phenomenonTime: 2021-02-24T14:30:00.000Z
            result: 11.61
            resultQuality:
            resultTime: 2021-02-24T14:30:00.000Z
            validTime:
    Observations-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Observations"
    ObservedProperties-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ObservedProperties"
    ObservedProperty-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ObservedProperty"
          example:
            "@iot.id": 8
            description: Water Pressure
            name: Water Pressure
            properties:
              sen_id: 187
              data_type: Calculated
              formula: Water Pressure (mbar H2O) = Pressure (mbar) - Barometric Pressure (mbar)
              publish_yn": Y
    Sensor-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Sensor"
          example:
            "@iot.id": 1
            description: CT2X Groundwater logger measuring temperature, conductivity and pressure
            encodingType: text/html
            metadata: https://store.eonpro.com/store/p/2308-Aquistar-Conductivity-Loggers-CT2X-Cableless.aspx
            name: CT2X Groundwater Logger
            properties:
              sen_id: 1
              complex_data_yn: N
              publish_yn: Y
    Sensors-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Sensors"
    #    Task-get-200:
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/Task"
    #    TaskingCapabilities-get-200:
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/TaskingCapabilities"
    #    TaskingCapability-get-200:
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/TaskingCapability"
    #    Tasks-get-200:
    #      content:
    #        application/json:
    #          schema:
    #            $ref: "#/components/schemas/Tasks"
    Thing-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Thing"
          example:
            "@iot.id": 10
            "@iot.selfLink": http://sensors-internal.bgs.ac.uk/FROST-Server/v1.1/Things(10)
            description: Groundwater logger measuring temperature, conductivity and pressure
            name: BGS Groundwater Logger GGA04
            properties:
              sen_id: GGA04_01
              type: SENSOR
              serial_no: 0021915016
              observation_start_time: 2020-03-16T14:00:00
              data_capture: Manual
              datum_z: 12.11
              datum_z_crs: maOD
              datum_name: Top of Borehole Casing
              borehole_reference: GGA04
              access_restriction: Unrestricted
              data_usage: Available under the Open Government Licence subject to the following acknowledgement accompanying the reproduced NERC materials \"Contains NERC materials Â©NERC [year]\"
              publish_yn: Y
    Things-get-200:
      description: 'Successful Response'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Things"
