European Space Agency (ESA) Transaction Extension API

The Transaction Extension API from European Space Agency (ESA) — 4 operation(s) for transaction extension.

OpenAPI Specification

esa-transaction-extension-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Copernicus Data Space Ecosystem (CDSE) asset-level STAC catalogue Bulk Transaction Extension 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: Transaction Extension
paths:
  /collections/{collection_id}/items/{item_id}:
    put:
      tags:
      - Transaction Extension
      summary: Update Item
      description: Endpoint.
      operationId: Update_Item_collections__collection_id__items__item_id__put
      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
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Item-Input'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stac_pydantic__item__Item-Output'
            application/geo+json: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Transaction Extension
      summary: Delete Item
      description: Endpoint.
      operationId: Delete_Item_collections__collection_id__items__item_id__delete
      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/json:
              schema:
                $ref: '#/components/schemas/stac_pydantic__item__Item-Output'
            application/geo+json: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /collections:
    post:
      tags:
      - Transaction Extension
      summary: Create Collection
      description: Endpoint.
      operationId: Create_Collection_collections_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Collection-Input'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stac_pydantic__collection__Collection-Output'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /collections/{collection_id}:
    put:
      tags:
      - Transaction Extension
      summary: Update Collection
      description: Endpoint.
      operationId: Update_Collection_collections__collection_id__put
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: string
          description: Collection ID
          title: Collection Id
        description: Collection ID
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Collection-Input'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stac_pydantic__collection__Collection-Output'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Transaction Extension
      summary: Delete Collection
      description: Endpoint.
      operationId: Delete_Collection_collections__collection_id__delete
      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__collection__Collection-Output'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /collections/{collection_id}/items:
    post:
      tags:
      - Transaction Extension
      summary: Create Item
      description: Endpoint.
      operationId: Create_Item_collections__collection_id__items_post
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: string
          description: Collection ID
          title: Collection Id
        description: Collection ID
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/Item-Input'
              - $ref: '#/components/schemas/ItemCollection-Input'
              title: Item
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stac_pydantic__item__Item-Output'
            application/geo+json: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    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
    stac_pydantic__collection__Collection-Output:
      properties:
        id:
          type: string
          minLength: 1
          title: Id
        description:
          type: string
          minLength: 1
          title: Description
        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
        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: []
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        type:
          type: string
          const: Collection
          title: Type
        assets:
          anyOf:
          - additionalProperties:
              $ref: '#/components/schemas/Asset'
            type: object
          - type: 'null'
          title: Assets
        license:
          type: string
          minLength: 1
          title: License
        extent:
          $ref: '#/components/schemas/Extent'
        keywords:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Keywords
        providers:
          anyOf:
          - items:
              $ref: '#/components/schemas/Provider'
            type: array
          - type: 'null'
          title: Providers
        summaries:
          anyOf:
          - additionalProperties:
              anyOf:
              - $ref: '#/components/schemas/Range'
              - items: {}
                type: array
              - additionalProperties: true
                type: object
            type: object
          - type: 'null'
          title: Summaries
      additionalProperties: true
      type: object
      required:
      - id
      - description
      - links
      - type
      - license
      - extent
      title: Collection
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md
    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
    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
    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
    GeometryCollection-Input:
      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: GeometryCollection
          title: Type
        geometries:
          items:
            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-Input'
            discriminator:
              propertyName: type
              mapping:
                GeometryCollection: '#/components/schemas/GeometryCollection-Input'
                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: array
          title: Geometries
      type: object
      required:
      - type
      - geometries
      title: GeometryCollection
      description: GeometryCollection Model
    stac_pydantic__item__Item-Output:
      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
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md
    Position3D:
      prefixItems:
      - type: number
        title: Longitude
      - type: number
        title: Latitude
      - type: number
        title: Altitude
      type: array
      maxItems: 3
      minItems: 3
    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
    Item-Input:
      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-Input'
            discriminator:
              propertyName: type
              mapping:
                GeometryCollection: '#/components/schemas/GeometryCollection-Input'
                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/Links-Input'
        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
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md
    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
    Collection-Input:
      properties:
        id:
          type: string
          minLength: 1
          title: Id
        description:
          type: string
          minLength: 1
          title: Description
        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
        links:
          $ref: '#/components/schemas/Links-Input'
        stac_extensions:
          anyOf:
          - items:
              type: string
              minLength: 1
              format: uri
            type: array
          - type: 'null'
          title: Stac Extensions
          default: []
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        type:
          type: string
          const: Collection
          title: Type
        assets:
          anyOf:
          - additionalProperties:
              $ref: '#/components/schemas/Asset'
            type: object
          - type: 'null'
          title: Assets
        license:
          type: string
          minLength: 1
          title: License
        extent:
          $ref: '#/components/schemas/Extent'
        keywords:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Keywords
        providers:
          anyOf:
          - items:
              $ref: '#/components/schemas/Provider'
            type: array
          - type: 'null'
          title: Providers
        summaries:
          anyOf:
          - additionalProperties:
              anyOf:
              - $ref: '#/components/schemas/Range'
              - items: {}
                type: array
              - additionalProperties: true
                type: object
            type: object
          - type: 'null'
          title: Summaries
      additionalProperties: true
      type: object
      required:
      - id
      - description
      - links
      - type
      - license
      - extent
      title: Collection
      description: https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md
    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:
            - 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: GeometryCollection
          title: Type
        geometries:
          items:
            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: array
          title: Geometries
      type: object
      required:
      - type
      - geometries
      title: GeometryCollection
      description: GeometryCollection Model
    LineString:
      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: LineString
          title: Type
        coordinates:
          items:
            anyOf:
            - $ref: '#/components/schemas/Position2D'
            - $ref: '#/components/schemas/Position3D'
          type: array
          minItems: 2
          title: Coordinates
      type: object
      required:
      - type
      - coordinates
      title: LineString
      description: LineString Model
    SpatialExtent:
      properties:
        bbox:
          items:

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