DLR

DLR Capabilities API

essential characteristics of this API

OpenAPI Specification

dlr-capabilities-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: EOC EO Products Service Capabilities API
  description: Provides interoperable access to metadata from EO collections and products of DLR's Earth Observation Center (EOC).
  contact:
    name: Geoservice Manager - Earth Observation Center (EOC), DLR
    email: geoservice@dlr.de
  version: 1.0.0
servers:
- url: https://geoservice.dlr.de/eoc/ogc/stac/v1
  description: This server
tags:
- name: Capabilities
  description: essential characteristics of this API
paths:
  /:
    get:
      tags:
      - Capabilities
      summary: landing page
      description: 'The landing page provides links to the API definition, the conformance

        statements and to the feature collections in this dataset.'
      operationId: getLandingPage
      parameters:
      - $ref: '#/components/parameters/otherParameters'
      responses:
        '200':
          content:
            application/vnd.oai.openapi+json;version=3.0:
              schema:
                type: string
                format: binary
            application/yaml:
              schema:
                type: string
                format: binary
            text/html:
              schema:
                type: string
          $ref: '#/components/responses/LandingPage'
        '500':
          $ref: '#/components/responses/ServerError'
  /conformance:
    get:
      tags:
      - Capabilities
      summary: information about specifications that this API conforms to
      description: 'A list of all conformance classes specified in a standard that the

        server conforms to.'
      operationId: getConformanceDeclaration
      parameters:
      - $ref: '#/components/parameters/otherParameters'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
                format: binary
            application/yaml:
              schema:
                type: string
                format: binary
            text/html:
              schema:
                type: string
          $ref: '#/components/responses/ConformanceDeclaration'
        '500':
          $ref: '#/components/responses/ServerError'
  /filter-capabilities:
    get:
      tags:
      - Capabilities
      summary: information about filters supported in the CQL filter extension
      description: A list of supported filters and functions.
      operationId: getFilterCapabilities
      parameters:
      - $ref: '#/components/parameters/otherParameters'
      responses:
        '200':
          $ref: '#/components/responses/FilterCapabilities'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections/queryables:
    get:
      tags:
      - Capabilities
      summary: lists the queryable attributes for the search request
      operationId: getSearchQueryables
      parameters:
      - $ref: '#/components/parameters/otherParameters'
      responses:
        '200':
          $ref: '#/components/responses/Queryables'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections/sortables:
    get:
      tags:
      - Capabilities
      summary: lists the sortable attributes for the search request
      operationId: getSearchSortables
      parameters:
      - $ref: '#/components/parameters/otherParameters'
      responses:
        '200':
          $ref: '#/components/responses/Sortables'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections:
    get:
      tags:
      - Capabilities
      summary: the feature collections in the dataset
      operationId: getCollections
      parameters:
      - $ref: '#/components/parameters/otherParameters'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
                format: binary
            text/html:
              schema:
                type: string
          $ref: '#/components/responses/Collections'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections/{collectionId}:
    get:
      tags:
      - Capabilities
      summary: describe the feature collection with id `collectionId`
      operationId: describeCollection
      parameters:
      - $ref: '#/components/parameters/collectionId'
      - $ref: '#/components/parameters/otherParameters'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
                format: binary
            text/html:
              schema:
                type: string
          $ref: '#/components/responses/Collection'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections/{collectionId}/queryables:
    get:
      tags:
      - Capabilities
      summary: lists the queryable attributes for the feature collection with id `collectionId`
      operationId: getQueryables
      parameters:
      - $ref: '#/components/parameters/collectionId'
      - $ref: '#/components/parameters/otherParameters'
      responses:
        '200':
          $ref: '#/components/responses/Queryables'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections/{collectionId}/sortables:
    get:
      tags:
      - Capabilities
      summary: lists the sortable attributes for the feature collection with id `collectionId`
      operationId: getSortables
      parameters:
      - $ref: '#/components/parameters/collectionId'
      - $ref: '#/components/parameters/otherParameters'
      responses:
        '200':
          $ref: '#/components/responses/Sortables'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    landingPage:
      required:
      - links
      type: object
      properties:
        title:
          type: string
          example: Buildings in Bonn
        description:
          type: string
          example: Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Features specification.
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
    sortable:
      required:
      - name
      - type
      type: object
      properties:
        id:
          type: string
          description: identifier of the attribute that can be used in sortby
          example: address
        type:
          type: string
          description: the property type
          enum:
          - string
          - uri
          - number
          - integer
          - date
          - dateTime
          - boolean
          - geometry
    exception:
      required:
      - code
      type: object
      properties:
        code:
          type: string
        description:
          type: string
      description: 'Information about the exception: an error code plus an optional description.'
    confClasses:
      required:
      - conformsTo
      type: object
      properties:
        conformsTo:
          type: array
          items:
            type: string
    queryable:
      required:
      - name
      - type
      type: object
      properties:
        id:
          type: string
          description: identifier of the attribute that can be used in CQL filters
          example: address
        type:
          type: string
          description: the property type
          enum:
          - string
          - uri
          - number
          - integer
          - date
          - dateTime
          - boolean
          - geometry
    collection:
      required:
      - id
      - links
      type: object
      properties:
        id:
          type: string
          description: identifier of the collection used, for example, in URIs
          example: address
        title:
          type: string
          description: human readable title of the collection
          example: address
        description:
          type: string
          description: a description of the features in the collection
          example: An address.
        links:
          type: array
          example:
          - href: http://data.example.com/buildings
            rel: item
          - href: http://example.com/concepts/buildings.html
            rel: describedBy
            type: text/html
          items:
            $ref: '#/components/schemas/link'
        extent:
          $ref: '#/components/schemas/extent'
        itemType:
          type: string
          description: indicator about the type of the items in the collection (the default value is 'feature').
          default: feature
        crs:
          type: array
          description: the list of coordinate reference systems supported by the service
          example:
          - http://www.opengis.net/def/crs/OGC/1.3/CRS84
          - http://www.opengis.net/def/crs/EPSG/0/4326
          items:
            type: string
            format: uri;
          default:
          - http://www.opengis.net/def/crs/OGC/1.3/CRS84
    link:
      required:
      - href
      type: object
      properties:
        href:
          type: string
          example: http://data.example.com/buildings/123
        rel:
          type: string
          example: alternate
        type:
          type: string
          example: application/geo+json
        hreflang:
          type: string
          example: en
        title:
          type: string
          example: Trierer Strasse 70, 53115 Bonn
        length:
          type: integer
    extent:
      type: object
      properties:
        spatial:
          type: object
          properties:
            bbox:
              minItems: 1
              type: array
              description: 'One or more bounding boxes that describe the spatial extent of the dataset.

                In the Core only a single bounding box is supported. Extensions may support

                additional areas. If multiple areas are provided, the union of the bounding

                boxes describes the spatial extent.'
              items:
                maxItems: 6
                minItems: 4
                type: array
                description: 'Each bounding box is provided as four or six numbers, depending on

                  whether the coordinate reference system includes a vertical axis

                  (height or depth):


                  * Lower left corner, coordinate axis 1

                  * Lower left corner, coordinate axis 2

                  * Minimum value, coordinate axis 3 (optional)

                  * Upper right corner, coordinate axis 1

                  * Upper right corner, coordinate axis 2

                  * Maximum value, coordinate axis 3 (optional)


                  The coordinate reference system of the values is WGS 84 longitude/latitude

                  (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate

                  reference system is specified in `crs`.


                  For WGS 84 longitude/latitude the values are in most cases the sequence of

                  minimum longitude, minimum latitude, maximum longitude and maximum latitude.

                  However, in cases where the box spans the antimeridian the first value

                  (west-most box edge) is larger than the third value (east-most box edge).


                  If the vertical axis is included, the third and the sixth number are

                  the bottom and the top of the 3-dimensional bounding box.


                  If a feature has multiple spatial geometry properties, it is the decision of the

                  server whether only a single spatial geometry property is used to determine

                  the extent or all relevant geometries.'
                example:
                - -180
                - -90
                - 180
                - 90
                items:
                  type: number
            crs:
              type: string
              description: 'Coordinate reference system of the coordinates in the spatial extent

                (property `bbox`). The default reference system is WGS 84 longitude/latitude.

                In the Core this is the only supported coordinate reference system.

                Extensions may support additional coordinate reference systems and add

                additional enum values.'
              enum:
              - http://www.opengis.net/def/crs/OGC/1.3/CRS84
              default: http://www.opengis.net/def/crs/OGC/1.3/CRS84
          description: The spatial extent of the features in the collection.
        temporal:
          type: object
          properties:
            interval:
              minItems: 1
              type: array
              description: 'One or more time intervals that describe the temporal extent of the dataset.

                The value `null` is supported and indicates an open time intervall.

                In the Core only a single time interval is supported. Extensions may support

                multiple intervals. If multiple intervals are provided, the union of the

                intervals describes the temporal extent.'
              items:
                maxItems: 2
                minItems: 2
                type: array
                description: 'Begin and end times of the time interval. The timestamps

                  are in the coordinate reference system specified in `trs`. By default

                  this is the Gregorian calendar.'
                example:
                - '2011-11-11T12:22:11Z'
                - null
                items:
                  type: string
                  format: date-time
                  nullable: true
            trs:
              type: string
              description: 'Coordinate reference system of the coordinates in the temporal extent

                (property `interval`). The default reference system is the Gregorian calendar.

                In the Core this is the only supported temporal reference system.

                Extensions may support additional temporal reference systems and add

                additional enum values.'
              enum:
              - http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
              default: http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
          description: The temporal extent of the features in the collection.
      description: 'The extent of the features in the collection. In the Core only spatial and temporal

        extents are specified. Extensions may add additional members to represent other

        extents, for example, thermal or pressure ranges.'
    sortables:
      required:
      - queryables
      type: object
      properties:
        queryables:
          type: array
          description: list of queryable properties
          items:
            $ref: '#/components/schemas/sortable'
    queryables:
      required:
      - queryables
      type: object
      properties:
        queryables:
          type: array
          description: list of queryable properties
          items:
            $ref: '#/components/schemas/queryable'
    collections:
      required:
      - collections
      - links
      type: object
      properties:
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        collections:
          type: array
          items:
            $ref: '#/components/schemas/collection'
        crs:
          type: array
          description: a list of CRS identifiers that are supported for more that one feature collection offered by the service
          example:
          - http://www.opengis.net/def/crs/OGC/1.3/CRS84
          - http://www.opengis.net/def/crs/EPSG/0/4326
          items:
            type: string
            format: uri
          default:
          - http://www.opengis.net/def/crs/OGC/1.3/CRS84
  responses:
    LandingPage:
      description: 'The landing page provides links to the API definition

        (link relations `service-desc` and `service-doc`),

        the Conformance declaration (path `/conformance`,

        link relation `conformance`), and the Feature

        Collections (path `/collections`, link relation

        `data`).'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/landingPage'
          example:
            title: Buildings in Bonn
            description: Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Features specification.
            links:
            - href: http://data.example.org/
              rel: self
              type: application/json
              title: this document
            - href: http://data.example.org/api
              rel: service-desc
              type: application/vnd.oai.openapi+json;version=3.0
              title: the API definition
            - href: http://data.example.org/api.html
              rel: service-doc
              type: text/html
              title: the API documentation
            - href: http://data.example.org/conformance
              rel: conformance
              type: application/json
              title: OGC API conformance classes implemented by this server
            - href: http://data.example.org/collections
              rel: data
              type: application/json
              title: Information about the feature collections
        text/html:
          schema:
            type: string
    Queryables:
      description: Information about the feature collection queryable properties
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/queryables'
    Collection:
      description: 'Information about the feature collection with id `collectionId`.


        The response contains a link to the items in the collection

        (path `/collections/{collectionId}/items`, link relation `items`)

        as well as key information about the collection. This information

        includes:


        * A local identifier for the collection that is unique for the dataset;

        * A list of coordinate reference systems (CRS) in which geometries may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);

        * An optional title and description for the collection;

        * An optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;

        * An optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is ''feature'').'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/collection'
          example:
            id: buildings
            title: Buildings
            description: Buildings in the city of Bonn.
            extent:
              spatial:
                bbox:
                - - 7.01
                  - 50.63
                  - 7.22
                  - 50.78
              temporal:
                interval:
                - - '2010-02-15T12:34:56Z'
                  - null
            links:
            - href: http://data.example.org/collections/buildings/items
              rel: items
              type: application/geo+json
              title: Buildings
            - href: http://data.example.org/collections/buildings/items.html
              rel: items
              type: text/html
              title: Buildings
            - href: https://creativecommons.org/publicdomain/zero/1.0/
              rel: license
              type: text/html
              title: CC0-1.0
            - href: https://creativecommons.org/publicdomain/zero/1.0/rdf
              rel: license
              type: application/rdf+xml
              title: CC0-1.0
        text/html:
          schema:
            type: string
    Sortables:
      description: Information about the feature collection sortable properties
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/sortables'
    NotFound:
      description: The requested URI was not found.
    ConformanceDeclaration:
      description: 'The URIs of all conformance classes supported by the server.


        To support "generic" clients that want to access multiple

        OGC API Features implementations - and not "just" a specific

        API / server, the server declares the conformance

        classes it implements and conforms to.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/confClasses'
          example:
            conformsTo:
            - http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core
            - http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30
            - http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/html
            - http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson
        text/html:
          schema:
            type: string
    Collections:
      description: 'The feature collections shared by this API.


        The dataset is organized as one or more feature collections. This resource

        provides information about and access to the collections.


        The response contains the list of collections. For each collection, a link

        to the items in the collection (path `/collections/{collectionId}/items`,

        link relation `items`) as well as key information about the collection.

        This information includes:


        * A local identifier for the collection that is unique for the dataset;

        * A list of coordinate reference systems (CRS) in which geometries may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);

        * An optional title and description for the collection;

        * An optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;

        * An optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is ''feature'').'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/collections'
          example:
            links:
            - href: http://data.example.org/collections.json
              rel: self
              type: application/json
              title: this document
            - href: http://data.example.org/collections.html
              rel: alternate
              type: text/html
              title: this document as HTML
            - href: http://schemas.example.org/1.0/buildings.xsd
              rel: describedBy
              type: application/xml
              title: GML application schema for Acme Corporation building data
            - href: http://download.example.org/buildings.gpkg
              rel: enclosure
              type: application/geopackage+sqlite3
              title: Bulk download (GeoPackage)
              length: 472546
            collections:
            - id: buildings
              title: Buildings
              description: Buildings in the city of Bonn.
              extent:
                spatial:
                  bbox:
                  - - 7.01
                    - 50.63
                    - 7.22
                    - 50.78
                temporal:
                  interval:
                  - - '2010-02-15T12:34:56Z'
                    - null
              links:
              - href: http://data.example.org/collections/buildings/items
                rel: items
                type: application/geo+json
                title: Buildings
              - href: http://data.example.org/collections/buildings/items.html
                rel: items
                type: text/html
                title: Buildings
              - href: https://creativecommons.org/publicdomain/zero/1.0/
                rel: license
                type: text/html
                title: CC0-1.0
              - href: https://creativecommons.org/publicdomain/zero/1.0/rdf
                rel: license
                type: application/rdf+xml
                title: CC0-1.0
        text/html:
          schema:
            type: string
    FilterCapabilities:
      description: A document listing the server filtering capabilities
      content:
        application/json:
          schema:
            type: object
        text/html:
          schema:
            type: string
    ServerError:
      description: A server error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/exception'
        text/html:
          schema:
            type: string
  parameters:
    collectionId:
      name: collectionId
      in: path
      description: local identifier of a collection
      required: true
      schema:
        type: string
        enum:
        - CROPTYPES_DE_P1Y
        - CROPTYPES_DE_P1Y_V02
        - D4H
        - DESIS_HSI_L2A
        - DatKI_LBMDE_2021
        - ENMAP_HSI_L0_QL
        - ENMAP_HSI_L2A
        - FCCL_DE_P1M
        - FOREST_STRUCTURE_DE_AGBD_P1Y
        - FOREST_STRUCTURE_DE_COVER_P1Y
        - FOREST_STRUCTURE_DE_RH95_P1Y
        - GL_MOW_DE_P1Y_FC
        - GL_MOW_DE_P1Y_FREQ
        - GSP_SCDE_MEAN
        - GSP_SCDE_P1Y
        - GSP_SCDL_MEAN
        - GSP_SCDL_P1Y
        - GSP_SCD_MEAN
        - GSP_SCD_P1Y
        - GSP_SCE_P1D
        - GWP_P1D
        - GWP_P1M
        - GWP_P1Y
        - METOP_GOME2_L3_P1D_BRO
        - METOP_GOME2_L3_P1D_CF
        - METOP_GOME2_L3_P1D_H2O
        - METOP_GOME2_L3_P1D_HCHO
        - METOP_GOME2_L3_P1D_NO2
        - METOP_GOME2_L3_P1D_NO2TROPO
        - METOP_GOME2_L3_P1D_O3
        - METOP_GOME2_L3_P1D_SO2
        - N2N_NOISE_AI_DE_2017
        - N2N_NOISE_DE_2017
        - S2-soilsuite-africa-2018-2021-P4Y
        - S2-soilsuite-europe-2018-2022-P5Y
        - S2_L2A_MAJA
        - S2_L2A_MAJA_v2
        - S2_L3A_WASP
        - S2_L3A_WASP_V2
        - S5P_TROPOMI_L3_P1D_AI_v2
        - S5P_TROPOMI_L3_P1D_ALH_v2
        - S5P_TROPOMI_L3_P1D_AOD_v2
        - S5P_TROPOMI_L3_P1D_ASSA_v2
        - S5P_TROPOMI_L3_P1D_CF
        - S5P_TROPOMI_L3_P1D_CF_v2
        - S5P_TROPOMI_L3_P1D_COT
        - S5P_TROPOMI_L3_P1D_COT_v2
        - S5P_TROPOMI_L3_P1D_CTH
        - S5P_TROPOMI_L3_P1D_CTH_v2
        - S5P_TROPOMI_L3_P1D_H2O_v2
        - S5P_TROPOMI_L3_P1D_HCHO
        - S5P_TROPOMI_L3_P1D_HCHO_v2
        - S5P_TROPOMI_L3_P1D_O3
        - S5P_TROPOMI_L3_P1D_O3_v2
        - S5P_TROPOMI_L3_P1D_SO2
        - S5P_TROPOMI_L3_P1D_SO2LH_v2
        - S5P_TROPOMI_L3_P1D_SO2_v2
        - S5P_TROPOMI_L3_P1D_UVI_v2
        - S5P_TROPOMI_L4_P1D_NO2surf
        - SAR4TEC_ASCE
        - SAR4TEC_DESC
        - SUPERSITES
        - SWIM_WE
        - TDM_DEM_90
        - TDM_FNF_50
        - TIMELINE_AVHRR_P1M_LSTD
        - TIMELINE_AVHRR_P1M_SST
        - URBAN_DEGREE_DE
        - WSF3D_MATSTOCK
        - WSF_2015
        - WSF_2019
        - WSF_Evolution
    otherParameters:
      name: otherParameters
      in: query
      description: Allows unrecognized parameters to be added in the query string without getting a 400 back (e.g., cache busters)
      style: form
      schema:
        type: object
        additionalProperties: true
externalDocs:
  description: STAC API specification
  url: https://github.com/radiantearth/stac-api-spec