European Space Agency (ESA) Collections API

The Collections API from European Space Agency (ESA) — 4 operation(s) for collections.

OpenAPI Specification

esa-collections-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Copernicus Data Space Ecosystem (CDSE) asset-level STAC catalogue Bulk Transaction Extension Collections API
  description: 'A comprehensive and searchable catalog of Earth observation and scientific datasets that is actively maintained and updated by the Copernicus Data Space Ecosystem. The integrated STAC (SpatioTemporal Asset Catalog) API, which follows the open STAC specification, enables users to access detailed asset-level metadata, including spatial information, temporal coverage, and data specifications. This standardized interface facilitates efficient data discovery and retrieval across the extensive collection of environmental and scientific resources. More information: https://documentation.dataspace.copernicus.eu/'
  version: 1.1.0
servers:
- url: /v1
tags:
- name: Collections
paths:
  /collections/{collection_id}/items/{item_id}:
    get:
      summary: Get Item
      description: Endpoint.
      operationId: Get_Item_collections__collection_id__items__item_id__get
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: string
          description: Collection ID
          title: Collection Id
        description: Collection ID
      - name: item_id
        in: path
        required: true
        schema:
          type: string
          description: Item ID
          title: Item Id
        description: Item ID
      responses:
        '200':
          description: Successful Response
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/stac_pydantic__api__item__Item'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Collections
  /collections:
    get:
      summary: Get Collections
      description: Endpoint.
      operationId: Get_Collections_collections_get
      parameters:
      - name: bbox
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Only return items intersecting this bounding box. Mutually exclusive with **intersects**.
          example: -175.05,-85.05,175.05,85.05
          title: Bbox
        description: Only return items intersecting this bounding box. Mutually exclusive with **intersects**.
      - name: datetime
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Only return items that have a temporal property that intersects this value.


            Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.'
          title: Datetime
        description: 'Only return items that have a temporal property that intersects this value.


          Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.'
        examples:
          datetime:
            value: '2018-02-12T23:20:50Z'
          closed-interval:
            value: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z
          open-interval-from:
            value: 2018-02-12T00:00:00Z/..
          open-interval-to:
            value: ../2018-03-18T12:31:12Z
      - name: limit
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
            exclusiveMinimum: 0
          - type: 'null'
          description: Limits the number of results that are included in each page of the response.
          default: 10
          title: Limit
        description: Limits the number of results that are included in each page of the response.
      - name: query
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Allows additional filtering based on the properties of Item objects
          example: '{"eo:cloud_cover": {"gte": 95}}'
          title: Query
        description: Allows additional filtering based on the properties of Item objects
      - name: sortby
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: An array of property names, prefixed by either '+' for ascending or '-' for descending. If no prefix is provided, '+' is assumed.
          example: -gsd,-datetime
          title: Sortby
        description: An array of property names, prefixed by either '+' for ascending or '-' for descending. If no prefix is provided, '+' is assumed.
      - name: fields
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Include or exclude fields from items body.
          example: properties.datetime
          title: Fields
        description: Include or exclude fields from items body.
      - name: filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'A CQL filter expression for filtering items.


            Supports `CQL-JSON` as defined in https://portal.ogc.org/files/96288


            Remember to URL encode the CQL-JSON if using GET'
          example: id='LC08_L1TP_060247_20180905_20180912_01_T1_L1TP' AND collection='landsat8_l1tp'
          title: Filter
        description: 'A CQL filter expression for filtering items.


          Supports `CQL-JSON` as defined in https://portal.ogc.org/files/96288


          Remember to URL encode the CQL-JSON if using GET'
      - name: filter-crs
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The coordinate reference system (CRS) used by spatial literals in the 'filter' value. Default is `http://www.opengis.net/def/crs/OGC/1.3/CRS84`
          title: Filter-Crs
        description: The coordinate reference system (CRS) used by spatial literals in the 'filter' value. Default is `http://www.opengis.net/def/crs/OGC/1.3/CRS84`
      - name: filter-lang
        in: query
        required: false
        schema:
          anyOf:
          - enum:
            - cql-json
            - cql2-json
            - cql2-text
            type: string
          - type: 'null'
          description: The CQL filter encoding that the 'filter' value uses.
          default: cql2-text
          title: Filter-Lang
        description: The CQL filter encoding that the 'filter' value uses.
      - name: q
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Parameter to perform free-text queries against STAC metadata
          example: ocean,coast
          title: Q
        description: Parameter to perform free-text queries against STAC metadata
      - name: offset
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collections'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Collections
  /collections/{collection_id}:
    get:
      summary: Get Collection
      description: Endpoint.
      operationId: Get_Collection_collections__collection_id__get
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: string
          description: Collection ID
          title: Collection Id
        description: Collection ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stac_pydantic__api__collection__Collection'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Collections
  /collections/{collection_id}/items:
    get:
      summary: Get Itemcollection
      description: Endpoint.
      operationId: Get_ItemCollection_collections__collection_id__items_get
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: string
          description: Collection ID
          title: Collection Id
        description: Collection ID
      - name: limit
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
            exclusiveMinimum: 0
          - type: 'null'
          description: Limits the number of results that are included in each page of the response (capped to 10_000).
          default: 10
          title: Limit
        description: Limits the number of results that are included in each page of the response (capped to 10_000).
      - name: bbox
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Only return items intersecting this bounding box. Mutually exclusive with **intersects**.
          example: -175.05,-85.05,175.05,85.05
          title: Bbox
        description: Only return items intersecting this bounding box. Mutually exclusive with **intersects**.
      - name: datetime
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Only return items that have a temporal property that intersects this value.


            Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.'
          title: Datetime
        description: 'Only return items that have a temporal property that intersects this value.


          Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.'
        examples:
          datetime:
            value: '2018-02-12T23:20:50Z'
          closed-interval:
            value: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z
          open-interval-from:
            value: 2018-02-12T00:00:00Z/..
          open-interval-to:
            value: ../2018-03-18T12:31:12Z
      - name: query
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Allows additional filtering based on the properties of Item objects
          example: '{"eo:cloud_cover": {"gte": 95}}'
          title: Query
        description: Allows additional filtering based on the properties of Item objects
      - name: sortby
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: An array of property names, prefixed by either '+' for ascending or '-' for descending. If no prefix is provided, '+' is assumed.
          example: -gsd,-datetime
          title: Sortby
        description: An array of property names, prefixed by either '+' for ascending or '-' for descending. If no prefix is provided, '+' is assumed.
      - name: fields
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Include or exclude fields from items body.
          example: properties.datetime
          title: Fields
        description: Include or exclude fields from items body.
      - name: filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'A CQL filter expression for filtering items.


            Supports `CQL-JSON` as defined in https://portal.ogc.org/files/96288


            Remember to URL encode the CQL-JSON if using GET'
          example: id='LC08_L1TP_060247_20180905_20180912_01_T1_L1TP' AND collection='landsat8_l1tp'
          title: Filter
        description: 'A CQL filter expression for filtering items.


          Supports `CQL-JSON` as defined in https://portal.ogc.org/files/96288


          Remember to URL encode the CQL-JSON if using GET'
      - name: filter-crs
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The coordinate reference system (CRS) used by spatial literals in the 'filter' value. Default is `http://www.opengis.net/def/crs/OGC/1.3/CRS84`
          title: Filter-Crs
        description: The coordinate reference system (CRS) used by spatial literals in the 'filter' value. Default is `http://www.opengis.net/def/crs/OGC/1.3/CRS84`
      - name: filter-lang
        in: query
        required: false
        schema:
          anyOf:
          - enum:
            - cql-json
            - cql2-json
            - cql2-text
            type: string
          - type: 'null'
          description: The CQL filter encoding that the 'filter' value uses.
          default: cql2-text
          title: Filter-Lang
        description: The CQL filter encoding that the 'filter' value uses.
      - name: token
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Token
      responses:
        '200':
          description: Successful Response
          content:
            application/geo+json:
              schema:
                $ref: '#/components/schemas/ItemCollection-Output'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Collections
components:
  schemas:
    stac_pydantic__api__item__Item:
      properties:
        bbox:
          anyOf:
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 4
            minItems: 4
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 6
            minItems: 6
          - type: 'null'
          title: Bbox
        type:
          type: string
          const: Feature
          title: Type
        geometry:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/Point'
            - $ref: '#/components/schemas/MultiPoint'
            - $ref: '#/components/schemas/LineString'
            - $ref: '#/components/schemas/MultiLineString'
            - $ref: '#/components/schemas/Polygon'
            - $ref: '#/components/schemas/MultiPolygon'
            - $ref: '#/components/schemas/GeometryCollection-Output'
            discriminator:
              propertyName: type
              mapping:
                GeometryCollection: '#/components/schemas/GeometryCollection-Output'
                LineString: '#/components/schemas/LineString'
                MultiLineString: '#/components/schemas/MultiLineString'
                MultiPoint: '#/components/schemas/MultiPoint'
                MultiPolygon: '#/components/schemas/MultiPolygon'
                Point: '#/components/schemas/Point'
                Polygon: '#/components/schemas/Polygon'
          - type: 'null'
          title: Geometry
        properties:
          $ref: '#/components/schemas/ItemProperties'
        id:
          type: string
          minLength: 1
          title: Id
        stac_version:
          type: string
          pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
          title: Stac Version
          default: 1.0.0
        assets:
          additionalProperties:
            $ref: '#/components/schemas/Asset'
          type: object
          title: Assets
        links:
          $ref: '#/components/schemas/stac_pydantic__links__Links-Output'
        stac_extensions:
          anyOf:
          - items:
              type: string
              minLength: 1
              format: uri
            type: array
          - type: 'null'
          title: Stac Extensions
          default: []
        collection:
          anyOf:
          - type: string
          - type: 'null'
          title: Collection
      type: object
      required:
      - type
      - geometry
      - properties
      - id
      - assets
      - links
      title: Item
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    Point:
      properties:
        bbox:
          anyOf:
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 4
            minItems: 4
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 6
            minItems: 6
          - type: 'null'
          title: Bbox
        type:
          type: string
          const: Point
          title: Type
        coordinates:
          anyOf:
          - $ref: '#/components/schemas/Position2D'
          - $ref: '#/components/schemas/Position3D'
          title: Coordinates
      type: object
      required:
      - type
      - coordinates
      title: Point
      description: Point Model
    Link:
      properties:
        href:
          type: string
          minLength: 1
          title: Href
        rel:
          type: string
          minLength: 1
          title: Rel
        type:
          anyOf:
          - $ref: '#/components/schemas/MimeTypes'
          - type: 'null'
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        label:assets:
          anyOf:
          - type: string
          - type: 'null'
          title: Label:Assets
      additionalProperties: true
      type: object
      required:
      - href
      - rel
      title: Link
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#link-object
    Collections:
      properties:
        links:
          $ref: '#/components/schemas/stac_pydantic__api__links__Links'
        collections:
          items:
            $ref: '#/components/schemas/stac_pydantic__api__collection__Collection'
          type: array
          title: Collections
        numberMatched:
          anyOf:
          - type: integer
          - type: 'null'
          title: Numbermatched
        numberReturned:
          anyOf:
          - type: integer
          - type: 'null'
          title: Numberreturned
      type: object
      required:
      - links
      - collections
      title: Collections
      description: 'https://github.com/radiantearth/stac-api-spec/tree/v1.0.0/ogcapi-features#endpoints

        https://github.com/radiantearth/stac-api-spec/tree/v1.0.0/ogcapi-features#collections-collections'
    Polygon:
      properties:
        bbox:
          anyOf:
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 4
            minItems: 4
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 6
            minItems: 6
          - type: 'null'
          title: Bbox
        type:
          type: string
          const: Polygon
          title: Type
        coordinates:
          items:
            items:
              anyOf:
              - $ref: '#/components/schemas/Position2D'
              - $ref: '#/components/schemas/Position3D'
            type: array
            minItems: 4
          type: array
          title: Coordinates
      type: object
      required:
      - type
      - coordinates
      title: Polygon
      description: Polygon Model
    TimeInterval:
      properties:
        interval:
          items:
            items:
              anyOf:
              - type: string
              - type: 'null'
            type: array
          type: array
          title: Interval
      type: object
      required:
      - interval
      title: TimeInterval
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#temporal-extent-object
    Provider:
      properties:
        name:
          type: string
          minLength: 1
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        roles:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Roles
        url:
          anyOf:
          - type: string
          - type: 'null'
          title: Url
      type: object
      required:
      - name
      title: Provider
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#provider-object
    ItemProperties:
      properties:
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        datetime:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Datetime
        created:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created
        updated:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated
        start_datetime:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Start Datetime
        end_datetime:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: End Datetime
        license:
          anyOf:
          - type: string
          - type: 'null'
          title: License
        providers:
          anyOf:
          - items:
              $ref: '#/components/schemas/Provider'
            type: array
          - type: 'null'
          title: Providers
        platform:
          anyOf:
          - type: string
          - type: 'null'
          title: Platform
        instruments:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Instruments
        constellation:
          anyOf:
          - type: string
          - type: 'null'
          title: Constellation
        mission:
          anyOf:
          - type: string
          - type: 'null'
          title: Mission
        gsd:
          anyOf:
          - type: number
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Gsd
      additionalProperties: true
      type: object
      required:
      - datetime
      title: ItemProperties
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#properties-object
    ItemsLink:
      properties:
        href:
          type: string
          pattern: .*\/items(\?.*)?\b
          title: Href
        rel:
          type: string
          enum:
          - self
          - items
          title: Rel
        type:
          type: string
          const: application/geo+json
          title: Type
          default: application/geo+json
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        label:assets:
          anyOf:
          - type: string
          - type: 'null'
          title: Label:Assets
        method:
          type: string
          enum:
          - GET
          - POST
          title: Method
          default: GET
        headers:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Headers
        body:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Body
        merge:
          type: boolean
          title: Merge
          default: false
      additionalProperties: true
      type: object
      required:
      - href
      - rel
      title: ItemsLink
    PaginationLink:
      properties:
        href:
          type: string
          minLength: 1
          title: Href
        rel:
          type: string
          enum:
          - next
          - prev
          title: Rel
        type:
          anyOf:
          - $ref: '#/components/schemas/MimeTypes'
          - type: 'null'
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        label:assets:
          anyOf:
          - type: string
          - type: 'null'
          title: Label:Assets
        method:
          type: string
          enum:
          - GET
          - POST
          title: Method
          default: GET
        headers:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Headers
        body:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Body
        merge:
          type: boolean
          title: Merge
          default: false
      additionalProperties: true
      type: object
      required:
      - href
      - rel
      title: PaginationLink
      description: https://github.com/radiantearth/stac-api-spec/blob/v1.0.0/item-search/README.md#pagination
    Position3D:
      prefixItems:
      - type: number
        title: Longitude
      - type: number
        title: Latitude
      - type: number
        title: Altitude
      type: array
      maxItems: 3
      minItems: 3
    SearchLink:
      properties:
        href:
          type: string
          pattern: .*\/search(\?.*)?\b
          title: Href
        rel:
          type: string
          enum:
          - self
          - search
          - next
          - prev
          title: Rel
        type:
          type: string
          const: application/geo+json
          title: Type
          default: application/geo+json
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        label:assets:
          anyOf:
          - type: string
          - type: 'null'
          title: Label:Assets
        method:
          type: string
          enum:
          - GET
          - POST
          title: Method
          default: GET
        headers:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Headers
        body:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Body
        merge:
          type: boolean
          title: Merge
          default: false
      additionalProperties: true
      type: object
      required:
      - href
      - rel
      title: SearchLink
      description: https://github.com/radiantearth/stac-api-spec/tree/v1.0.0/item-search#link-relations
    Range:
      properties:
        minimum:
          anyOf:
          - type: number
          - type: integer
          - type: string
          title: Minimum
        maximum:
          anyOf:
          - type: number
          - type: integer
          - type: string
          title: Maximum
      type: object
      required:
      - minimum
      - maximum
      title: Range
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#stats-object
    MultiPolygon:
      properties:
        bbox:
          anyOf:
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 4
            minItems: 4
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 6
            minItems: 6
          - type: 'null'
          title: Bbox
        type:
          type: string
          const: MultiPolygon
          title: Type
        coordinates:
          items:
            items:
              items:
                anyOf:
                - $ref: '#/components/schemas/Position2D'
                - $ref: '#/components/schemas/Position3D'
              type: array
              minItems: 4
            type: array
          type: array
          title: Coordinates
      type: object
      required:
      - type
      - coordinates
      title: MultiPolygon
      description: MultiPolygon Model
    MultiPoint:
      properties:
        bbox:
          anyOf:
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 4
            minItems: 4
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 6
            minItems: 6
          - type: 'null'
          title: Bbox
        type:
          type: string
          const: MultiPoint
          title: Type
        coordinates:
          items:
            anyOf:
            - $ref: '#/components/schemas/Position2D'
            - $ref: '#/components/schemas/Position3D'
          type: array
          title: Coordinates
      type: object
      required:
      - type
      - coordinates
      title: MultiPoint
      description: MultiPoint Model
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Asset:
      properties:
        href:
          type: string
          minLength: 1
          title: Href
        type:
          anyOf:
          - type: string
          - type: 'null'
          title: Type
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        roles:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Roles
      additionalProperties: true
      type: object
      required:
      - href
      title: Asset
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#asset-object
    GeometryCollection-Output:
      properties:
        bbox:
          anyOf:
          - prefixItems:
            - type: number
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 4
            minItems: 4
          - prefixItems:
     

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/esa/refs/heads/main/openapi/esa-collections-api-openapi.yml