European Space Agency (ESA) Transaction Extension API
The Transaction Extension API from European Space Agency (ESA) — 4 operation(s) for transaction extension.
The Transaction Extension API from European Space Agency (ESA) — 4 operation(s) for transaction extension.
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