openapi: 3.1.0
info:
title: API Reference
version: 1.0.0
contact:
name: Sentinel Hub
servers:
- url: https://services.sentinel-hub.com
tags:
- name: catalog_core
x-displayName: Core
description: |-
This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Core specification. Any service that implements this endpoint to allow discovery of spatiotemporal assets can be considered a STAC API.
Make sure to use the appropriate end-point for each of the datasets, e.g. for Landsat, Sentinel-3, etc.
- name: catalog_collections
x-displayName: Collections
description: This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Collections specification. This is a subset of the STAC API - Features specification.
- name: catalog_features
x-displayName: Features
description: 'This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Features specification. This extends OGC API - Features - Part 1: Core.'
- name: catalog_item_search
x-displayName: Item Search
description: This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Item Search specification.
paths:
/catalog/v1:
get:
tags:
- catalog_core
summary: landing page
description: |-
Returns the root STAC Catalog or STAC Collection that is the entry point
for users to browse with STAC Browser or for search engines to crawl.
This can either return a single STAC Collection or more commonly a STAC
catalog.
The landing page provides links to the
API definition (link relations `service-desc` and `service-doc`)
and the STAC records such as collections/catalogs (link relation `child`)
or items (link relation `item`).
Extensions may add additional links with new relation types.
operationId: getCatalogLandingPage
responses:
'200':
$ref: '#/components/responses/CatalogCoreLandingPage'
'500':
$ref: '#/components/responses/CatalogError'
security: []
/catalog/v1/conformance:
get:
tags:
- catalog_core
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: getCatalogConformanceDeclaration
responses:
'200':
$ref: '#/components/responses/CatalogConformanceDeclaration'
'500':
$ref: '#/components/responses/CatalogError'
security: []
/catalog/v1/collections:
get:
tags:
- catalog_collections
summary: the feature collections in the dataset
description: |-
A body of Feature Collections that belong or are used together with additional links.
Request may not return the full set of metadata per Feature Collection.
operationId: getCatalogCollections
responses:
'200':
$ref: '#/components/responses/CatalogCollectionsCollections'
'403':
$ref: '#/components/responses/CatalogAccessControlInsufficientPermissions'
'500':
$ref: '#/components/responses/CatalogCollectionsServerError'
security:
- OAuth2: []
/catalog/v1/collections/{collectionId}:
get:
tags:
- catalog_collections
summary: describe the feature collection with id `collectionId`
description: |-
A single Feature Collection for the given if `collectionId`.
Request this endpoint to get a full list of metadata for the Feature Collection.
operationId: getCatalogCollection
parameters:
- $ref: '#/components/parameters/CatalogCollectionsCollectionId'
responses:
'200':
$ref: '#/components/responses/CatalogCollectionsCollection'
'400':
$ref: '#/components/responses/CatalogAccessControlIllegalCollection'
'403':
$ref: '#/components/responses/CatalogAccessControlInsufficientPermissions'
'404':
$ref: '#/components/responses/CatalogCollectionsNotFound'
'500':
$ref: '#/components/responses/CatalogCollectionsServerError'
security:
- OAuth2: []
/catalog/v1/collections/{collectionId}/queryables:
get:
summary: Get the JSON Schema defining the list of variable terms that can be used in CQL2 expressions.
operationId: getCatalogCollectionQueryables
description: |-
This endpoint returns a list of variable terms that can be used in CQL2 expressions. The
precise definition of this can be found in the OGC API - Features - Part 3: Filtering and the
Common Query Language (CQL) specification.
parameters:
- in: path
name: collectionId
schema:
type: string
required: true
description: ID of Collection
tags:
- catalog_collections
responses:
'200':
$ref: '#/components/responses/CatalogCollectionQueryables'
'400':
$ref: '#/components/responses/CatalogAccessControlIllegalCollection'
'403':
$ref: '#/components/responses/CatalogAccessControlInsufficientPermissions'
'404':
$ref: '#/components/responses/CatalogCollectionsNotFound'
'500':
$ref: '#/components/responses/CatalogCollectionsServerError'
security:
- OAuth2: []
/catalog/v1/collections/{collectionId}/items:
get:
tags:
- catalog_features
summary: fetch features
description: |-
Fetch features of the feature collection with id `collectionId`.
Every feature in a dataset belongs to a collection. A dataset may
consist of multiple feature collections. A feature collection is often a
collection of features of a similar type, based on a common schema.
operationId: getCatalogFeatures
parameters:
- $ref: '#/components/parameters/CatalogFeaturesCollectionId'
- $ref: '#/components/parameters/CatalogFeaturesLimit'
- $ref: '#/components/parameters/CatalogFeaturesBbox'
- $ref: '#/components/parameters/CatalogFeaturesDatetime'
responses:
'200':
$ref: '#/components/responses/CatalogFeaturesFeatures'
'400':
$ref: '#/components/responses/CatalogAccessControlIllegalCollection'
'403':
$ref: '#/components/responses/CatalogAccessControlInsufficientPermissions'
'404':
$ref: '#/components/responses/CatalogFeaturesNotFound'
'500':
$ref: '#/components/responses/CatalogFeaturesServerError'
security:
- OAuth2: []
/catalog/v1/collections/{collectionId}/items/{featureId}:
get:
tags:
- catalog_features
summary: fetch a single feature
description: |-
Fetch the feature with id `featureId` in the feature collection
with id `collectionId`.
operationId: getCatalogFeature
parameters:
- $ref: '#/components/parameters/CatalogFeaturesCollectionId'
- $ref: '#/components/parameters/CatalogFeaturesFeatureId'
responses:
'200':
$ref: '#/components/responses/CatalogFeaturesFeature'
'400':
$ref: '#/components/responses/CatalogAccessControlIllegalCollection'
'403':
$ref: '#/components/responses/CatalogAccessControlInsufficientPermissions'
'404':
$ref: '#/components/responses/CatalogFeaturesNotFound'
'500':
$ref: '#/components/responses/CatalogFeaturesServerError'
security:
- OAuth2: []
/catalog/v1/search:
get:
summary: Search STAC items with simple filtering.
operationId: getCatalogItemSearch
description: |-
Retrieve Items matching filters. Intended as a shorthand API for simple
queries.
This method is required to implement.
If this endpoint is implemented on a server, it is required to add a
link referring to this endpoint with `rel` set to `search` to the
`links` array in `GET /`. As `GET` is the default method, the `method`
may not be set explicitly in the link.
tags:
- catalog_item_search
parameters:
- $ref: '#/components/parameters/CatalogItemSearchBbox'
- $ref: '#/components/parameters/CatalogItemSearchIntersects'
- $ref: '#/components/parameters/CatalogItemSearchDatetime'
- $ref: '#/components/parameters/CatalogItemSearchLimit'
- $ref: '#/components/parameters/CatalogItemSearchIds'
- $ref: '#/components/parameters/CatalogItemSearchCollectionsArray'
- $ref: '#/components/parameters/CatalogItemSearchFieldsFields'
- $ref: '#/components/parameters/CatalogItemSearchFilterFilter'
- $ref: '#/components/parameters/CatalogItemSearchDistinctDistinct'
responses:
'200':
description: A feature collection.
content:
application/geo+json:
schema:
allOf:
- $ref: '#/components/schemas/CatalogItemSearchItemCollectionItemCollection'
- $ref: '#/components/schemas/CatalogItemSearchContextItemCollection'
example:
type: FeatureCollection
features:
- bbox:
- 12.456873618680804
- 44.138006014975964
- 13.558241653952589
- 45.144727105915536
id: S2B_MSIL2A_20201229T101329_N0214_R022_T33TUK_20201229T115442
type: Feature
properties:
proj:epsg: 32633
datetime: '2020-12-29T10:18:19Z'
instruments:
- msi
constellation: sentinel-2
proj:geometry:
crs:
type: name
properties:
name: urn:ogc:def:crs:EPSG::32633
coordinates:
- - - - 300000.99988415383
- 5000039.000148304
- - 300000.99989785976
- 4890241.000124758
- - 352314.4884079728
- 4890241.000125499
- - 386653.8629171661
- 5000039.000149397
- - 300000.99988415383
- 5000039.000148304
type: MultiPolygon
eo:cloud_cover: 93.93
gsd: 10
proj:bbox:
- 300000
- 4890240
- 409800
- 5000040
platform: sentinel-2b
links:
- href: https://services.sentinel-hub.com/catalog/v1/search?collections=sentinel-2-l2a&bbox=13,45,14,46&limit=1&datetime=2020-12-10T00:00:00Z/2020-12-30T00:00:00Z&filter=eo:cloud_cover>90&fields=id,type,-geometry,bbox,properties,-links,-assets
rel: self
type: application/geo+json
- href: https://services.sentinel-hub.com/catalog/v1/search?collections=sentinel-2-l2a&bbox=13,45,14,46&limit=1&datetime=2020-12-10T00:00:00Z/2020-12-30T00:00:00Z&filter=eo:cloud_cover>90&fields=id,type,-geometry,bbox,properties,-links,-assets&next=1
rel: next
type: application/geo+json
title: Next set of results
context:
next: 1
limit: 1
returned: 1
'400':
$ref: '#/components/responses/CatalogAccessControlIllegalCollection'
'403':
$ref: '#/components/responses/CatalogAccessControlInsufficientPermissions'
'500':
$ref: '#/components/responses/CatalogError'
security:
- OAuth2: []
post:
summary: Search STAC items with full-featured filtering.
operationId: postCatalogItemSearch
description: |-
Retrieve items matching filters. Intended as the standard, full-featured
query API.
This method is optional to implement, but recommended.
If this endpoint is implemented on a server, it is required to add a
link referring to this endpoint with `rel` set to `search` and `method`
set to `POST` to the `links` array in `GET /`.
tags:
- catalog_item_search
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CatalogItemSearchSearchBody'
- $ref: '#/components/schemas/CatalogItemSearchFieldsSearchBody'
- $ref: '#/components/schemas/CatalogItemSearchFilterSearchBody'
- $ref: '#/components/schemas/CatalogItemSearchDistinctSearchBody'
example:
collections:
- sentinel-2-l2a
bbox:
- 13
- 45
- 14
- 46
datetime: 2020-12-10T00:00:00Z/2020-12-30T00:00:00Z
fields:
include:
- id
- type
- bbox
- properties
exclude:
- geometry
- links
- assets
filter:
op: '>'
args:
- property: eo:cloud_cover
- 90
filter-lang: cql2-json
limit: 1
responses:
'200':
description: A feature collection.
content:
application/geo+json:
schema:
allOf:
- $ref: '#/components/schemas/CatalogItemSearchItemCollectionItemCollection'
- $ref: '#/components/schemas/CatalogItemSearchContextItemCollection'
example:
type: FeatureCollection
features:
- bbox:
- 12.456873618680804
- 44.138006014975964
- 13.558241653952589
- 45.144727105915536
id: S2B_MSIL2A_20201229T101329_N0214_R022_T33TUK_20201229T115442
type: Feature
properties:
proj:epsg: 32633
datetime: '2020-12-29T10:18:19Z'
instruments:
- msi
constellation: sentinel-2
proj:geometry:
crs:
type: name
properties:
name: urn:ogc:def:crs:EPSG::32633
coordinates:
- - - - 300000.99988415383
- 5000039.000148304
- - 300000.99989785976
- 4890241.000124758
- - 352314.4884079728
- 4890241.000125499
- - 386653.8629171661
- 5000039.000149397
- - 300000.99988415383
- 5000039.000148304
type: MultiPolygon
eo:cloud_cover: 93.93
gsd: 10
proj:bbox:
- 300000
- 4890240
- 409800
- 5000040
platform: sentinel-2b
links:
- href: https://services.sentinel-hub.com/catalog/v1/search
rel: self
type: application/geo+json
- href: https://services.sentinel-hub.com/catalog/v1/search
rel: next
type: application/geo+json
title: Next set of results
method: POST
body:
next: 1
merge: true
context:
next: 1
limit: 1
returned: 1
'400':
$ref: '#/components/responses/CatalogAccessControlIllegalCollection'
'403':
$ref: '#/components/responses/CatalogAccessControlInsufficientPermissions'
'500':
$ref: '#/components/responses/CatalogError'
security:
- OAuth2: []
components:
securitySchemes:
OAuth2:
type: oauth2
description: |
### Authentication
More about the authentication here.
To get an access token using curl:
```
curl --request POST \
--url https://services.sentinel-hub.com/auth/realms/main/protocol/openid-connect/token \
--header "content-type: application/x-www-form-urlencoded" \
--data "grant_type=client_credentials&client_id=&client_secret="
```
flows:
clientCredentials:
tokenUrl: https://services.sentinel-hub.com/auth/realms/main/protocol/openid-connect/token
scopes:
SH: Sentinel Hub
parameters:
SearchBeanSearch:
name: search
description: Optional search query. Either a single word to search for or multiple words separated by the `|` (or) and `&` (and) operators. If omitted, all items are returned.
in: query
schema:
type: string
SearchBeanCount:
name: count
description: |-
Upper limit to the number of items to retrieve. It cannot be larger than the endpoint-specific limit. If omitted, the endpoint-specific limit is used.
For more records, use *viewtoken* to page through.
in: query
schema:
type: integer
format: int32
SearchBeanViewtoken:
name: viewtoken
description: |
When the total number of items is larger than *count*, the response contains *viewtoken*.
This *viewtoken* can be used in the next request to retrieve the next page of items.
The next page can be retrieved by repeating the query. However, replace your URL with the
next URL in the returned links object.
in: query
schema:
type: string
SearchBeanSort:
name: sort
description: sort
in: query
schema:
type: string
ByocCollectionId:
name: collectionId
in: path
required: true
schema:
type: string
format: uuid
BatchRequestId:
name: requestId
description: Request ID
in: path
required: true
schema:
type: string
format: uuid
CatalogCollectionsCollectionId:
name: collectionId
in: path
description: local identifier of a collection
required: true
schema:
type: string
CatalogFeaturesBbox:
name: bbox
in: query
description: |-
Only features that have a geometry that intersects the bounding box are selected.
The 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).
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.
required: false
schema:
type: array
oneOf:
- minItems: 4
maxItems: 4
- minItems: 6
maxItems: 6
items:
type: number
style: form
explode: false
CatalogFeaturesCollectionId:
name: collectionId
in: path
description: local identifier of a collection
required: true
schema:
type: string
CatalogFeaturesDatetime:
name: datetime
in: query
description: |-
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:
* A date-time: "2018-02-12T23:20:50Z"
* A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
* Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"
Only features that have a temporal property that intersects the value of
`datetime` are selected.
If a feature has multiple temporal properties, it is the decision of the
server whether only a single temporal property is used to determine
the extent or all relevant temporal properties.
required: false
schema:
type: string
style: form
explode: false
CatalogFeaturesFeatureId:
name: featureId
in: path
description: local identifier of a feature
required: true
schema:
type: string
CatalogFeaturesLimit:
name: limit
in: query
description: |-
The optional limit parameter recommends the number of items that should be present in the response document.
If the limit parameter value is greater than advertised limit maximum, the server must return the
maximum possible number of items, rather than responding with an error.
Only items are counted that are on the first level of the collection in the response document.
Nested objects contained within the explicitly requested items must not be counted.
Minimum = 1. Maximum = 100. Default = 10.
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 10
style: form
explode: false
CatalogItemSearchFieldsFields:
name: fields
x-stac-api-fragment: fields
in: query
description: |-
**Extension:** Fields
Determines the shape of the features in the response
required: false
schema:
type: string
example: id,type,-geometry,bbox,properties,-links,-assets
style: form
explode: false
CatalogItemSearchFilterFilter:
name: filter
x-stac-api-fragment: filter
in: query
description: |-
**Extension:** Filter
A CQL2 filter expression for filtering items.
required: false
schema:
$ref: '#/components/schemas/CatalogItemSearchFilterFilterCql2Text'
example: eo:cloud_cover>90
CatalogItemSearchDistinctDistinct:
name: distinct
x-stac-api-fragment: distinct
in: query
description: |-
**Extension:** Distinct
Return distinct values of specified property.
required: false
schema:
type: string
style: form
explode: false
CatalogItemSearchIds:
name: ids
in: query
description: Array of Item ids to return.
required: false
schema:
$ref: '#/components/schemas/CatalogItemSearchIds'
explode: false
CatalogItemSearchCollectionsArray:
name: collections
in: query
description: |
Array of Collection IDs to include in the search for items.
Only Item objects in one of the provided collections will be searched
required: true
schema:
$ref: '#/components/schemas/CatalogItemSearchCollectionsArray'
explode: false
example:
- sentinel-2-l2a
CatalogItemSearchDatetime:
name: datetime
in: query
description: |-
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:
* A date-time: "2018-02-12T23:20:50Z"
* A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
* Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"
Only features that have a temporal property that intersects the value of
`datetime` are selected.
If a feature has multiple temporal properties, it is the decision of the
server whether only a single temporal property is used to determine
the extent or all relevant temporal properties.
required: true
schema:
type: string
style: form
explode: false
example: 2020-12-10T00:00:00Z/2020-12-30T00:00:00Z
CatalogItemSearchBbox:
name: bbox
in: query
description: |-
Only features that have a geometry that intersects the bounding box are selected.
The 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).
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: The bounding box of the New Zealand Exclusive Economic Zone in
WGS 84 (from 160.6°E to 170°W and from 55.95°S to 25.89°S) would be
represented in JSON as `[160.6, -55.95, -170, -25.89]` and in a query as
`bbox=160.6,-55.95,-170,-25.89`.
required: false
schema:
type: array
oneOf:
- minItems: 4
maxItems: 4
- minItems: 6
maxItems: 6
items:
type: number
style: form
explode: false
example:
- 13
- 45
- 14
- 46
CatalogItemSearchLimit:
name: limit
in: query
description: |-
The optional limit parameter recommends the number of items that should be present in the response document.
Only items are counted that are on the first level of the collection in the response document.
Nested objects contained within the explicitly requested items must not be counted.
Minimum = 1. Maximum = 100. Default = 10.
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 10
style: form
explode: false
example: 1
CatalogItemSearchIntersects:
name: intersects
in: query
description: |-
The optional intersects parameter filters the result Items in the same was as bbox, only with
a GeoJSON Geometry rather than a bbox.
required: false
schema:
$ref: '#/components/schemas/CatalogGeometryGeoJSON'
style: form
explode: false
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorWrapper'
'401':
description: Unauthorized
'403':
description: Insufficient permissions
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorWrapper'
'409':
description: Conflict in the request
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorWrapper'
'500':
description: Server error
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorWrapper'
CatalogError:
description: An error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogException'
CatalogAccessControlIllegalCollection:
description: Illegal collection.
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogException'
CatalogAccessControlInsufficientPermissions:
description: Insufficient permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogException'
CatalogCoreLandingPage:
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/CatalogCoreLandingPage'
example:
type: Catalog
stac_version: 1.0.0
id: sentinel-hub
title: Sentinel Hub STAC catalog
description: STAC v1.0.0 implementation by Sentinel Hub
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/geojson
- https://api.stacspec.org/v1.0.0/core
- https://api.stacspec.org/v1.0.0/collections
- https://api.stacspec.org/v1.0.0/ogcapi-features
- https://api.stacspec.org/v1.0.0/ogcapi-features#fields
- https://api.stacspec.org/v1.0.0/ogcapi-features#context
- https://api.stacspec.org/v1.0.0/ogcapi-features#filter
- https://api.stacspec.org/v1.0.0/item-search
- https://api.stacspec.org/v1.0.0/item-search#fields
- https://api.stacspec.org/v1.0.0/item-search#context
- https://api.stacspec.org/v1.0.0/item-search#filter
- http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter
- http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter
- http://www.opengis.net/spec/cql2/1.0/conf/cql2-text
- http://www.opengis.net/spec/cql2/1.0/conf/cql2-json
- http://www.opengis.net/spec/cql2/1.0/conf/basic-cql2
links:
- href: https://services.sentinel-hub.com/catalog/v1/
rel: root
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/
rel: self
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections
rel: data
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/conformance
rel: conformance
type: application/json
title: STAC conformance classes implemented by this server
- href: https://services.sentinel-hub.com/catalog/v1/search
rel: search
type: application/geo+json
title: STAC search
method: GET
- href: https://services.sentinel-hub.com/catalog/v1/search
rel: search
type: application/geo+json
title: STAC search
method: POST
- href: https://services.sentinel-hub.com/catalog/v1/queryables
rel: http://www.opengis.net/def/rel/ogc/1.0/queryables
type: application/schema+json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l1c
rel: child
type: application/json
title: Sentinel 2 L1C
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-1-grd
rel: child
type: application/json
title: Sentinel 1 GRD
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a
rel: child
type: application/json
title: Sentinel 2 L2A
- href: https://docs.sentinel-hub.com/api/latest/reference/openapi.v1.yaml
rel: service-desc
type: application/vnd.oai.openapi;version="3.1"
title: OpenAPI service description
- href: https://docs.planet.com/develop/apis/catalog/reference/#tag/catalog_core
rel: service-doc
type: text/html
title: OpenAPI service documentation
CatalogConformanceDeclaration:
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/CatalogConformanceClasses'
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/geojson
- https://api.stacspec.org/v1.0.0/core
- https://api.stacspec.org/v1.0.0/collections
- https://api.stacspec.org/v1.0.0/ogcapi-features
- https://api.stacspec.org/v1.0.0/ogcapi-features#fields
- https://api.stacspec.org/v1.0.0/ogcapi-features#context
- https://api.stacspec.org/v1.0.0/ogcapi-features#filter
- https://api.stacspec.org/v1.0.0/item-search
- https://api.stacspec.org/v1.0.0/item-search#fields
- https://api.stacspec.org/v1.0.0/item-search#context
- https://api.stacspec.org/v1.0.0/item-search#filter
- http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter
- http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter
- http://www.opengis.net/spec/cql2/1.0/conf/cql2-text
- http://www.opengis.net/spec/cql2/1.0/conf/cql2-json
- http://www.opengis.net/spec/cql2/1.0/conf/basic-cql2
CatalogCollectionsCollections:
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/CatalogCollectionsCollections'
example:
links:
- href: https://services.sentinel-hub.com/catalog/v1/
rel: root
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/
rel: self
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/
rel: parent
type: application/json
collections:
- stac_version: 1.0.0
stac_extensions:
- https://stac-extensions.github.io/scientific/v1.0.0/schema.json
- https://stac-extensions.github.io/eo/v1.0.0/schema.json
type: Collection
id: sentinel-2-l1c
title: Sentinel 2 L1C
description: Sentinel 2 imagery processed to level 1C
sci:citation: Modified Copernicus Sentinel data [Year]/Sentinel Hub
license: proprietary
providers:
- name: ESA
roles:
- producer
url: https://esa.int/
- name: AWS
roles:
- host
url: https://aws.amazon.com/
- name: Sinergise
roles:
- processor
url: https://www.sinergise.com/
extent:
spatial:
bbox:
- - -180
- -56
- 180
- 83
temporal:
interval:
- - '2015-11-01T00:00:00Z'
- null
summaries:
platform:
- sentinel-2a
- sentinel-2b
instrument:
- msi
constellation:
- sentinel-2
gsd:
- 10
eo:cloud_cover:
minimum: 0
maximum: 100
eo:bands:
- name: B01
common_name: coastal
center_wavelength: 0.4427
full_width_half_max: 0.021
- name: B02
common_name: blue
center_wavelength: 0.4924
full_width_half_max: 0.066
- name: B03
common_name: green
center_wavelength: 0.5598
full_width_half_max: 0.036
- name: B04
common_name: red
center_wavelength: 0.6646
full_width_half_max: 0.031
- name: B05
center_wavelength: 0.7041
full_width_half_max: 0.015
- name: B06
center_wavelength: 0.7405
full_width_half_max: 0.015
- name: B07
center_wavelength: 0.7828
full_width_half_max: 0.02
- name: B08
common_name: nir
center_wavelength: 0.8328
full_width_half_max: 0.106
- name: B8A
common_name: nir08
center_wavelength: 0.8647
full_width_half_max: 0.021
- name: B09
common_name: nir09
center_wavelength: 0.9451
full_width_half_max: 0.02
- name: B10
common_name: cirrus
center_wavelength: 1.3735
full_width_half_max: 0.031
- name: B11
common_name: swir16
center_wavelength: 1.6137
full_width_half_max: 0.091
- name: B12
common_name: swir22
center_wavelength: 2.2024
full_width_half_max: 0.175
links:
- href: https://services.sentinel-hub.com/catalog/v1/
rel: root
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l1c
rel: self
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections
rel: parent
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l1c/queryables
rel: http://www.opengis.net/def/rel/ogc/1.0/queryables
type: application/schema+json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l1c/items
rel: items
type: application/geo+json
- stac_version: 1.0.0
stac_extensions:
- https://stac-extensions.github.io/scientific/v1.0.0/schema.json
- https://stac-extensions.github.io/sat/v1.0.0/schema.json
- https://stac-extensions.github.io/sar/v1.0.0/schema.json
- https://docs.sentinel-hub.com/api/latest/stac/s1/v1.0.0/schema.json
type: Collection
id: sentinel-1-grd
title: Sentinel 1 GRD
description: Sentinel 1 Ground Range Detected Imagery
sci:citation: Modified Copernicus Sentinel data [Year]/Sentinel Hub
license: proprietary
providers:
- name: ESA
roles:
- producer
url: https://esa.int/
- name: AWS
roles:
- host
url: https://aws.amazon.com/
- name: Sinergise
roles:
- processor
url: https://www.sinergise.com/
extent:
spatial:
bbox:
- - -180
- -85
- 180
- 85
temporal:
interval:
- - '2014-10-03T00:00:00Z'
- null
summaries:
platform:
- sentinel-1a
- sentinel-1b
instrument:
- c-sar
constellation:
- sentinel-1
sat:orbit_state:
- ascending
- descending
sar:instrument_mode:
- SM
- IW
- EW
- WV
- EN
- AN
- IM
sar:frequency_band:
- C
sar:center_frequency:
- 5.405
sar:product_type:
- GRD
sar:polarizations:
- HH
- HV
- VH
- VV
sar:resolution_range:
- 9
- 20
- 23
- 50
- 52
- 84
- 88
- 93
sar:resolution_azimuth:
- 9
- 22
- 23
- 50
- 51
- 84
- 87
sar:pixel_spacing_range:
- 3.5
- 10
- 25
- 40
sar:pixel_spacing_azimuth:
- 3.5
- 10
- 25
- 40
s1:timeliness:
- NRT10m
- NRT1h
- NRT3h
- Fast24h
- Offline
- Reprocessing
- ArchNormal
s1:resolution:
- HIGH
- MEDIUM
- FULL
s1:polarization:
- SH
- SV
- DH
- DV
- HH
- HV
- VV
- VH
links:
- href: https://services.sentinel-hub.com/catalog/v1/
rel: root
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-1-grd
rel: self
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections
rel: parent
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-1-grd/queryables
rel: http://www.opengis.net/def/rel/ogc/1.0/queryables
type: application/schema+json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-1-grd/items
rel: items
type: application/geo+json
- stac_version: 1.0.0
stac_extensions:
- https://stac-extensions.github.io/scientific/v1.0.0/schema.json
- https://stac-extensions.github.io/eo/v1.0.0/schema.json
type: Collection
id: sentinel-2-l2a
title: Sentinel 2 L2A
description: Sentinel 2 imagery processed to level 2A
sci:citation: Modified Copernicus Sentinel data [Year]/Sentinel Hub
license: proprietary
providers:
- name: ESA
roles:
- producer
url: https://esa.int/
- name: AWS
roles:
- host
url: https://aws.amazon.com/
- name: Sinergise
roles:
- processor
url: https://www.sinergise.com/
extent:
spatial:
bbox:
- - -180
- -56
- 180
- 83
temporal:
interval:
- - '2016-11-01T00:00:00Z'
- null
summaries:
platform:
- sentinel-2a
- sentinel-2b
instrument:
- msi
constellation:
- sentinel-2
gsd:
- 10
eo:cloud_cover:
minimum: 0
maximum: 100
eo:bands:
- name: B01
common_name: coastal
center_wavelength: 0.4427
full_width_half_max: 0.021
- name: B02
common_name: blue
center_wavelength: 0.4924
full_width_half_max: 0.066
- name: B03
common_name: green
center_wavelength: 0.5598
full_width_half_max: 0.036
- name: B04
common_name: red
center_wavelength: 0.6646
full_width_half_max: 0.031
- name: B05
center_wavelength: 0.7041
full_width_half_max: 0.015
- name: B06
center_wavelength: 0.7405
full_width_half_max: 0.015
- name: B07
center_wavelength: 0.7828
full_width_half_max: 0.02
- name: B08
common_name: nir
center_wavelength: 0.8328
full_width_half_max: 0.106
- name: B8A
common_name: nir08
center_wavelength: 0.8647
full_width_half_max: 0.021
- name: B09
common_name: nir09
center_wavelength: 0.9451
full_width_half_max: 0.02
- name: B11
common_name: swir16
center_wavelength: 1.6137
full_width_half_max: 0.091
- name: B12
common_name: swir22
center_wavelength: 2.2024
full_width_half_max: 0.175
links:
- href: https://services.sentinel-hub.com/catalog/v1/
rel: root
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a
rel: self
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections
rel: parent
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a/queryables
rel: http://www.opengis.net/def/rel/ogc/1.0/queryables
type: application/schema+json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a/items
rel: items
type: application/geo+json
CatalogCollectionsCollection:
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/CatalogCollection'
example:
stac_version: 1.0.0
stac_extensions:
- https://stac-extensions.github.io/scientific/v1.0.0/schema.json
- https://stac-extensions.github.io/eo/v1.0.0/schema.json
type: Collection
id: sentinel-2-l2a
title: Sentinel 2 L2A
description: Sentinel 2 imagery processed to level 2A
sci:citation: Modified Copernicus Sentinel data [Year]/Sentinel Hub
license: proprietary
providers:
- name: ESA
roles:
- producer
url: https://esa.int/
- name: AWS
roles:
- host
url: https://aws.amazon.com/
- name: Sinergise
roles:
- processor
url: https://www.sinergise.com/
extent:
spatial:
bbox:
- - -180
- -56
- 180
- 83
temporal:
interval:
- - '2016-11-01T00:00:00Z'
- null
summaries:
platform:
- sentinel-2a
- sentinel-2b
instrument:
- msi
constellation:
- sentinel-2
gsd:
- 10
eo:cloud_cover:
minimum: 0
maximum: 100
eo:bands:
- name: B01
common_name: coastal
center_wavelength: 0.4427
full_width_half_max: 0.021
- name: B02
common_name: blue
center_wavelength: 0.4924
full_width_half_max: 0.066
- name: B03
common_name: green
center_wavelength: 0.5598
full_width_half_max: 0.036
- name: B04
common_name: red
center_wavelength: 0.6646
full_width_half_max: 0.031
- name: B05
center_wavelength: 0.7041
full_width_half_max: 0.015
- name: B06
center_wavelength: 0.7405
full_width_half_max: 0.015
- name: B07
center_wavelength: 0.7828
full_width_half_max: 0.02
- name: B08
common_name: nir
center_wavelength: 0.8328
full_width_half_max: 0.106
- name: B8A
common_name: nir08
center_wavelength: 0.8647
full_width_half_max: 0.021
- name: B09
common_name: nir09
center_wavelength: 0.9451
full_width_half_max: 0.02
- name: B11
common_name: swir16
center_wavelength: 1.6137
full_width_half_max: 0.091
- name: B12
common_name: swir22
center_wavelength: 2.2024
full_width_half_max: 0.175
links:
- href: https://services.sentinel-hub.com/catalog/v1/
rel: root
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a
rel: self
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections
rel: parent
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a/queryables
rel: http://www.opengis.net/def/rel/ogc/1.0/queryables
type: application/schema+json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a/items
rel: items
type: application/geo+json
CatalogCollectionQueryables:
description: A JSON Schema defining the Queryables allowed in CQL2 expressions
content:
application/schema+json:
schema:
type: object
example:
$schema: https://json-schema.org/draft/2019-09/schema
$id: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a/queryables/
type: object
title: Queryables for Catalog STAC API
description: Queryable names for the Catalog STAC API Item Search filter.
properties:
eo:cloud_cover:
description: Cloud Cover
type: number
minimum: 0
maximum: 100
additionalProperties: false
CatalogCollectionsNotFound:
description: The requested URI was not found.
CatalogCollectionsServerError:
description: A server error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogException'
CatalogFeaturesFeatures:
description: |-
The response is a document consisting of features in the collection.
The features included in the response are determined by the server
based on the query parameters of the request. To support access to
larger collections without overloading the client, the API supports
paged access with links to the next page, if more features are selected
that the page size.
The `bbox` and `datetime` parameter can be used to select only a
subset of the features in the collection (the features that are in the
bounding box or time interval). The `bbox` parameter matches all features
in the collection that are not associated with a location, too. The
`datetime` parameter matches all features in the collection that are
not associated with a time stamp or interval, too.
The `limit` parameter may be used to control the subset of the
selected features that should be returned in the response, the page size.
Each page may include information about the number of selected and
returned features (`numberMatched` and `numberReturned`) as well as
links to support paging (link relation `next`).
content:
application/geo+json:
schema:
$ref: '#/components/schemas/CatalogFeaturesFeatureCollectionGeoJSON'
example:
type: FeatureCollection
features:
- stac_version: 1.0.0
stac_extensions:
- https://stac-extensions.github.io/eo/v1.0.0/schema.json
- https://stac-extensions.github.io/projection/v1.0.0/schema.json
id: S2B_MSIL2A_20201229T101329_N0214_R022_T33TUK_20201229T115442
type: Feature
geometry:
type: MultiPolygon
crs:
type: name
properties:
name: urn:ogc:def:crs:OGC::CRS84
coordinates:
- - - - 12.456873618680804
- 45.12550485074961
- - 12.499663722139168
- 44.138006014975964
- - 13.153277241744092
- 44.15044712021016
- - 13.558241653952589
- 45.144727105915536
- - 12.456873618680804
- 45.12550485074961
bbox:
- 12.456873618680804
- 44.138006014975964
- 13.558241653952589
- 45.144727105915536
properties:
datetime: '2020-12-29T10:18:19Z'
platform: sentinel-2b
instruments:
- msi
constellation: sentinel-2
gsd: 10
eo:cloud_cover: 93.93
proj:epsg: 32633
proj:bbox:
- 300000
- 4890240
- 409800
- 5000040
proj:geometry:
type: MultiPolygon
crs:
type: name
properties:
name: urn:ogc:def:crs:EPSG::32633
coordinates:
- - - - 300000.99988415383
- 5000039.000148304
- - 300000.99989785976
- 4890241.000124758
- - 352314.4884079728
- 4890241.000125499
- - 386653.8629171661
- 5000039.000149397
- - 300000.99988415383
- 5000039.000148304
assets:
data:
href: s3://sentinel-s2-l2a/tiles/33/T/UK/2020/12/29/0/
title: s3
type: inode/directory
collection: sentinel-2-l2a
links:
- href: https://services.sentinel-hub.com/catalog/v1/
rel: root
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a/items/S2B_MSIL2A_20201229T101329_N0214_R022_T33TUK_20201229T115442
rel: self
type: application/geo+json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a
rel: parent
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a
rel: collection
type: application/json
- href: https://scihub.copernicus.eu/dhus/odata/v1/Products('1da14794-939f-4ede-b490-cd3a2348b495')/$value
rel: derived_from
title: scihub download
links:
- href: https://services.sentinel-hub.com/catalog/v1/
rel: root
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a/items?bbox=13,45,14,46&limit=1&datetime=2020-12-10T00:00:00Z/2020-12-30T00:00:00Z
rel: self
type: application/geo+json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a
rel: parent
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a/items?limit=1&next=1&datetime=2020-12-10T00:00:00Z/2020-12-30T00:00:00Z&bbox=13,45,14,46
rel: next
type: application/geo+json
title: Next set of results
timeStamp: '2023-05-19T12:54:40.429059Z'
numberReturned: 1
CatalogFeaturesFeature:
description: |-
fetch the feature with id `featureId` in the feature collection
with id `collectionId`
content:
application/geo+json:
schema:
$ref: '#/components/schemas/CatalogItem'
example:
stac_version: 1.0.0
stac_extensions:
- https://stac-extensions.github.io/eo/v1.0.0/schema.json
- https://stac-extensions.github.io/projection/v1.0.0/schema.json
id: S2B_MSIL2A_20201229T101329_N0214_R022_T33TUK_20201229T115442
type: Feature
geometry:
type: MultiPolygon
crs:
type: name
properties:
name: urn:ogc:def:crs:OGC::CRS84
coordinates:
- - - - 12.456873618680804
- 45.12550485074961
- - 12.499663722139168
- 44.138006014975964
- - 13.153277241744092
- 44.15044712021016
- - 13.558241653952589
- 45.144727105915536
- - 12.456873618680804
- 45.12550485074961
bbox:
- 12.456873618680804
- 44.138006014975964
- 13.558241653952589
- 45.144727105915536
properties:
datetime: '2020-12-29T10:18:19Z'
platform: sentinel-2b
instruments:
- msi
constellation: sentinel-2
gsd: 10
eo:cloud_cover: 93.93
proj:epsg: 32633
proj:bbox:
- 300000
- 4890240
- 409800
- 5000040
proj:geometry:
type: MultiPolygon
crs:
type: name
properties:
name: urn:ogc:def:crs:EPSG::32633
coordinates:
- - - - 300000.99988415383
- 5000039.000148304
- - 300000.99989785976
- 4890241.000124758
- - 352314.4884079728
- 4890241.000125499
- - 386653.8629171661
- 5000039.000149397
- - 300000.99988415383
- 5000039.000148304
assets:
data:
href: s3://sentinel-s2-l2a/tiles/33/T/UK/2020/12/29/0/
title: s3
type: inode/directory
collection: sentinel-2-l2a
links:
- href: https://services.sentinel-hub.com/catalog/v1/
rel: root
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a/items/S2B_MSIL2A_20201229T101329_N0214_R022_T33TUK_20201229T115442
rel: self
type: application/geo+json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a
rel: parent
type: application/json
- href: https://services.sentinel-hub.com/catalog/v1/collections/sentinel-2-l2a
rel: collection
type: application/json
- href: https://scihub.copernicus.eu/dhus/odata/v1/Products('1da14794-939f-4ede-b490-cd3a2348b495')/$value
rel: derived_from
title: scihub download
CatalogFeaturesInvalidParameter:
description: A query parameter has an invalid value.
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogException'
CatalogFeaturesNotFound:
description: The requested URI was not found.
CatalogFeaturesServerError:
description: A server error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogException'
schemas:
Boom:
type: object
properties:
status:
description: HTTP status code
type: integer
format: int32
reason:
description: Reason for the error
type: string
message:
description: Friendly error message
type: string
code:
description: Code that uniquely identifies the error
type: string
enum:
- COMMON_BAD_PAYLOAD
- COMMON_NOT_FOUND
- COMMON_DATABASE_ERROR
- COMMON_UNIQUE_KEY_VIOLATION
- COMMON_INSUFFICIENT_PERMISSIONS
- COMMON_SENTINEL_ACCOUNT_EXPIRED
- COMMON_METHOD_NOT_ALLOWED
- COMMON_UNSUPPORTED_MEDIA_TYPE
- COMMON_ELASTICSEARCH_ERROR
- COMMON_UNAUTHORIZED
- COMMON_EXCEPTION
- RATE_LIMIT_STORAGE_TIMEOUT
- RATE_LIMIT_OVERLAPPING_POLICIES
- RATE_LIMIT_EXCEEDED
- RATE_LIMIT_TOKEN_COUNT_EXCEEDS_CAPACITY
- DASHBOARD_PAYPAL_SALE_ERROR
- DASHBOARD_PAYPAL_SUBSCRIPTION_ERROR
- DASHBOARD_INVALID_PAYPAL_RESPONSE
- DASHBOARD_EXECUTE_SALE_ERROR
- DASHBOARD_EXECUTE_AGREEMENT_ERROR
- DASHBOARD_IPN_ERROR
- DASHBOARD_ADYEN_SALE_ERROR
- DASHBOARD_ADYEN_PAYMENT_CANCELLED
- RENDERER_EXCEPTION
- OAUTH_ERROR
- EMAIL_OCTOPUS_ERROR
errors:
description: Additional information about the error (Optional)
type: object
RestErrorWrapper:
type: object
properties:
error:
$ref: '#/components/schemas/Boom'
DatasetType:
type: string
enum:
- sentinel-2-l1c
- sentinel-2-l2a
- landsat-8-l1c
- landsat-ot-l1
- landsat-ot-l2
- landsat-tm-l1
- landsat-tm-l2
- dem
- modis
- sentinel-1-grd
- s2gm
- sentinel-3-olci
- sentinel-3-slstr
- sentinel-5p-l2
- custom
Interpolator:
type: string
enum:
- BILINEAR
- BICUBIC
- LANCZOS
- BOX
- NEAREST
BaseDataset:
type: object
properties:
type:
description: Datasource abbreviation
type: string
id:
description: Identifier
type: string
S2L1CDataset:
title: sentinel-2-l1c
type: object
allOf:
- $ref: '#/components/schemas/BaseDataset'
- type: object
properties:
dataFilter:
$ref: '#/components/schemas/S2L1CFiltering'
processing:
$ref: '#/components/schemas/S2Processing'
type:
type: string
enum:
- sentinel-2-l1c
S2L2ADataset:
title: sentinel-2-l2a
type: object
allOf:
- $ref: '#/components/schemas/BaseDataset'
- type: object
properties:
dataFilter:
$ref: '#/components/schemas/S2L2AFiltering'
processing:
$ref: '#/components/schemas/S2Processing'
type:
type: string
enum:
- sentinel-2-l2a
LandsatDataset:
type: object
allOf:
- $ref: '#/components/schemas/BaseDataset'
- type: object
properties:
dataFilter:
$ref: '#/components/schemas/LandsatFiltering'
processing:
$ref: '#/components/schemas/BaseDatasetProcessing'
Ls8Dataset:
title: landsat-8-l1c
type: object
allOf:
- $ref: '#/components/schemas/LandsatDataset'
- type: object
properties:
type:
type: string
enum:
- landsat-8-l1c
dataFilter:
allOf:
- $ref: '#/components/schemas/LandsatFiltering'
- $ref: '#/components/schemas/LandsatTierFilteringWithRt'
L8L1Dataset:
title: landsat-ot-l1
type: object
allOf:
- $ref: '#/components/schemas/LandsatDataset'
- type: object
properties:
type:
type: string
enum:
- landsat-ot-l1
dataFilter:
allOf:
- $ref: '#/components/schemas/LandsatFiltering'
- $ref: '#/components/schemas/LandsatTierFilteringWithRt'
L8L2Dataset:
title: landsat-ot-l2
type: object
allOf:
- $ref: '#/components/schemas/LandsatDataset'
- type: object
properties:
type:
type: string
enum:
- landsat-ot-l2
dataFilter:
allOf:
- $ref: '#/components/schemas/LandsatFiltering'
- $ref: '#/components/schemas/LandsatTierFilteringWithoutRt'
LTML1Dataset:
title: landsat-tm-l1
type: object
allOf:
- $ref: '#/components/schemas/LandsatDataset'
- type: object
properties:
type:
type: string
enum:
- landsat-tm-l1
dataFilter:
allOf:
- $ref: '#/components/schemas/LandsatFiltering'
- $ref: '#/components/schemas/LandsatTierFilteringWithoutRt'
LTML2Dataset:
title: landsat-tm-l2
type: object
allOf:
- $ref: '#/components/schemas/LandsatDataset'
- type: object
properties:
type:
type: string
enum:
- landsat-tm-l2
dataFilter:
allOf:
- $ref: '#/components/schemas/LandsatFiltering'
- $ref: '#/components/schemas/LandsatTierFilteringWithoutRt'
LETML1Dataset:
title: landsat-etm-l1
type: object
allOf:
- $ref: '#/components/schemas/LandsatDataset'
- type: object
properties:
type:
type: string
enum:
- landsat-etm-l1
dataFilter:
allOf:
- $ref: '#/components/schemas/LandsatFiltering'
- $ref: '#/components/schemas/LandsatTierFilteringWithRt'
LETML2Dataset:
title: landsat-etm-l2
type: object
allOf:
- $ref: '#/components/schemas/LandsatDataset'
- type: object
properties:
type:
type: string
enum:
- landsat-etm-l2
dataFilter:
allOf:
- $ref: '#/components/schemas/LandsatFiltering'
- $ref: '#/components/schemas/LandsatTierFilteringWithoutRt'
LMSSL1Dataset:
title: landsat-mss-l1
type: object
allOf:
- $ref: '#/components/schemas/LandsatDataset'
- type: object
properties:
type:
type: string
enum:
- landsat-mss-l1
dataFilter:
allOf:
- $ref: '#/components/schemas/LandsatFiltering'
- $ref: '#/components/schemas/LandsatTierFilteringWithoutRt'
ModisDataset:
title: modis
type: object
allOf:
- $ref: '#/components/schemas/BaseDataset'
- type: object
properties:
dataFilter:
$ref: '#/components/schemas/ModisFiltering'
processing:
$ref: '#/components/schemas/BaseDatasetProcessing'
type:
type: string
enum:
- modis
DEMDataset:
title: dem
type: object
allOf:
- $ref: '#/components/schemas/BaseDataset'
- type: object
properties:
dataFilter:
$ref: '#/components/schemas/DEMFiltering'
processing:
$ref: '#/components/schemas/DEMProcessing'
type:
type: string
enum:
- dem
S1Dataset:
title: sentinel-1-grd
type: object
allOf:
- $ref: '#/components/schemas/BaseDataset'
- type: object
properties:
dataFilter:
$ref: '#/components/schemas/S1Filtering'
processing:
$ref: '#/components/schemas/S1Processing'
type:
type: string
enum:
- sentinel-1-grd
HLSDataset:
title: hls
type: object
allOf:
- $ref: '#/components/schemas/BaseDataset'
- type: object
properties:
type:
type: string
enum:
- hls
dataFilter:
$ref: '#/components/schemas/HLSFiltering'
processing:
$ref: '#/components/schemas/BaseDatasetProcessing'
BYOCDataset:
title: BYOC / BATCH / ZARR
type: object
allOf:
- type: object
properties:
dataFilter:
$ref: '#/components/schemas/BYOCFiltering'
processing:
$ref: '#/components/schemas/BaseDatasetProcessing'
type:
type: string
description: |
For a BYOC collection, set to "byoc-\", for example "byoc-017aa0ae-33a6-45d3-8548-0f7d1041b40c".
For a BATCH collection, set to "batch-\", for example "batch-9688cd56-6c70-4221-add8-a5821d0256a9".
For a ZARR collection, set to "zarr-\", for example "zarr-e2c7baec-3dfa-4523-b125-e242bdb5dd7c".
- $ref: '#/components/schemas/BaseDataset'
DateTimeInterval:
type: object
properties:
from:
type: string
description: ISO-8601 time representing start of search interval, e.g. 2019-01-31T14:00:00+01:00
format: date-time
to:
type: string
description: ISO-8601 time representing end of search interval, e.g. 2019-02-05T15:00:00+01:00.
format: date-time
Geometry:
description: The request area of interest geometry. This and/or BBOX must be specified. Coordinates need to be in easting,northing or longitude,latitude, in that order in the CRS defined in the "bounds.properties.crs" parameter. A GeoJsonObject.
type: object
oneOf:
- $ref: '#/components/schemas/Polygon'
- $ref: '#/components/schemas/MultiPolygon'
example:
type: Polygon
coordinates:
- - - 14.000701904296873
- 46.23685258143992
- - 13.822174072265625
- 46.09037664604301
- - 14.113311767578125
- 45.85080395917834
- - 14.55963134765625
- 46.038922598236
- - 14.441528320312498
- 46.28717293114449
- - 14.17236328125
- 46.29191774991382
- - 14.000701904296873
- 46.23685258143992
Polygon:
type: object
properties:
type:
type: string
enum:
- Polygon
coordinates:
type: array
items:
type: array
items:
maxItems: 2
minItems: 2
type: array
items:
type: number
format: double
MultiPolygon:
type: object
properties:
type:
type: string
enum:
- MultiPolygon
coordinates:
type: array
items:
type: array
items:
type: array
items:
maxItems: 2
minItems: 2
type: array
items:
type: number
format: double
View:
description: Links to paginate the resource
type: object
properties:
currentToken:
type: string
nextToken:
type: string
previousToken:
type: string
'@id':
type: string
format: uri
next:
type: string
format: uri
previous:
type: string
format: uri
ResourceReference:
type: object
properties:
'@id':
description: Resource URL reference
type: string
ObjectStorageInfo:
type: object
required:
- s3
properties:
s3:
$ref: '#/components/schemas/S3BucketInfo'
S3BucketInfo:
type: object
required:
- url
properties:
url:
type: string
description: A URL pointing to an S3 bucket or an object in an S3 bucket. It can contain prefixes, e.g. `s3://my-personal-bucket/some-folder` or `s3://my-personal-bucket/some-folder/some-file.gpkg`.
iamRoleARN:
type: string
description: IAM role ARN, which allows programmatic access to the S3 bucket specified in the `url` field using the recommended assume IAM role flow.
accessKey:
type: string
description: AWS access key, which allows programmatic access to the S3 bucket specified in the `url` field.
secretAccessKey:
type: string
description: AWS secret access key which must correspond to the AWS access key.
region:
type: string
description: The region where the S3 bucket is located. If omitted, the region of the deployment that the request is submitted to is assumed.
GSBucketInfo:
title: GSBucketInfo
type: object
required:
- url
- credentials
properties:
url:
type: string
description: A URL pointing to a Google Cloud Storage bucket or an object in a GCS bucket, e.g. `gs://my-bucket/some-folder` or `gs://my-bucket/some-folder/some-file.gpkg`.
credentials:
type: string
description: Base64-encoded service account credentials in JSON format.
ObjectStorageInfoV2:
type: object
oneOf:
- title: S3BucketInfo
required:
- s3
properties:
s3:
$ref: '#/components/schemas/S3BucketInfo'
- title: GSBucketInfo
x-cdse-exclude: true
required:
- gs
properties:
gs:
$ref: '#/components/schemas/GSBucketInfo'
BYOCFormat:
type: object
required:
- bitDepth
- sampleFormat
properties:
source:
description: The string that must appear in `(BAND)` placeholder. If unset, defaults to the band name.
type: string
bandIndex:
description: The index of band in 1-based numbering.
type: integer
format: int32
default: 1
bitDepth:
type: integer
format: int32
enum:
- 8
- 16
- 32
sampleFormat:
type: string
enum:
- UINT
- INT
- FLOAT
noData:
type: number
description: You can define noData either per band or per collection, but not both.
aliases:
description: |
An optional list of alias names that can be used instead of the band name in the evalscript.
Only used in certain specific collections and not settable by the user.
type: array
items:
type: string
readOnly: true
BYOCCollectionAdditionalData:
type: object
properties:
bands:
type: object
description: Limited to 100 bands.
additionalProperties:
x-additionalPropertiesName: band
$ref: '#/components/schemas/BYOCFormat'
maxMetersPerPixel:
type: number
readOnly: true
description: |
How much meters per pixel can you request with Process/OGC/Batch requests for this collection. The limit is internally increased to 500, if it's less than that.
extent:
description: The collection extent in WGS84.
$ref: '#/components/schemas/Polygon'
readOnly: true
hasSensingTimes:
type: string
enum:
- 'YES'
- PARTIALLY
- 'NO'
description: Information if tiles have sensing time.
readOnly: true
fromSensingTime:
type: string
format: date-time
description: The sensing time in ISO 8601 of the least recent tile.
readOnly: true
toSensingTime:
type: string
format: date-time
description: The sensing time in ISO 8601 of the most recent tile.
readOnly: true
BatchProcessRequest:
required:
- processRequest
type: object
properties:
id:
description: Identifier
type: string
format: uuid
readOnly: true
accountId:
description: Account that submitted the request
type: string
format: uuid
readOnly: true
created:
description: Creation time of the request in ISO 8601
type: string
format: date-time
readOnly: true
processRequest:
$ref: '#/components/schemas/ProcessRequestForBatch'
tilingGridId:
description: This parameter was moved to tilingGrid
type: integer
format: int64
deprecated: true
tilingGrid:
$ref: '#/components/schemas/TilingGridSettings'
resolution:
description: This parameter was moved to tilingGrid.
type: number
format: double
deprecated: true
output:
$ref: '#/components/schemas/BatchProcessOutput'
bucketName:
description: |
Simplified alternative for specifying where the results shall be written, where only the bucket name is specified. Specifying `some-bucket` as `bucketName` is equivalent to specifying `s3://some-bucket` as the `defaultTilePath` in `output`.
type: string
zarrOutput:
$ref: '#/components/schemas/BatchZarrParameters'
description:
description: Optional description that can be used to keep track of requests
type: string
valueEstimate:
description: |
Estimated processing value (cost) of the request in [processing units](https://docs.planet.com/platform/processing-units/). The accuracy of the estimate depends on your request, as described in the [documentation](https://docs.sentinel-hub.com/api/latest/api/batch/#cost-estimate).
type: number
format: double
readOnly: true
tileCount:
description: Number of output tiles
type: integer
format: int32
readOnly: true
tileWidthPx:
description: Tile width in pixels
type: integer
format: int32
readOnly: true
tileHeightPx:
description: Tile height in pixels
type: integer
format: int32
readOnly: true
userAction:
description: Last user action on the request
type: string
enum:
- NONE
- ANALYSE
- START
- CANCEL
readOnly: true
userActionUpdated:
description: Time of last user action update in ISO 8601
type: string
format: date-time
readOnly: true
status:
description: Current processing status of the request
type: string
enum:
- CREATED
- ANALYSING
- ANALYSIS_DONE
- PROCESSING
- DONE
- PARTIAL
- FAILED
- CANCELED
readOnly: true
error:
description: Error description for requests that were submitted but failed during analysis or processing
type: string
readOnly: true
MultiPartBatchRequest:
type: object
properties:
request:
$ref: '#/components/schemas/BatchProcessRequest'
evalscript:
description: Block of JavaScript code.
type: string
ProcessRequestOutputBatchResponse:
type: object
required:
- format
properties:
identifier:
type: string
description: |
Response's identifier is used to connect the results of an evalscript with the output file.
Each response identifier value must either match one of the values in `setup()` -> `output.id` in the evalscript (see example)
or be `userdata` (see example).
enum:
-
- userdata
format:
description: |
Format object
type: object
oneOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormatTiff'
- $ref: '#/components/schemas/ProcessRequestOutputFormatJson'
- $ref: '#/components/schemas/ProcessRequestOutputFormatZarr'
TilingGridSettings:
required:
- id
- resolution
description: |
Tiling grid settings.
type: object
properties:
id:
description: Id of one of the supported tiling grids
type: integer
format: int64
resolution:
description: Output resolution in units of the tiling grid
type: number
format: double
bufferX:
description: |
Will expand each output tile horizontally (on the left and the right) by number of pixels specified by this value.
Example:
If bufferX is 5, the output tile will be wider by 10 pixels. Coordinates of the tile are also moved accordingly by the number of pixels multiplied by resolution in each direction. However, the `tileWidthX` property returned by the API will **not** include the buffer.
type: integer
format: int16
bufferY:
description: |
Will expand each output tile vertically (on the top and the bottom) by number of pixels specified by this value. See `bufferX` above for an example.
type: integer
format: int16
BatchProcessOutput:
description: |
Specifies the tile output paths where the results shall be written. Required unless `bucketName` or `zarrOutput` is specified.
type: object
properties:
defaultTilePath:
description: |
Path or path template specifying where batch processing results shall be stored. Supported formats:
- a valid Amazon S3 URL, e.g. `s3://some-bucket/some/folder`.
A subdirectory will be created for this batch request, named after the request ID, and will contain further subdirectories with the output tiles.
This is equivalent to the template `s3://some-bucket/some/folder///.`.
- a templated Amazon S3 URL, e.g. `s3://some-bucket/some/folder/.tif`.
Templating allows custom organization of the output files.
Templates can contain the following placeholders, which are replaced by respective actual values when writing results:
- `` - the ID of your batch request,
- `` - the name (string ID) of the tile within the used tiling grid,
- `` - the numerical ID of the tile within the used tiling grid,
- `` - the output (raster) identifier (e.g. `default`),
- `` - the filename extension of the output's format (e.g. `tiff`).
The template must contain `` or `` in order to ensure unique output files.
In case of multiple outputs, the template must also contain ``.
The request will fail if files already exist.
type: string
overwrite:
description: |
If `true`, the request will **never** fail if files already exist. Instead, any existing files will be overwritten, except if `skipExisting` is `true` and **all** outputs for a tile exist.
*Note:* checking for existing files can only be done if the task is estimated to output fewer than 5000 files, e.g. a task that produces 5 outputs per tile and is estimated to span over 1000 grid tiles is too big to check. Such big tasks must either:
- ensure that the output path is unique to the task by including `` in `defaultTilePath` and all `tilePath`s,
- ensure that the output path is unique by using a simple, non-templated `defaultTilePath`, or
- suppress overwrite checks by setting `overwrite` to `true` and `skipExisting` to `false`.
default: false
type: boolean
skipExisting:
description: |
If `true`, any tiles for which **all** outputs already exist will be skipped. Tiles for which only **some** of the outputs exist will either be *fully overwritten* (if `overwrite` is `true`) or will cause the whole request to fail.
default: false
type: boolean
cogOutput:
description: If `true`, the results will be written as COG (cloud optimized GeoTIFFs). All outputs must use the TIFF format and **cannot** use `sampleType` INT8. We also suggest setting the evalscript output object `nodataValue` (more details) for correct overview generation.
default: false
type: boolean
cogParameters:
$ref: '#/components/schemas/BatchCogParameters'
createCollection:
description: |
If `true`, the results will be written as COG (cloud optimized GeoTIFFs) and a collection will be automatically created. All outputs must be single-band and use the TIFF format. Only one of *createCollection* and *collectinId* may be specified. Requires `"cogOutput"=true`.
type: boolean
default: false
collectionId:
description: |
If provided, the results will be written as COG (cloud optimized GeoTIFFs) and added to the existing collection with the specified identifier. All outputs must be single-band and use the TIFF format. The collection must exist and be compatible -- that is, must contain bands equivalent to the batch request's outputs with the same bit depths. Only one of *createCollection* and *collectinId* may be specified. Requires `"cogOutput"=true`.
type:
- string
- 'null'
default: null
BatchCogParameters:
description: |
Allows to specify COG creation parameters.
When the output is a batch collection (that is, either *createCollection* is true or *collectionId* is provided),
COG customization is limited: only the *resamplingAlgorithm* parameter can be specified in *cogParameters*,
all others must **not** be provided.
type: object
properties:
overviewLevels:
description: Corresponds to the *levels* parameter of [gdaladdo](https://gdal.org/programs/gdaladdo.html).
type: array
items:
type: integer
overviewMinSize:
description: |
Corresponds to the *minsize* parameter of [gdaladdo](https://gdal.org/programs/gdaladdo.html).
Default value minimum of blockxsize and blockysize
type: integer
resamplingAlgorithm:
type: string
enum:
- nearest
- average
- gauss
- cubic
- cubicspline
- lanczos
- average_magphase
- mode
description: Corresponds to the value of the *-r* parameter of [gdaladdo](https://gdal.org/programs/gdaladdo.html).
default: average
blockxsize:
description: Corresponds to the *BLOCKXSIZE* parameter of [GDAL GTiff raster driver](https://gdal.org/drivers/raster/gtiff.html).
type: integer
default: 1024
blockysize:
description: Corresponds to the *BLOCKYSIZE* parameter of [GDAL GTiff raster driver](https://gdal.org/drivers/raster/gtiff.html).
type: integer
default: 1024
usePredictor:
description: |
Whether predictor should be used for TIFF compression. If true, the predictor "2" will be passed to [GDAL GTiff raster driver](https://gdal.org/drivers/raster/gtiff.html) in case of integer output and "3" for FLOAT32 output. If false, the value "1" (no predictor) will be used.
type: boolean
default: true
BatchZarrParameters:
description: |
Specifies Zarr creation parameters.
If this parameter is specified, all outputs in processRequest **must** be of the type zarr/array
and neither `bucketName` nor `output` can be specified.
With Zarr output **only** WGS84 and LAEA grids **are supported**.
type: object
required:
- path
- group
properties:
path:
description: |
Path or path template specifying where batch processing results shall be stored. Supported formats:
- a valid Amazon S3 URL, e.g. `s3://some-bucket/some/folder`.
The output Zarr will be stored to this folder (prefix).
The request will fail if any files already exist in the folder.
- a templated Amazon S3 URL, e.g. `s3://some-bucket/some/folder/`.
The placeholder `` will be replaced by the ID of your batch request
and the output Zarr will be stored there.
The specified path must not contain any subfolders or Zarr files such as .zattrs, .zgroup, .zmetadata.
type: string
group:
$ref: '#/components/schemas/Group'
arrayParameters:
description: |
Parameters that will be used for all output arrays, except where overridden with `arrayOverrides`. Required unless `arrayOverrides` includes all required fields for all output arrays. All fields are standard Zarr fields. Further information can be found on the link below.
externalDocs:
description: Zarr metadata specification version 2, Attributes
url: https://zarr-specs.readthedocs.io/en/latest/v2/v2.0.html#metadata
allOf:
- $ref: '#/components/schemas/ArrayParameters'
arrayOverrides:
$ref: '#/components/schemas/ArrayOverrides'
Group:
required:
- zarr_format
description: Zarr group level parameters
properties:
zarr_format:
description: Zarr format version. Currently only version 2 is supported.
example: 2
type: integer
coordinates:
description: Allows customization of certain output coordinate system parameters
properties:
origin:
type: string
description: |
Defines the origin of the output raster/sign of resolution:
* `topLeft` (default): negative resolution along the Zarr y-axis, same as for TIFF output
* `bottomLeft`: positive resolution along the Zarr y-axis
The resolution along the Zarr x-axis is always positive.
default: topLeft
enum:
- topLeft
- bottomLeft
customAttributes:
description: |
User-defined metadata to store into the group's `.zattrs` file.
For example, to include a copyright notice in the ouptut Zarr, you could set this field to
`{"copyright": "My Company Ltd, 2023"}`.
**Note**: multiple fields are added to the group attributes by default, such as "date_modified"
and the geospatial extent. Listing any such field in `customAttributes` will override its default value.
type: object
ArrayParameters:
required:
- dtype
- chunks
- order
- fill_value
properties:
dtype:
description: |
Data type/encoding. Allowed values depend on the `sampleType` defined in `evalscript`:
* `|u1`: 8-bit unsigned integer, recommended for `sampleType` UINT8 and AUTO,
* `|i1`: 8-bit signed integer, recommended for `sampleType` INT8,
* `u2`: 16-bit unsigned integer (little and big endian, respectively), recommended for `sampleType` UINT16, allowed for UINT8 and AUTO,
* `i2`: 16-bit signed integer (little and big endian, respectively), recommended for `sampleType` INT16, allowed for UINT8, INT8 and AUTO,
* `f4`, `f8`: float (little/big endian single precision, little/big endian double precision, respectively),
recommended for `sampleType` FLOAT32, allowed for any `sampleType`.
*Recommended* values encode the chosen `sampleType` losslessly, while other allowed values encode the same values in a wider data type but do not add any more precision.
example: Process request.
required:
- evalscript
- input
properties:
input:
$ref: '#/components/schemas/ProcessRequestInput'
output:
$ref: '#/components/schemas/ProcessRequestOutputForBatch'
evalscript:
description: |
Your evalscript. For details, click
here.
type: string
ProcessRequestOutputForBatch:
type: object
properties:
responses:
type: array
description: Response object.
items:
$ref: '#/components/schemas/ProcessRequestOutputBatchResponse'
ProcessRequestInput:
title: Input
type: object
required:
- bounds
- data
properties:
bounds:
$ref: '#/components/schemas/ProcessRequestInputBounds'
data:
$ref: '#/components/schemas/ProcessRequestInputData'
ProcessRequestInputData:
description: |
The collections you wish to request, along with certain processing and filtering parameters.
To learn how to request and work with multiple collection, check the "Data Fusion" page in our documentation https://docs.sentinel-hub.com/api/latest/data/data-fusion/.
type: array
minItems: 1
items:
oneOf:
- $ref: '#/components/schemas/S2L1CDataset'
- $ref: '#/components/schemas/S2L2ADataset'
- $ref: '#/components/schemas/Ls8Dataset'
- $ref: '#/components/schemas/L8L1Dataset'
- $ref: '#/components/schemas/L8L2Dataset'
- $ref: '#/components/schemas/LETML1Dataset'
- $ref: '#/components/schemas/LETML2Dataset'
- $ref: '#/components/schemas/LTML1Dataset'
- $ref: '#/components/schemas/LTML2Dataset'
- $ref: '#/components/schemas/LMSSL1Dataset'
- $ref: '#/components/schemas/ModisDataset'
- $ref: '#/components/schemas/DEMDataset'
- $ref: '#/components/schemas/S1Dataset'
- $ref: '#/components/schemas/HLSDataset'
- $ref: '#/components/schemas/BYOCDataset'
ProcessRequestInputBounds:
title: Bounds
description: |
Defines the request bounds by specifying the bounding box and/or
geometry for the request. If both are specified it will generate an image
for the bounding box and render data contained within the geometry.
type: object
properties:
bbox:
description: |
The request bounding box. This and/or GEOMETRY must be specified.
Specify with a coordinate pair on two (opposite) vertices of the bounding
box rectangle. Coordinates need to be in easting,northing or longitude, latitude,
in that order in the CRS defined in the "bounds.properties.crs" parameter.
type: array
minItems: 4
maxItems: 4
items:
type: number
format: double
example:
- 13.822174072265625
- 45.85080395917834
- 14.55963134765625
- 46.29191774991382
geometry:
$ref: '#/components/schemas/Geometry'
properties:
$ref: '#/components/schemas/ProcessRequestInputBoundsProperties'
ProcessRequestInputBoundsProperties:
title: BoundsProperties
type: object
properties:
crs:
description: |
The coordinate reference system of the coordinates. Must be
one of the values listed at https://docs.planet.com/develop/apis/processing/#crs-support.
Default CRS is WGS84, http://www.opengis.net/def/crs/OGC/1.3/CRS84.
type: string
default: http://www.opengis.net/def/crs/OGC/1.3/CRS84
ProcessRequestOutput:
type: object
properties:
width:
description: |
The request image width. Must be an integer between 1 and 2500.
*Only one pair of parameters "width"/"height" or "resx"/"resy" must
be set at the same time.*
type: integer
format: int32
minimum: 1
maximum: 2500
default: 256
example: 512
height:
description: |
The request image height. Must be an integer between 1 and 2500.
*Only one pair of parameters "width"/"height" or "resx"/"resy" must
be set at the same time.*
type: integer
format: int32
minimum: 1
maximum: 2500
default: 256
example: 512
resx:
description: |
Spatial resolution of the request image in a horizontal direction.
Its units are defined by the CRS given in "input.bounds.properties.crs"
parameter.
*Only one pair of parameters "width"/"height" or "resx"/"resy"
must be set at the same time.*
type: number
format: double
resy:
description: |
Spatial resolution of the request image in a vertical direction.
Its units are defined by the CRS given in "input.bounds.properties.crs"
parameter.
*Only one pair of parameters "width"/"height" or "resx"/"resy"
must be set at the same time.*
type: number
format: double
responses:
type: array
description: |
Response object(s).
If you request multiple responses, set the `Accept` header to
`application/tar`, `application/x-tar` or `multipart/mixed`.
items:
$ref: '#/components/schemas/ProcessRequestOutputResponse'
ProcessRequestOutputResponse:
type: object
properties:
identifier:
type: string
description: |
Response's identifier is used to connect the results of an evalscript with the output file.
Each response identifier value must either match one of the values in `setup()` -> `output.id` in the evalscript (see example)
or be `userdata` (see example).
enum:
-
- userdata
format:
description: Format object (default is `image/png`).
type: object
oneOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormatPng'
- $ref: '#/components/schemas/ProcessRequestOutputFormatJpeg'
- $ref: '#/components/schemas/ProcessRequestOutputFormatTiff'
- $ref: '#/components/schemas/ProcessRequestOutputFormatJson'
ProcessRequestOutputFormat:
type: object
properties:
type:
type: string
description: Output format mime-type
ProcessRequestOutputFormatJpeg:
title: image/jpeg
type: object
allOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormat'
- type: object
properties:
quality:
description: Quality level of JPEG compression.
type: integer
format: int32
minimum: 0
maximum: 100
default: 90
type:
type: string
enum:
- image/jpeg
ProcessRequestOutputFormatPng:
title: image/png
type: object
allOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormat'
- type: object
properties:
type:
type: string
enum:
- image/png
ProcessRequestOutputFormatTiff:
title: image/tiff
type: object
allOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormat'
- type: object
properties:
type:
type: string
enum:
- image/tiff
ProcessRequestOutputFormatJson:
title: application/json
type: object
allOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormat'
- type: object
properties:
type:
type: string
enum:
- application/json
ProcessRequestOutputFormatZarr:
title: zarr/array
type: object
allOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormat'
- type: object
properties:
type:
type: string
enum:
- zarr/array
BaseDatasetProcessing:
type: object
properties:
upsampling:
description: |
The interpolation used when the requested
resolution is higher than the source resolution.
type: string
enum:
- NEAREST
- BILINEAR
- BICUBIC
default: NEAREST
downsampling:
description: |
The interpolation used when the requested
resolution is lower than the source resolution.
type: string
enum:
- NEAREST
- BILINEAR
- BICUBIC
default: NEAREST
S2Processing:
type: object
allOf:
- $ref: '#/components/schemas/BaseDatasetProcessing'
- type: object
properties:
harmonizeValues:
description: |
Harmonizes data values to be comparable with old processing baselines. See here for details.
type: boolean
default: true
DEMProcessing:
type: object
allOf:
- $ref: '#/components/schemas/BaseDatasetProcessing'
- type: object
properties:
clampNegative:
type: boolean
default: false
description: Mapzen DEM specific option. It replaces negative orthometric heights with 0. Useful for removing ocean bathymetry, for example.
egm:
type: boolean
default: false
description: It replaces orthometric heights with ellipsoidal heights relative to the WGS84 ellipsoid.
S1Processing:
type: object
allOf:
- $ref: '#/components/schemas/BaseDatasetProcessing'
- type: object
properties:
speckleFilter:
type: object
oneOf:
- $ref: '#/components/schemas/S1ProcessingSpeckleFilterLEE'
- $ref: '#/components/schemas/S1ProcessingSpeckleFilterNONE'
discriminator:
propertyName: type
mapping:
LEE: '#/components/schemas/S1ProcessingSpeckleFilterLEE'
NONE: '#/components/schemas/S1ProcessingSpeckleFilterNONE'
backCoeff:
type: string
enum:
- BETA0
- SIGMA0_ELLIPSOID
- GAMMA0_ELLIPSOID
- GAMMA0_TERRAIN
default: GAMMA0_ELLIPSOID
orthorectify:
type: boolean
default: false
demInstance:
type: string
enum:
- MAPZEN
- COPERNICUS
- COPERNICUS_30
- COPERNICUS_90
default: MAPZEN
radiometricTerrainOversampling:
type: number
format: double
minimum: 1
maximum: 4
default: 2
S1ProcessingSpeckleFilterLEE:
type: object
description: The Lee speckle filter. Note that processing time rapidly increases as window size increases.
required:
- type
- windowSizeX
- windowSizeY
properties:
type:
type: string
windowSizeX:
type: integer
minimum: 1
maximum: 7
description: The window size in the X direction of the source data. Odd values recommended.
windowSizeY:
type: integer
minimum: 1
maximum: 7
description: The window size in the Y direction of the source data. Odd values recommended.
S1ProcessingSpeckleFilterNONE:
type: object
description: Does NO speckle filtering. Equivalent to not having speckleFilter defined.
required:
- type
properties:
type:
type: string
S3SlstrProcessing:
type: object
allOf:
- $ref: '#/components/schemas/BaseDatasetProcessing'
- type: object
properties:
view:
description: The satellite view.
type: string
enum:
- NADIR
- OBLIQUE
default: NADIR
S5PProcessing:
type: object
allOf:
- $ref: '#/components/schemas/BaseDatasetProcessing'
- type: object
properties:
minQa:
description: |
The minimum (inclusive) pixel quality to be displayed.
For NO2, default is 75.
type: integer
format: int32
minimum: 0
maximum: 100
default: 50
S2L2AFiltering:
type: object
properties:
timeRange:
$ref: '#/components/schemas/TimeRange'
mosaickingOrder:
description: The order in which tiles are overlapped from which the output result is mosaicked.
type: string
enum:
- mostRecent
- leastRecent
- leastCC
default: mostRecent
maxCloudCoverage:
allOf:
- $ref: '#/components/schemas/MaxCloudCoverage'
- default: 100
S2L1CFiltering:
allOf:
- $ref: '#/components/schemas/S2L2AFiltering'
- type: object
properties:
previewMode:
type: string
description: |
The preview mode as defined
here.
enum:
- DETAIL
- TILE_PREVIEW
- PREVIEW
- EXTENDED_PREVIEW
default: DETAIL
LandsatFiltering:
type: object
properties:
timeRange:
$ref: '#/components/schemas/TimeRange'
mosaickingOrder:
description: The order in which tiles are overlapped from which the output result is mosaicked.
type: string
enum:
- mostRecent
- leastRecent
- leastCC
default: mostRecent
maxCloudCoverage:
allOf:
- $ref: '#/components/schemas/MaxCloudCoverage'
- default: 100
LandsatTierFilteringWithRt:
type: object
properties:
tiers:
type: string
default: ALL_TIERS
enum:
- TIER_1
- TIER_1_AND_RT
- ALL_TIERS
LandsatTierFilteringWithoutRt:
type: object
properties:
tiers:
type: string
default: ALL_TIERS
enum:
- TIER_1
- ALL_TIERS
HLSFiltering:
type: object
properties:
timeRange:
$ref: '#/components/schemas/TimeRange'
mosaickingOrder:
description: The order in which tiles are overlapped from which the output result is mosaicked.
type: string
enum:
- mostRecent
- leastRecent
- leastCC
default: mostRecent
maxCloudCoverage:
allOf:
- $ref: '#/components/schemas/MaxCloudCoverage'
- default: 100
constellation:
type: string
description: |
The selected constellation. "SENTINEL" selects only Sentinel products, while "LANDSAT" selects only Landsat products.
By default, products of both constellations are selected.
enum:
- SENTINEL
- LANDSAT
ModisFiltering:
type: object
properties:
timeRange:
$ref: '#/components/schemas/TimeRange'
mosaickingOrder:
description: The order in which tiles are overlapped from which the output result is mosaicked.
type: string
enum:
- mostRecent
- leastRecent
default: mostRecent
S1Filtering:
type: object
properties:
timeRange:
$ref: '#/components/schemas/TimeRange'
mosaickingOrder:
description: The order in which tiles are overlapped from which the output result is mosaicked.
type: string
enum:
- mostRecent
- leastRecent
default: mostRecent
resolution:
type: string
enum:
- HIGH
- MEDIUM
- FULL
acquisitionMode:
type: string
enum:
- SM
- IW
- EW
- WV
- EN
- AN
- IM
polarization:
type: string
enum:
- SH
- SV
- DH
- DV
- HH
- HV
- VV
- VH
orbitDirection:
type: string
enum:
- ASCENDING
- DESCENDING
timeliness:
type: string
enum:
- NRT10m
- NRT1h
- NRT3h
- Fast24h
- Offline
- Reprocessing
- ArchNormal
BYOCFiltering:
type: object
properties:
timeRange:
$ref: '#/components/schemas/TimeRange'
mosaickingOrder:
description: The order in which tiles are overlapped from which the output result is mosaicked.
type: string
enum:
- mostRecent
- leastRecent
default: mostRecent
DEMFiltering:
type: object
properties:
demInstance:
description: Selects DEM instance.
type: string
enum:
- MAPZEN
- COPERNICUS_30
- COPERNICUS_90
default: MAPZEN
TimeRange:
type: object
description: A time interval to filter data by acquisition date. It is defined by a start and end date and time, e.g. 2019-01-31T14:00:00+01:00. A date representation without time (e.g. 2019-01-31) will not work. Both the start and end of a time interval are inclusive and can be equal.
properties:
from:
description: The start of a search interval.
type: string
format: date-time
to:
description: The end of a search interval.
type: string
format: date-time
example:
from: '2018-10-01T00:00:00.000Z'
to: '2018-11-01T00:00:00.000Z'
MaxCloudCoverage:
description: The maximum allowable cloud coverage in percent.
type: number
format: double
minimum: 0
maximum: 100
default: 100
StatisticalRequest:
required:
- input
- aggregation
type: object
properties:
input:
$ref: '#/components/schemas/ProcessRequestInput'
aggregation:
$ref: '#/components/schemas/StatisticalRequestAggregation'
calculations:
$ref: '#/components/schemas/StatisticalRequestCalculations'
MultiPartStatisticalRequest:
type: object
properties:
request:
$ref: '#/components/schemas/StatisticalRequest'
evalscript:
description: |
Block of JavaScript code that will replace the evalscript property of the statistics request.
type: string
Aggregation:
required:
- of
description: |
Specifies how given time range is split into time intervals.
type: object
properties:
of:
description: |
Duration in ISO 8601 duration format, check [here](https://docs.planet.com/develop/apis/statistical/#split-the-requested-timerange-into-multiple-time-intervals) for more details.
type: string
lastIntervalBehavior:
description: |
This parameter specifies the behavior of the last interval if the given time range isn't divisible by the provided aggregation interval.
* SKIP - skip the last interval (default behavior)
* SHORTEN - shortens the last interval so that it ends at the end of provided time range.
* EXTEND - extends the last interval over the end of the provided time range so that all intervals are of equal duration
type: string
enum:
- SKIP
- SHORTEN
- EXTEND
CalculationDefinition:
description: The name of the output (as key) for which a calculation of statistics and histogram are defined below. Each key must match with one of the `output.id` specified in a `setup()` function in an evalscript or be "default". If it is "default", the specified statistics and histogram will be calculated for all outputs for which calculation of statistics is not explicitly defined.
type: object
properties:
histograms:
description: |
Histogram definitions. They can be specified differently for each band in this output.
type: object
additionalProperties:
x-additionalPropertiesName: band name
$ref: '#/components/schemas/HistogramDefinition'
statistics:
description: |
Statistics definitions. It can be specified differently for each band in this output.
type: object
additionalProperties:
x-additionalPropertiesName: band name
$ref: '#/components/schemas/StatisticsDefinition'
HistogramDefinition:
description: |
The name of the band (as key) for which a histogram is defined below. Each key must match with one of the band names
`output.bands` specified in a `setup()` function in an evalscript (for this output) or be "default". If it is "default",
the histogram specified below will be returned for all bands of this output for which histogram is not explicitly defined.
Each band's histogram may be defined by providing one of the following properties:
* `binWidth`
* `nBins`
* exact bins provided by `bins` array
[This example](https://docs.planet.com/develop/apis/statistical/examples/#multiple-outputs-with-different-datamasks-multi-band-output-with-custom-bands-names-and-different-histogram-types)
shows how to specify histograms using different parameters.
Histograms can be calculated using float or integer math. Providing `lowEdge` and `highEdge` or `binWidth` or
elements of the `bins` array as integer numbers will select integer math, otherwise float will be used.
Output type of the band's output (specified in `output.sampleType` in the `setup()` function in the evalscript)
must match the respective histogram math.
If `lowEdge` and `highEdge` are not explicitly provided, min and max values are used, respectively.
type: object
properties:
nBins:
description: |
Number of bins in the histogram.
type: number
binWidth:
description: |
Bin width.
type: number
lowEdge:
description: |
Values lower to this will not be included in any of the histogram's bins.
type: number
highEdge:
description: |
Values higher to this will not be included in any of the histogram's bins.
type: number
bins:
description: |
Explicitly defined bins.
Array [v1,v2,v3,v4] will define the following bins:
[v1,v2), [v2,v3), [v3,v4]
type: array
items:
type: number
minItems: 2
StatisticsDefinition:
description: Single band statistics definition. The name of the band (as key) for which a calculation of statistic is defined below. Each key must match with one of the band names `output.bands` specified in a `setup()` function in an evalscript (for this output) or be "default". If it is "default", the statistics specified below will be calculated for all bands of this output for which calculation of statistics is not explicitly defined.
type: object
properties:
percentiles:
description: Calculate percentiles.
type: object
properties:
k:
description: |
Percentiles definition as array of values between [0,1], [see this example](https://docs.planet.com/develop/apis/statistical/examples/#statistics-histogram-and-percentiles-for-one-single-band-output).
type: array
items:
type: number
format: double
minimum: 0
maximum: 1
StatisticalRequestAggregationWithoutEvalscript:
required:
- timeRange
- aggregationInterval
description: |
Specifies how data is aggregated and processed before statistics is calculated. `timeRange` and `aggregationInterval` combined define sampling intervals in time dimension. Width/height or resx/resy combined with `input.bounds` define a sample matrix (i.e. "image") in spatial dimension.
type: object
properties:
timeRange:
$ref: '#/components/schemas/StatisticalDateTimeInterval'
aggregationInterval:
$ref: '#/components/schemas/Aggregation'
width:
description: |
Width of the sample matrix.
_Only one pair of parameters "width"/"height" or "resx"/"resy" must be set at the same time._
type: integer
format: int32
minimum: 1
maximum: 2500
default: 256
example: 512
height:
description: |
Height of the sample matrix.
_Only one pair of parameters "width"/"height" or "resx"/"resy" must be set at the same time._
type: integer
format: int32
minimum: 1
maximum: 2500
default: 256
example: 512
resx:
description: |
Spatial resolution used to calculate the width of the sample matrix from the `input.bounds`.
Its units are defined by the CRS given in `input.bounds.properties.crs`
parameter.
_Only one pair of parameters "width"/"height" or "resx"/"resy" must be set at the same time._
type: number
format: double
resy:
description: |
Spatial resolution used to calculate the height of the sample matrix from the `input.bounds`.
Its units are defined by the CRS given in `input.bounds.properties.crs`
parameter.
_Only one pair of parameters "width"/"height" or "resx"/"resy" must be set at the same time._
type: number
format: double
StatisticalDateTimeInterval:
type: object
required:
- from
- to
properties:
from:
type: string
description: ISO-8601 time representing start of search interval, e.g. 2019-01-31T14:00:00+01:00
format: date-time
to:
type: string
description: ISO-8601 time representing end of search interval, e.g. 2019-02-05T15:00:00+01:00.
format: date-time
StatisticalRequestAggregation:
type: object
allOf:
- $ref: '#/components/schemas/StatisticalRequestAggregationWithoutEvalscript'
- type: object
required:
- evalscript
properties:
evalscript:
description: |
Your evalscript. For details, click
here.
The evalscript will be executed once for each time interval defined by `timeRange` and `aggregationInterval`.
type: string
StatisticalRequestCalculations:
description: |
Define which statistics and histogram to calculate.
It can be specified differently for each evalscript output.
If omitted only the basic statistic (min, max, mean, stDev) will be calculated.
type: object
additionalProperties:
x-additionalPropertiesName: output name
$ref: '#/components/schemas/CalculationDefinition'
StatisticalResponse:
description: |
Statistics
type: object
properties:
status:
description: |
Overall status of the request.
type: string
enum:
- OK
- PARTIAL
- FAILED
geometryPixelCount:
description: |
Number of pixels intersecting the request geometry.
type: integer
data:
description: |
Statistics for intervals, where data is available.
type: array
items:
type: object
properties:
interval:
description: |
Interval on which, there's actual data
$ref: '#/components/schemas/DateTimeInterval'
outputs:
description: |
Per output statistics.
Output names are defined in evalscript.
type: object
additionalProperties:
x-additionalPropertiesName: output name
type: object
properties:
bands:
description: |
Per band statistics and histograms.
type: object
additionalProperties:
x-additionalPropertiesName: band name
$ref: '#/components/schemas/BandStatistics'
error:
description: |
If an error occurs when calculating statistics for a given interval it is reported here.
type: object
properties:
type:
type: string
enum:
- BAD_REQUEST
- EXECUTION_ERROR
- TIMEOUT
BandStatistics:
type: object
description: |
Per band statistics and histograms
properties:
histogram:
description: Histogram
type: object
properties:
overflow:
description: |
Number of samples above `highEdge` value
type: number
format: integer
underflow:
description: |
Number of samples below `lowEdge` value
type: number
format: integer
bins:
description: |
Histogram bins
type: array
items:
type: object
properties:
lowEdge:
description: Bin's low edge (inclusive)
type: number
highEdge:
description: Bin's high edge (not inclusive unless last bin)
type: number
count:
description: number of samples that fall into the bin
type: number
format: integer
stats:
type: object
description: Statistics
properties:
min:
description: minimum value
type: number
max:
description: maximum value
type: number
mean:
description: mean value
type: number
stDev:
description: standard deviation
type: number
sampleCount:
description: total number of samples
type: number
format: integer
noDataCount:
description: total number of samples without value
type: number
format: integer
percentiles:
description: |
Percentile to percentile value map.
type: object
additionalProperties:
x-additionalPropertiesName: percentile [0,1]
type: number
format: double
CatalogException:
title: exception
type: object
description: 'Information about the exception: an error code plus an optional description.'
required:
- code
properties:
code:
type: string
description:
type: string
CatalogConformanceClasses:
title: conformanceClasses
type: object
required:
- conformsTo
properties:
conformsTo:
description: A list of all conformance classes implemented by the server. In addition to the STAC-specific conformance classes, all OGC-related conformance classes listed at `GET /conformances` must be listed here. This entry should mirror what `GET /conformances` returns, if implemented.
type: array
items:
type: string
CatalogCatalog:
title: catalog
type: object
required:
- stac_version
- type
- id
- description
- links
properties:
stac_version:
$ref: '#/components/schemas/CatalogStacVersion'
stac_extensions:
$ref: '#/components/schemas/CatalogStacExtensions'
type:
type: string
id:
type: string
title:
type: string
description:
type: string
links:
$ref: '#/components/schemas/CatalogLinks'
CatalogCollection:
title: collection
type: object
required:
- stac_version
- type
- id
- description
- license
- extent
- links
properties:
stac_version:
$ref: '#/components/schemas/CatalogStacVersion'
stac_extensions:
$ref: '#/components/schemas/CatalogStacExtensions'
type:
type: string
id:
description: identifier of the collection used, for example, in URIs
type: string
title:
description: human readable title of the collection
type: string
description:
type: string
description: |-
Detailed multi-line description to fully explain the catalog or collection.
[CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich text representation.
keywords:
type: array
description: List of keywords describing the collection.
items:
type: string
license:
$ref: '#/components/schemas/CatalogLicense'
extent:
$ref: '#/components/schemas/CatalogExtent'
providers:
$ref: '#/components/schemas/CatalogProviders'
links:
$ref: '#/components/schemas/CatalogLinks'
summaries:
description: |-
Summaries are either a unique set of all available values *or*
statistics. Statistics by default only specify the range (minimum
and maximum values), but can optionally be accompanied by additional
statistical values. The range can specify the potential range of
values, but it is recommended to be as precise as possible. The set
of values must contain at least one element and it is strongly
recommended to list all values. It is recommended to list as many
properties as reasonable so that consumers get a full overview of
the Collection. Properties that are covered by the Collection
specification (e.g. `providers` and `license`) may not be repeated
in the summaries.
type: object
additionalProperties:
oneOf:
- type: array
title: Set of values
items:
description: A value of any type.
- type: object
title: Statistics
description: |-
By default, only ranges with a minimum and a maximum value can
be specified. Ranges can be specified for ordinal values only,
which means they need to have a rank order. Therefore, ranges
can only be specified for numbers and some special types of
strings. Examples: grades (A to F), dates or times.
Implementors are free to add other derived statistical values
to the object, for example `mean` or `stddev`.
required:
- min
- max
properties:
min:
anyOf:
- type: string
- type: number
max:
anyOf:
- type: string
- type: number
CatalogExtent:
title: extent
type: object
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.
The first item in the array describes the overall extent of
the data. All subsequent items describe more precise extents,
e.g., to identify clusters of data.
Clients only interested in the overall extent will only need to
access the first item in each array.
required:
- spatial
- temporal
properties:
spatial:
description: The spatial extent of the features in the collection.
type: object
required:
- bbox
properties:
bbox:
description: |-
One or more bounding boxes that describe the spatial extent of the dataset.
The first bounding box describes the overall spatial
extent of the data. All subsequent bounding boxes describe
more precise bounding boxes, e.g., to identify clusters of data.
Clients only interested in the overall spatial extent will
only need to access the first item in each array.
type: array
minItems: 1
items:
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).
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.
type: array
minItems: 4
maxItems: 6
items:
type: number
example:
- -180
- -90
- 180
- 90
crs:
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.
type: string
enum:
- http://www.opengis.net/def/crs/OGC/1.3/CRS84
default: http://www.opengis.net/def/crs/OGC/1.3/CRS84
temporal:
description: The temporal extent of the features in the collection.
type: object
required:
- interval
properties:
interval:
description: |-
One or more time intervals that describe the temporal extent of the dataset.
The first time interval describes the overall
temporal extent of the data. All subsequent time intervals describe
more precise time intervals, e.g., to identify clusters of data.
Clients only interested in the overall extent will only need
to access the first item in each array.
type: array
minItems: 1
items:
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.
The value `null` is supported and indicates an open time interval.
type: array
minItems: 2
maxItems: 2
items:
oneOf:
- type: string
format: date-time
- type: 'null'
example:
- '2011-11-11T12:22:11Z'
- null
trs:
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.
type: string
enum:
- http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
default: http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
CatalogLinks:
title: links
type: array
items:
$ref: '#/components/schemas/CatalogLink'
CatalogLink:
title: Link
type: object
required:
- href
- rel
properties:
href:
type: string
format: uri
description: The location of the resource
rel:
type: string
description: Relation type of the link
type:
type: string
description: The media type of the resource
title:
type: string
description: Title of the resource
method:
type: string
enum:
- GET
- POST
default: GET
description: Specifies the HTTP method that the resource expects
headers:
type: object
description: Object key values pairs they map to headers
example:
Accept: application/json
body:
type: object
description: For POST requests, the resource can specify the HTTP body as a JSON object.
merge:
type: boolean
default: false
description: |-
This is only valid when the server is responding to POST request.
If merge is true, the client is expected to merge the body value
into the current request body before following the link.
This avoids passing large post bodies back and forth when following
links, particularly for navigating pages through the `POST /search`
endpoint.
NOTE: To support form encoding it is expected that a client be able
to merge in the key value pairs specified as JSON
`{"next": "token"}` will become `&next=token`.
CatalogLicense:
title: license
type: string
description: |-
License(s) of the data as a SPDX
[License identifier](https://spdx.org/licenses/). Alternatively, use
`proprietary` if the license is not on the SPDX license list or
`various` if multiple licenses apply. In these two cases links to the
license texts SHOULD be added, see the `license` link relation type.
Non-SPDX licenses SHOULD add a link to the license text with the
`license` relation in the links section. The license text MUST NOT be
provided as a value of this field. If there is no public license URL
available, it is RECOMMENDED to host the license text and
link to it.
example: Apache-2.0
CatalogProviders:
title: providers
type: array
description: A list of providers, which may include all organizations capturing or processing the data or the hosting provider. Providers should be listed in chronological order with the most recent provider being the last element of the list.
items:
type: object
title: Provider
required:
- name
properties:
name:
description: The name of the organization or the individual.
type: string
description:
description: |-
Multi-line description to add further provider information such as processing details for processors and producers, hosting details for hosts or basic contact information.
[CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich text representation.
type: string
roles:
description: |-
Roles of the provider.
The provider's role(s) can be one or more of the following
elements:
* licensor: The organization that is licensing the dataset under
the license specified in the collection's license field.
* producer: The producer of the data is the provider that
initially captured and processed the source data, e.g. ESA for
Sentinel-2 data.
* processor: A processor is any provider who processed data to a
derived product.
* host: The host is the actual provider offering the data on their
storage. There should be no more than one host, specified as last
element of the list.
type: array
items:
type: string
enum:
- producer
- licensor
- processor
- host
url:
description: Homepage on which the provider describes the dataset and publishes contact information.
type: string
format: url
CatalogBbox:
title: bbox
description: |-
Only features that have a geometry that intersects the bounding box are
selected. The bounding box is provided as four or six numbers,
depending on whether the coordinate reference system includes a
vertical axis (elevation or depth):
* Lower left corner, coordinate axis 1
* Lower left corner, coordinate axis 2
* Lower left corner, coordinate axis 3 (optional)
* Upper right corner, coordinate axis 1
* Upper right corner, coordinate axis 2
* Upper right corner, coordinate axis 3 (optional)
The coordinate reference system of the values is WGS84
longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).
For WGS84 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 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: The bounding box of the New Zealand Exclusive Economic Zone in
WGS 84 (from 160.6°E to 170°W and from 55.95°S to 25.89°S) would be
represented in JSON as `[160.6, -55.95, -170, -25.89]` and in a query as
`bbox=160.6,-55.95,-170,-25.89`.
type: array
minItems: 4
maxItems: 6
items:
type: number
example:
- -110
- 39.5
- -105
- 40.5
CatalogDatetime:
title: datetime
description: |-
The searchable date and time of the assets, in UTC.
It is formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6).
`null` is allowed, but requires `start_datetime` and `end_datetime` from common metadata to be set.
oneOf:
- type: string
format: date-time
- type: 'null'
example: '2018-02-12T00:00:00Z'
CatalogStacVersion:
title: STAC version
type: string
example: 1.0.0
CatalogStacExtensions:
title: STAC extensions
type: array
uniqueItems: true
items:
anyOf:
- title: Reference to a JSON Schema
type: string
format: uri
- title: Reference to a core extension
type: string
CatalogItem:
title: item
description: A GeoJSON Feature augmented with foreign members that contain values relevant to a STAC entity
type: object
required:
- stac_version
- id
- type
- geometry
- bbox
- links
- properties
- assets
properties:
stac_version:
$ref: '#/components/schemas/CatalogStacVersion'
stac_extensions:
$ref: '#/components/schemas/CatalogStacExtensions'
id:
$ref: '#/components/schemas/CatalogItemId'
bbox:
$ref: '#/components/schemas/CatalogBbox'
geometry:
$ref: '#/components/schemas/CatalogGeometryGeoJSON'
type:
$ref: '#/components/schemas/CatalogItemType'
links:
$ref: '#/components/schemas/CatalogLinks'
properties:
$ref: '#/components/schemas/CatalogProperties'
assets:
$ref: '#/components/schemas/CatalogAssets'
example:
stac_version: 1.0.0
stac_extensions:
- https://stac-extensions.github.io/eo/v1.0.0/schema.json
- https://stac-extensions.github.io/view/v1.0.0/schema.json
type: Feature
id: CS3-20160503_132131_05
bbox:
- -122.59750209
- 37.48803556
- -122.2880486
- 37.613537207
geometry:
type: Polygon
coordinates:
- - - -122.308150179
- 37.488035566
- - -122.597502109
- 37.538869539
- - -122.576687533
- 37.613537207
- - -122.2880486
- 37.562818007
- - -122.308150179
- 37.488035566
properties:
datetime: '2016-05-03T13:22:30.040Z'
title: A CS3 item
license: PDDL-1.0
providers:
- name: CoolSat
roles:
- producer
- licensor
url: https://cool-sat.com/
view:sun_azimuth: 168.7
eo:cloud_cover: 0.12
view:off_nadir: 1.4
platform: coolsat2
instruments:
- cool_sensor_v1
eo:bands: []
view:sun_elevation: 33.4
eo:gsd: 0.512
collection: CS3
links:
- rel: self
href: http://cool-sat.com/collections/CS3/items/20160503_132130_04
- rel: root
href: http://cool-sat.com/collections
- rel: parent
href: http://cool-sat.com/collections/CS3
- rel: collection
href: http://cool-sat.com/collections/CS3
assets:
analytic:
href: http://cool-sat.com/static-catalog/CS3/20160503_132130_04/analytic.tif
title: 4-Band Analytic
thumbnail:
href: http://cool-sat.com/static-catalog/CS3/20160503_132130_04/thumbnail.png
title: Thumbnail
CatalogItemId:
title: itemId
type: string
description: Provider identifier, a unique ID.
CatalogItemType:
title: itemType
type: string
description: The GeoJSON type
enum:
- Feature
CatalogProperties:
title: properties
type: object
required:
- datetime
description: provides the core metadata fields plus extensions
properties:
datetime:
$ref: '#/components/schemas/CatalogDatetime'
additionalProperties:
description: Any additional properties added in via Item specification or extensions.
CatalogAssets:
title: assets
type: object
additionalProperties:
type: object
required:
- href
properties:
href:
type: string
format: url
description: Link to the asset object
title:
type: string
description: Displayed title
example: Thumbnail
description:
type: string
description: |-
Multi-line description to explain the asset.
[CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich text representation.
example: Small 256x256px PNG thumbnail for a preview.
type:
type: string
description: Media type of the asset
example: image/png
roles:
type: array
items:
type: string
description: Purposes of the asset
example:
- thumbnail
CatalogGeometryGeoJSON:
title: geometryGeoJSON
oneOf:
- $ref: '#/components/schemas/CatalogPointGeoJSON'
- $ref: '#/components/schemas/CatalogMultipointGeoJSON'
- $ref: '#/components/schemas/CatalogLinestringGeoJSON'
- $ref: '#/components/schemas/CatalogMultilinestringGeoJSON'
- $ref: '#/components/schemas/CatalogPolygonGeoJSON'
- $ref: '#/components/schemas/CatalogMultipolygonGeoJSON'
- $ref: '#/components/schemas/CatalogGeometrycollectionGeoJSON'
CatalogGeometrycollectionGeoJSON:
title: geometrycollectionGeoJSON
type: object
required:
- type
- geometries
properties:
type:
type: string
enum:
- GeometryCollection
geometries:
type: array
items:
$ref: '#/components/schemas/CatalogGeometryGeoJSON'
CatalogLinestringGeoJSON:
title: linestringGeoJSON
type: object
required:
- type
- coordinates
properties:
type:
type: string
enum:
- LineString
coordinates:
type: array
minItems: 2
items:
type: array
minItems: 2
items:
type: number
CatalogMultilinestringGeoJSON:
title: multilinestringGeoJSON
type: object
required:
- type
- coordinates
properties:
type:
type: string
enum:
- MultiLineString
coordinates:
type: array
items:
type: array
minItems: 2
items:
type: array
minItems: 2
items:
type: number
CatalogMultipointGeoJSON:
title: multipointGeoJSON
type: object
required:
- type
- coordinates
properties:
type:
type: string
enum:
- MultiPoint
coordinates:
type: array
items:
type: array
minItems: 2
items:
type: number
CatalogMultipolygonGeoJSON:
title: multipolygonGeoJSON
type: object
required:
- type
- coordinates
properties:
type:
type: string
enum:
- MultiPolygon
coordinates:
type: array
items:
type: array
items:
type: array
minItems: 4
items:
type: array
minItems: 2
items:
type: number
CatalogPointGeoJSON:
title: pointGeoJSON
type: object
required:
- type
- coordinates
properties:
type:
type: string
enum:
- Point
coordinates:
type: array
minItems: 2
items:
type: number
CatalogPolygonGeoJSON:
title: polygonGeoJSON
type: object
required:
- type
- coordinates
properties:
type:
type: string
enum:
- Polygon
coordinates:
type: array
items:
type: array
minItems: 4
items:
type: array
minItems: 2
items:
type: number
CatalogFeatureCollectionGeoJSON:
title: featureCollectionGeoJSON
type: object
required:
- type
- features
properties:
type:
type: string
enum:
- FeatureCollection
features:
type: array
items:
$ref: '#/components/schemas/CatalogFeatureGeoJSON'
CatalogFeatureGeoJSON:
title: featureGeoJSON
type: object
required:
- type
- geometry
- properties
properties:
type:
type: string
enum:
- Feature
geometry:
$ref: '#/components/schemas/CatalogGeometryGeoJSON'
properties:
type:
- object
- 'null'
CatalogCoreLandingPage:
allOf:
- $ref: '#/components/schemas/CatalogCatalog'
- $ref: '#/components/schemas/CatalogConformanceClasses'
CatalogCollectionsCollections:
title: collections
type: object
required:
- links
- collections
properties:
links:
$ref: '#/components/schemas/CatalogLinks'
collections:
type: array
items:
$ref: '#/components/schemas/CatalogCollection'
CatalogFeaturesFeatureCollectionGeoJSON:
title: featureCollectionGeoJSON
allOf:
- $ref: '#/components/schemas/CatalogFeatureCollectionGeoJSON'
- type: object
required:
- features
properties:
features:
type: array
items:
$ref: '#/components/schemas/CatalogItem'
links:
$ref: '#/components/schemas/CatalogLinks'
timeStamp:
$ref: '#/components/schemas/CatalogFeaturesTimeStamp'
numberReturned:
$ref: '#/components/schemas/CatalogFeaturesNumberReturned'
CatalogFeaturesNumberReturned:
title: numberReturned
description: |-
The number of features in the feature collection.
A server may omit this information in a response, if the information
about the number of features is not known or difficult to compute.
If the value is provided, the value must be identical to the number
of items in the "features" array.
type: integer
minimum: 0
example: 10
CatalogFeaturesTimeStamp:
title: timeStamp
description: This property indicates the time and date when the response was generated.
type: string
format: date-time
example: '2017-08-17T08:05:32Z'
CatalogItemSearchFieldsSearchBody:
title: searchBody
type: object
x-stac-api-fragment: fields
description: |-
**Extension:** Fields
Determines the shape of the features in the response
properties:
fields:
$ref: '#/components/schemas/CatalogItemSearchFieldsFields'
CatalogItemSearchFieldsFields:
title: fields
description: |
The include and exclude members specify an array of
property names that are either included or excluded
from the result, respectively. If both include and
exclude are specified, include takes precedence.
Values should include the full JSON path of the property.
type: object
properties:
include:
type: array
items:
type: string
exclude:
type: array
items:
type: string
example:
include:
- id
- properties.eo:cloud_cover
exclude:
- geometry
- properties.datetime
CatalogItemSearchContextItemCollection:
title: itemCollection
type: object
description: |-
**Extension:** Context
Augments lists of resources with the number of returned and matches resource and the given limit for the request.
x-stac-api-fragment: context
properties:
context:
type: object
required:
- returned
properties:
next:
type: integer
minimum: 0
example: 1
limit:
type: integer
minimum: 0
example: 1
returned:
type: integer
minimum: 0
example: 1
CatalogItemSearchItemCollectionItemCollection:
title: itemCollection
description: A GeoJSON FeatureCollection augmented with foreign members that contain values relevant to a STAC entity
type: object
required:
- features
- type
properties:
type:
type: string
enum:
- FeatureCollection
features:
type: array
items:
$ref: '#/components/schemas/CatalogItem'
links:
type: array
description: An array of links. Can be used for pagination, e.g. by providing a link with the `next` relation type.
items:
$ref: '#/components/schemas/CatalogLink'
example:
- rel: next
href: https://services.sentinel-hub.com/catalog/v1/search?next=10
Cql2BooleanExpression:
title: booleanExpression
oneOf:
- $ref: '#/components/schemas/Cql2AndExpression'
- $ref: '#/components/schemas/Cql2NotExpression'
- $ref: '#/components/schemas/Cql2ComparisonPredicate'
Cql2AndExpression:
title: andExpression
type: object
required:
- op
- args
properties:
op:
type: string
enum:
- and
args:
type: array
minItems: 2
items:
$ref: '#/components/schemas/Cql2BooleanExpression'
Cql2NotExpression:
title: cql2NotExpression
type: object
required:
- op
- args
properties:
op:
type: string
enum:
- not
args:
type: array
minItems: 1
maxItems: 1
items:
$ref: '#/components/schemas/Cql2BooleanExpression'
Cql2ComparisonPredicate:
title: comparisonPredicate
oneOf:
- $ref: '#/components/schemas/Cql2BinaryComparisonPredicate'
- $ref: '#/components/schemas/Cql2IsBetweenPredicate'
Cql2BinaryComparisonPredicate:
title: binaryComparisonPredicate
type: object
required:
- op
- args
properties:
op:
type: string
enum:
- '='
- <
- '>'
- <=
- '>='
- <>
args:
$ref: '#/components/schemas/Cql2ScalarOperands'
Cql2ScalarOperands:
title: scalarOperands
type: array
minItems: 2
maxItems: 2
items:
$ref: '#/components/schemas/Cql2ScalarExpression'
Cql2ScalarExpression:
title: scalarExpression
oneOf:
- $ref: '#/components/schemas/Cql2CharacterExpression'
- $ref: '#/components/schemas/Cql2NumericExpression'
Cql2IsBetweenPredicate:
title: isBetweenPredicate
type: object
required:
- op
- args
properties:
op:
type: string
enum:
- between
args:
$ref: '#/components/schemas/Cql2IsBetweenOperands'
Cql2IsBetweenOperands:
title: isBetweenOperands
type: array
minItems: 3
maxItems: 3
items:
$ref: '#/components/schemas/Cql2NumericExpression'
Cql2NumericExpression:
title: numericExpression
oneOf:
- type: number
- $ref: '#/components/schemas/Cql2PropertyRef'
Cql2CharacterExpression:
title: characterExpression
oneOf:
- type: string
- $ref: '#/components/schemas/Cql2PropertyRef'
Cql2PropertyRef:
title: propertyRef
type: object
required:
- property
properties:
property:
type: string
CatalogItemSearchFilterSearchBody:
title: searchBody
type: object
x-stac-api-fragment: filter
description: |-
**Extension:** Filter
A filter for properties in Items.
properties:
filter:
$ref: '#/components/schemas/CatalogItemSearchFilterFilterCql2Json'
filter-lang:
$ref: '#/components/schemas/CatalogItemSearchFilterFilterLang'
filter-crs:
$ref: '#/components/schemas/CatalogItemSearchFilterFilterCrs'
CatalogItemSearchFilterFilterCql2Text:
title: filter-cql2-text
description: |
A CQL2 filter expression in the 'cql2-text' encoding.
type: string
CatalogItemSearchFilterFilterCql2Json:
title: filter-cql2-json
allOf:
- $ref: '#/components/schemas/Cql2BooleanExpression'
CatalogItemSearchFilterFilterLang:
title: filter-lang
description: |
The CQL2 filter encoding that the 'filter' value uses.
type: string
enum:
- cql2-text
- cql2-json
CatalogItemSearchFilterFilterCrs:
title: filter-crs
description: |
The coordinate reference system (CRS) used by spatial literals in the 'filter' value. The only value that STAC APIs must
accept is 'http://www.opengis.net/def/crs/OGC/1.3/CRS84'.
type: string
format: uri
CatalogItemSearchDistinctSearchBody:
title: searchBody
type: object
x-stac-api-fragment: distinct
description: |-
**Extension:** Distinct
Return distinct values of specified property.
properties:
distinct:
$ref: '#/components/schemas/CatalogItemSearchDistinctDistinct'
CatalogItemSearchDistinctDistinct:
title: distinct
description: |
Return distinct values of specified property.
type: string
CatalogItemSearchSearchBody:
title: searchBody
description: The search criteria
type: object
required:
- datetime
- collections
allOf:
- $ref: '#/components/schemas/CatalogItemSearchBboxFilter'
- $ref: '#/components/schemas/CatalogItemSearchDatetimeFilter'
- $ref: '#/components/schemas/CatalogItemSearchIntersectsFilter'
- $ref: '#/components/schemas/CatalogItemSearchCollectionsFilter'
- $ref: '#/components/schemas/CatalogItemSearchIdsFilter'
- $ref: '#/components/schemas/CatalogItemSearchLimitFilter'
CatalogItemSearchLimit:
title: limit
type: integer
minimum: 1
example: 10
default: 10
maximum: 100
description: |-
The optional limit parameter limits the number of items that are presented in the response document.
If the limit parameter value is greater than advertised limit maximum, the server must return the
maximum possible number of items, rather than responding with an error.
Only items are counted that are on the first level of the collection in the response document.
Nested objects contained within the explicitly requested items must not be counted.
Minimum = 1. Maximum = 100. Default = 10.
CatalogItemSearchBboxFilter:
title: bboxFilter
type: object
description: Only return items that intersect the provided bounding box.
properties:
bbox:
$ref: '#/components/schemas/CatalogBbox'
CatalogItemSearchCollectionsArray:
title: collectionsArray
type: array
description: |-
Array of Collection IDs to include in the search for items.
Only Item objects in one of the provided collections will be searched.
items:
type: string
minItems: 1
maxItems: 1
CatalogItemSearchIds:
title: ids
type: array
description: Array of Item ids to return.
items:
type: string
CatalogItemSearchDatetimeFilter:
title: datetimeFilter
description: An object representing a date+time based filter.
type: object
properties:
datetime:
$ref: '#/components/schemas/CatalogItemSearchDatetimeInterval'
CatalogItemSearchIntersectsFilter:
title: intersectsFilter
type: object
description: Only returns items that intersect with the provided polygon.
properties:
intersects:
$ref: '#/components/schemas/CatalogGeometryGeoJSON'
CatalogItemSearchLimitFilter:
title: limitFilter
type: object
description: Only returns maximum number of results (page size)
properties:
limit:
$ref: '#/components/schemas/CatalogItemSearchLimit'
CatalogItemSearchIdsFilter:
title: idsFilter
type: object
description: Only returns items that match the array of given ids
properties:
ids:
$ref: '#/components/schemas/CatalogItemSearchIds'
CatalogItemSearchCollectionsFilter:
title: collectionsFilter
type: object
description: Only returns the collections specified
properties:
collections:
$ref: '#/components/schemas/CatalogItemSearchCollectionsArray'
CatalogItemSearchDatetimeInterval:
title: datetimeInterval
type: string
description: |-
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:
* A date-time: "2018-02-12T23:20:50Z"
* A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
* Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"
Only features that have a temporal property that intersects the value of
`datetime` are selected.
If a feature has multiple temporal properties, it is the decision of the
server whether only a single temporal property is used to determine
the extent or all relevant temporal properties.
example: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z
x-tagGroups:
- name: Catalog
tags:
- catalog_core
- catalog_collections
- catalog_features
- catalog_item_search