openapi: 3.1.0
info:
title: API Reference async_process batch_v2_process API
version: 1.0.0
contact:
name: Sentinel Hub
description: '**NOTE:** _Asynchronous Processing API is currently in beta release._
'
servers:
- url: https://services.sentinel-hub.com
tags:
- name: batch_v2_process
x-displayName: Process
paths:
/batch/v2/process:
post:
operationId: createNewBatchV2ProcessingRequest
summary: Submit new batch processing request
tags:
- batch_v2_process
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BatchV2ProcessRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MultiPartBatchV2Request'
responses:
'201':
description: Request submitted
content:
application/json:
schema:
$ref: '#/components/schemas/BatchV2ProcessTask'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
security:
- OAuth2: []
get:
summary: Query batch process requests
operationId: getAllBatchV2ProcessRequests
tags:
- batch_v2_process
parameters:
- $ref: '#/components/parameters/SearchBeanCount'
- $ref: '#/components/parameters/SearchBeanViewtoken'
- name: sort
description: 'Sort the batch process requests by given field.
Omit for default ordering.
'
in: query
schema:
type: string
enum:
- created
- created:desc
- status
- status:desc
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BatchV2ProcessTask'
links:
$ref: '#/components/schemas/View'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
security:
- OAuth2: []
/batch/v2/process/{taskId}:
get:
summary: Retrieve a single batch process task by ID
operationId: getSingleBatchV2ProcessTaskById
tags:
- batch_v2_process
parameters:
- $ref: '#/components/parameters/BatchV2TaskId'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BatchV2ProcessTask'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
security:
- OAuth2: []
put:
summary: Update a batch process request
description: 'Only the requests that are not currently being processed nor waiting to be processed can be updated.
'
operationId: updateBatchV2ProcessRequest
tags:
- batch_v2_process
parameters:
- $ref: '#/components/parameters/BatchV2TaskId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BatchV2ProcessRequestUpdatePayload'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BatchV2ProcessRequest'
'400':
$ref: '#/components/responses/401'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'409':
$ref: '#/components/responses/409'
security:
- OAuth2: []
/batch/v2/process/{taskId}/analyse:
post:
summary: Request analysis of a batch process request
operationId: batchV2Analyse
tags:
- batch_v2_process
parameters:
- $ref: '#/components/parameters/BatchV2TaskId'
responses:
'204':
description: Success
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
security:
- OAuth2: []
/batch/v2/process/{taskId}/start:
post:
summary: Start (confirm) processing of a batch process request
operationId: batchV2StartProcessRequest
tags:
- batch_v2_process
parameters:
- $ref: '#/components/parameters/BatchV2TaskId'
responses:
'204':
description: Success
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
security:
- OAuth2: []
/batch/v2/process/{taskId}/stop:
post:
summary: Stop a batch process request
operationId: batchV2StopProcessRequest
tags:
- batch_v2_process
parameters:
- $ref: '#/components/parameters/BatchV2TaskId'
responses:
'204':
description: Success
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
security:
- OAuth2: []
components:
schemas:
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'
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
BatchV2ZarrOutputGroup:
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:\n * `topLeft` (default): negative resolution along the Zarr y-axis, same as for TIFF output\n * `bottomLeft`: positive resolution along the Zarr y-axis\n\nThe resolution along the Zarr x-axis is always positive.\n"
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
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
BatchV2RasterOutput:
title: RasterOutput
type: object
required:
- delivery
- group
- type
properties:
type:
type: string
enum:
- raster
delivery:
description: "Path or path template specifying where batch processing results shall be stored. Supported formats:
\n - a valid Amazon S3 URL, e.g. `s3://some-bucket/some/folder`.
\n A subdirectory will be created for this batch request, named after the request ID, and will contain further subdirectories with the output tiles.\n This is equivalent to the template `s3://some-bucket/some/folder///.`.\n \n - a templated Amazon S3 URL, e.g. `s3://some-bucket/some/folder/.tif`.\n Templating allows custom organization of the output files.\n Templates can contain the following placeholders, which are replaced by respective actual values when writing results:\n
\n - `` - the ID of your batch request,
\n - `` - the name (string ID) of the tile within the used tiling grid,
\n - `` - the output (raster) identifier (e.g. `default`),
\n - `` - the filename extension of the output's format (e.g. `tiff`).
\n
\n The template must contain `` in order to ensure unique output files.\n In case of multiple outputs, the template must also contain ``.\n \n
The request will fail if files already exist.\n"
$ref: '#/components/schemas/ObjectStorageInfoV2'
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.
'
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/BatchV2CogParameters'
createCollection:
description: If `true`, the results will be written as BYOC tiles into a BYOC collection. When `collectionId` is not provided, a new collection will be created. Make sure the `cogOutput` = true and that the output format is a `image/tiff`. The data will still be stored into users S3 bucket and linked as BYOC tiles. Make sure to allow full access to Sentinel Hub from the bucket in order for BYOC to be able to read the data (more details).
default: false
type: boolean
collectionId:
description: Id of an existing BYOC collection into which the processing results will be ingested.
type: string
ProcessRequestOutputForBatchV2:
type: object
properties:
responses:
type: array
description: Response object.
items:
$ref: '#/components/schemas/ProcessRequestOutputBatchV2Response'
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'
BatchV2ArrayOverride:
type: object
description: 'Values for the particular output Zarr array. The array names are equal to the identifiers of the outputs/responses of the `processRequest`.
'
allOf:
- $ref: '#/components/schemas/BatchV2ZarrOutputArrayParameters'
- type: object
properties:
customAttributes:
description: 'User-defined metadata to append to the array''s `.zattrs` file.
For example, to include information on array''s content and units, you could set this field to
`{"long_name": "Chlorophyll-a concentration", "units": "milligram m-3"}`
**Note**: the field "_ARRAY_DIMENSIONS" is added to the array attributes by default.
Listing this field in `customAttributes` will override its default value.
'
type: object
BatchV2ZarrOutputArrayOverrides:
description: Overrides the values of `arrayParameters` for individual arrays.
type: object
additionalProperties:
x-additionalPropertiesName: array name
$ref: '#/components/schemas/BatchV2ArrayOverride'
BatchV2GeoPackageInput:
title: GeoPackageInput
properties:
type:
type: string
enum:
- geopackage
features:
description: 'Location on an object storage of a GeoPackage file containing the features to be processed.
The GeoPackage must adhere to the requirements listed in the documentation.
'
$ref: '#/components/schemas/ObjectStorageInfoV2'
defaults:
description: 'Default values to be applied to the features if missing inside the GeoPackage file.
_Only `width` and `height` or `resolution` can be set at the same time._
'
$ref: '#/components/schemas/BatchV2GeoPackageFeatureDefaults'
required:
- type
- features
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.
BatchV2ProcessRequest:
required:
- processRequest
- output
- input
type: object
properties:
processRequest:
$ref: '#/components/schemas/ProcessRequestForBatchV2'
input:
$ref: '#/components/schemas/BatchV2ProcessInput'
output:
$ref: '#/components/schemas/BatchV2ProcessOutput'
description:
description: Optional description that can be used to keep track of requests
type: string
LandsatDataset:
type: object
allOf:
- $ref: '#/components/schemas/BaseDataset'
- type: object
properties:
dataFilter:
$ref: '#/components/schemas/LandsatFiltering'
processing:
$ref: '#/components/schemas/BaseDatasetProcessing'
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
RestErrorWrapper:
type: object
properties:
error:
$ref: '#/components/schemas/Boom'
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.
S1ProcessingSpeckleFilterNONE:
type: object
description: Does NO speckle filtering. Equivalent to not having speckleFilter defined.
required:
- type
properties:
type:
type: string
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
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
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
ProcessRequestForBatchV2:
type: object
description: Batch processing equivalent of the Process request.
required:
- evalscript
- input
- output
properties:
input:
$ref: '#/components/schemas/ProcessRequestInputForBatchV2'
output:
$ref: '#/components/schemas/ProcessRequestOutputForBatchV2'
evalscript:
description: 'Your evalscript. For details, click
here.
Evalscript is not required here if using multipart upload.
'
type: string
ProcessRequestInputForBatchV2:
title: Input
type: object
required:
- bounds
- data
properties:
bounds:
$ref: '#/components/schemas/ProcessRequestInputBoundsForBatchV2'
data:
$ref: '#/components/schemas/ProcessRequestInputData'
BatchV2ProcessOutput:
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.
'
oneOf:
- $ref: '#/components/schemas/BatchV2RasterOutput'
- $ref: '#/components/schemas/BatchV2ZarrOutput'
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
S2L1CFiltering:
allOf:
- $ref: '#/components/schemas/S2L2AFiltering'
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
BatchV2GeoPackageFeatureDefaults:
title: GeoPackageFeatureDefaults
properties:
width:
type: integer
format: int32
minimum: 1
maximum: 3500
example: 512
height:
type: integer
format: int32
minimum: 1
maximum: 3500
example: 512
resolution:
type: number
format: double
exclusiveMinimum: 0
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'
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'
BatchV2CogParameters:
description: 'Allows to specify COG creation parameters.
'
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: 256
blockysize:
description: Corresponds to the *BLOCKYSIZE* parameter of [GDAL GTiff raster driver](https://gdal.org/drivers/raster/gtiff.html).
type: integer
default: 256
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
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.
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'
BatchV2ZarrOutputArrayParameters:
required:
- dtype
- chunks
- order
- fill_value
properties:
dtype:
description: "Data type/encoding. Allowed values depend on the `sampleType` defined in `evalscript`:\n * `|u1`: 8-bit unsigned integer, recommended for `sampleType` UINT8 and AUTO,\n * `|i1`: 8-bit signed integer, recommended for `sampleType` INT8,\n * `u2`: 16-bit unsigned integer (little and big endian, respectively), recommended for `sampleType` UINT16, allowed for UINT8 and AUTO,\n * `i2`: 16-bit signed integer (little and big endian, respectively), recommended for `sampleType` INT16, allowed for UINT8, INT8 and AUTO,\n * `f4`, `f8`: float (little/big endian single precision, little/big endian double precision, respectively),\n recommended for `sampleType` FLOAT32, allowed for any `sampleType`.\n\n*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.\n"
example: `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'
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
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
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'
MaxCloudCoverage:
description: The maximum allowable cloud coverage in percent.
type: number
format: double
minimum: 0
maximum: 100
default: 100
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'
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'
ProcessRequestOutputFormatJson:
title: application/json
type: object
allOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormat'
- type: object
properties:
type:
type: string
enum:
- application/json
LandsatTierFilteringWithRt:
type: object
properties:
tiers:
type: string
default: ALL_TIERS
enum:
- TIER_1
- TIER_1_AND_RT
- ALL_TIERS
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
BaseDataset:
type: object
properties:
type:
description: Datasource abbreviation
type: string
id:
description: Identifier
type: string
ProcessRequestOutputFormatTiff:
title: image/tiff
type: object
allOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormat'
- type: object
properties:
type:
type: string
enum:
- image/tiff
ProcessRequestInputBoundsForBatchV2:
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.
When using a GeoPackage as input, bounds are not required. In this case, all features within the GeoPackage will be processed.
'
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'
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
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
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
LandsatTierFilteringWithoutRt:
type: object
properties:
tiers:
type: string
default: ALL_TIERS
enum:
- TIER_1
- ALL_TIERS
MultiPartBatchV2Request:
type: object
properties:
request:
$ref: '#/components/schemas/BatchV2ProcessRequest'
evalscript:
description: Block of JavaScript code.
type: string
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
BatchV2TilingGridInput:
title: TilingGridInput
required:
- id
- resolution
- type
properties:
type:
type: string
enum:
- tiling-grid
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.
'
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
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'
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'
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
BatchV2ZarrOutput:
title: ZarrOutput
description: 'Specifies Zarr creation parameters.
If this parameter is specified, all outputs in processRequest **must**
be of the type zarr/array and `output` can not be specified.
With Zarr output **only** WGS84 and LAEA grids **are supported**.
'
required:
- delivery
- group
- type
properties:
type:
type: string
enum:
- zarr
delivery:
description: "Path or path template specifying where batch processing results shall be stored. Supported formats: \n - a valid Amazon S3 URL, e.g. `s3://some-bucket/some/folder`.
\n The output Zarr will be stored to this folder (prefix).\n The request will fail if any files already exist in the folder.\n \n - a templated Amazon S3 URL, e.g. `s3://some-bucket/some/folder/`.\n The placeholder `` will be replaced by the ID of your batch request\n and the output Zarr will be stored there.\n
\n
The specified path must not contain any subfolders or Zarr files such as .zattrs, .zgroup, .zmetadata.\n"
$ref: '#/components/schemas/ObjectStorageInfoV2'
group:
$ref: '#/components/schemas/BatchV2ZarrOutputGroup'
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/BatchV2ZarrOutputArrayParameters'
arrayOverrides:
$ref: '#/components/schemas/BatchV2ZarrOutputArrayOverrides'
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'
ProcessRequestOutputFormat:
type: object
properties:
type:
type: string
description: Output format mime-type
ProcessRequestOutputFormatZarr:
title: zarr/array
type: object
allOf:
- $ref: '#/components/schemas/ProcessRequestOutputFormat'
- type: object
properties:
type:
type: string
enum:
- zarr/array
BatchV2ProcessRequestUpdatePayload:
type: object
properties:
description:
description: 'Optional description that can be used to keep track of requests. If omitted, the description will not be changed.
'
type: string
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'
DEMFiltering:
type: object
properties:
demInstance:
description: Selects DEM instance.
type: string
enum:
- MAPZEN
- COPERNICUS_30
- COPERNICUS_90
default: MAPZEN
BatchV2ProcessInput:
oneOf:
- $ref: '#/components/schemas/BatchV2GeoPackageInput'
- $ref: '#/components/schemas/BatchV2TilingGridInput'
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
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
BatchV2ProcessTask:
type: object
properties:
id:
description: Unique identifier of the request
type: string
format: uuid
request:
$ref: '#/components/schemas/BatchV2ProcessRequest'
domainAccountId:
description: Account that submitted the request (Deprecated. It is equal to projectId)
type: string
format: uuid
projectId:
description: Project for which the request was submitted
type: string
format: uuid
workspaceId:
description: Workspace for which the request was submitted
type: string
format: uuid
status:
description: Current processing status of the request
type: string
enum:
- CREATED
- ANALYSING
- ANALYSIS_DONE
- PROCESSING
- DONE
- FAILED
- STOPPED
error:
description: Error description for requests that were submitted but failed during analysis or processing
type: string
userAction:
description: Last user action on the request
type: string
enum:
- NONE
- ANALYSE
- START
- STOP
userActionUpdated:
description: Time of last user action update in ISO 8601
type: string
format: date-time
created:
description: Creation time of the request in ISO 8601
type: string
format: date-time
completionPercentage:
type: number
lastUpdated:
description: Last updated time of the request in ISO 8601
type: string
format: date-time
costPU:
type: number
stoppedStatusReason:
description: Description of why job status is STOPPED
type: string
enum:
- OUT_OF_PU
- USER_ACTION
- UNHEALTHY
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
responses:
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorWrapper'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorWrapper'
'403':
description: Insufficient permissions
'409':
description: Conflict in the request
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorWrapper'
'401':
description: Unauthorized
parameters:
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
BatchV2TaskId:
name: taskId
description: Task ID
in: path
required: true
schema:
type: string
format: uuid
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
securitySchemes:
OAuth2:
type: oauth2
description: "### Authentication\n\nMore about the authentication here.\n\nTo get an access token using curl:\n\n```\ncurl --request POST \\\n --url https://services.sentinel-hub.com/auth/realms/main/protocol/openid-connect/token \\\n --header \"content-type: application/x-www-form-urlencoded\" \\\n --data \"grant_type=client_credentials&client_id=&client_secret=\"\n```\n"
flows:
clientCredentials:
tokenUrl: https://services.sentinel-hub.com/auth/realms/main/protocol/openid-connect/token
scopes:
SH: Sentinel Hub
x-tagGroups:
- name: Process API
tags:
- process
- name: Catalog
tags:
- catalog_core
- catalog_collections
- catalog_features
- catalog_item_search
- name: Async API
tags:
- async_process
- name: BatchV2 API
tags:
- batch_v2_process
- batch_v2_tiling_grid
- name: Stats API
tags:
- statistical
- name: Batch Stats API
tags:
- batch_statistical
- name: BYOC
tags:
- byoc_collection
- byoc_tile
- name: Zarr Import API
tags:
- zarr_collection
- zarr_array
- name: TPDI
tags:
- dataimport_search
- dataimport_product
- dataimport_order
- dataimport_delivery
- dataimport_tile_delivery
- dataimport_subscription
- dataimport_subscription_delivery
- dataimport_subscription_tile_delivery
- dataimport_quota
- name: Metadata
tags:
- metadata_location
- metadata_collection