openapi: 3.1.0 info: title: API Reference async_process batch_statistical 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_statistical x-displayName: Statistical paths: /statistics/batch/v1: post: operationId: createNewBatchStatisticsRequest summary: Submit a new statistical batch request tags: - batch_statistical requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchStatisticalRequest' multipart/form-data: schema: $ref: '#/components/schemas/MultiPartBatchRequest' responses: '201': description: Request submitted content: application/json: schema: $ref: '#/components/schemas/BatchStatisticsTaskDto' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' security: - OAuth2: [] get: operationId: searchBatchStatisticsRequests summary: Query statistical batch requests tags: - batch_statistical parameters: - $ref: '#/components/parameters/SearchBeanCount' - $ref: '#/components/parameters/SearchBeanViewtoken' - name: sort description: 'Sort the statistical batch 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/BatchStatisticsTaskDto' links: $ref: '#/components/schemas/View' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' security: - OAuth2: [] /statistics/batch/v1/{requestId}: get: summary: Retrieve a single batch statistical request operationId: getSingleBatchStatisticalRequestById tags: - batch_statistical parameters: - $ref: '#/components/parameters/BatchRequestId' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/BatchStatisticsTaskDto' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' security: - OAuth2: [] /statistics/batch/v1/{requestId}/status: get: summary: Retrieve the status of a batch statistical request. operationId: batchStatisticalGetStatus tags: - batch_statistical parameters: - $ref: '#/components/parameters/BatchRequestId' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/BatchStatisticsTaskStatusDto' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' security: - OAuth2: [] /statistics/batch/v1/{requestId}/analyse: post: summary: Request analysis of a batch statistical request operationId: batchStatisticalAnalyse tags: - batch_statistical parameters: - $ref: '#/components/parameters/BatchRequestId' 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: [] /statistics/batch/v1/{requestId}/start: post: summary: Start (confirm) processing of a batch statistical request operationId: batchStartStatisticalRequest tags: - batch_statistical parameters: - $ref: '#/components/parameters/BatchRequestId' 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: [] /statistics/batch/v1/{requestId}/stop: post: summary: Stop a batch statistical request operationId: batchStopStatisticalRequest tags: - batch_statistical parameters: - $ref: '#/components/parameters/BatchRequestId' responses: '204': description: Success '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' BatchStatisticalRequestAggregation: type: object allOf: - $ref: '#/components/schemas/StatisticalRequestAggregationWithoutEvalscript' - type: object properties: evalscript: description: 'Your evalscript. For details, click here. The evalscript will be executed once for each time interval defined by `timeRange` and `aggregationInterval`. Either this or `evalscriptReference` parameter is required. ' type: string evalscriptReference: description: 'Reference to your evalscript stored in an object storage. For details, click here. Either this or `evalscript` parameter is required. ' $ref: '#/components/schemas/ObjectStorageInfoV2' 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\n`output.bands` specified in a `setup()` function in an evalscript (for this output) or be \"default\". If it is \"default\",\nthe histogram specified below will be returned for all bands of this output for which histogram is not explicitly defined.\n\nEach band's histogram may be defined by providing one of the following properties:\n * `binWidth`\n * `nBins`\n * exact bins provided by `bins` array\n\n[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)\nshows how to specify histograms using different parameters.\n\nHistograms can be calculated using float or integer math. Providing `lowEdge` and `highEdge` or `binWidth` or\nelements of the `bins` array as integer numbers will select integer math, otherwise float will be used.\nOutput type of the band's output (specified in `output.sampleType` in the `setup()` function in the evalscript)\nmust match the respective histogram math.\n\nIf `lowEdge` and `highEdge` are not explicitly provided, min and max values are used, respectively.\n" 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 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 ArrayParameters: 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: \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 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:
    \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 numerical 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 `` or `` 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" 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.\n\n*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:
    \n
  • ensure that the output path is unique to the task by including `` in `defaultTilePath` and all `tilePath`s,
  • \n
  • ensure that the output path is unique by using a simple, non-templated `defaultTilePath`, or
  • \n
  • suppress overwrite checks by setting `overwrite` to `true` and `skipExisting` to `false`.
  • \n
      \n" 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 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' 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 ProcessRequestForBatch: type: object description: Batch processing equivalent of the 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 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. 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 ObjectStorageOutputInfoV2: type: object oneOf: - title: S3BucketInfoTemplated required: - s3 properties: s3: $ref: '#/components/schemas/S3BucketInfoTemplated' - title: GSBucketInfoTemplated x-cdse-exclude: true required: - gs properties: gs: $ref: '#/components/schemas/GSBucketInfoTemplated' ProcessRequestOutputForBatch: type: object properties: responses: type: array description: Response object. items: $ref: '#/components/schemas/ProcessRequestOutputBatchResponse' 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 ProcessRequestInput: title: Input type: object required: - bounds - data properties: bounds: $ref: '#/components/schemas/ProcessRequestInputBounds' data: $ref: '#/components/schemas/ProcessRequestInputData' BatchStatisticsTaskDto: type: object allOf: - $ref: '#/components/schemas/BatchStatisticsTaskStatusDto' - type: object properties: request: $ref: '#/components/schemas/BatchStatisticalRequest' userAction: description: Last user action on the request. type: string enum: - NONE - ANALYSE - START - STOP userActionUpdated: type: string description: Date of the last user action on the request format: date-time domainAccountId: description: Deprecated. It is equal to projectId type: string format: uuid projectId: type: string format: uuid workspaceId: type: string format: uuid 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 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 ArrayOverride: 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/ArrayParameters' - 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 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' 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 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 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' 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 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' 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. 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' 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' S3BucketInfoTemplated: type: object required: - url properties: url: type: string description: "A URL or URL template specifying where the results shall be written. Supported formats:
        \n
      • a valid Amazon S3 URL, e.g. `s3://my-personal-bucket/some-folder`.\n A subdirectory will be created for this statistical batch request, named after the request ID, and output JSON files will be stored there.\n This is equivalent to the template `s3://my-personal-bucket/some-folder//.json`.\n
      • \n
      • a templated Amazon S3 URL, e.g. `s3://my-personal-bucket/some-folder/.json`.\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 statistical batch request,
        • \n
        • `` - the `id` property of the feature,
        • \n
        • `` - the `identifier` property of the feature.
        • \n
        \n The template must contain `` or `` in order to ensure unique output files.\n
      • \n
      \n" 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 Sentinel Hub deployment that the request is submitted to is assumed. 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. 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 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' 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 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' 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' LandsatTierFilteringWithRt: type: object properties: tiers: type: string default: ALL_TIERS enum: - TIER_1 - TIER_1_AND_RT - ALL_TIERS ProcessRequestOutputFormatJson: title: application/json type: object allOf: - $ref: '#/components/schemas/ProcessRequestOutputFormat' - type: object properties: type: type: string enum: - application/json BatchStatisticalInput: type: object required: - features - data properties: features: description: Storage location of the GeoPackage containing the features (polygons) to calculate the statistics for. $ref: '#/components/schemas/ObjectStorageInfoV2' data: $ref: '#/components/schemas/ProcessRequestInputData' 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 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 BatchStatisticalRequest: type: object required: - input - aggregation - output properties: input: $ref: '#/components/schemas/BatchStatisticalInput' aggregation: $ref: '#/components/schemas/BatchStatisticalRequestAggregation' calculations: $ref: '#/components/schemas/StatisticalRequestCalculations' output: description: Storage location where the results shall be written. $ref: '#/components/schemas/ObjectStorageOutputInfoV2' LandsatTierFilteringWithoutRt: type: object properties: tiers: type: string default: ALL_TIERS enum: - TIER_1 - ALL_TIERS 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 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' BatchStatisticsTaskStatusDto: type: object properties: id: description: UUID of the submitted request. format: uuid type: string status: description: Current processing status of the request. Must NOT be specified when creating new requests type: string enum: - CREATED - ANALYSING - ANALYSIS_DONE - PROCESSING - DONE - FAILED - STOPPED - PARTIAL error: description: Description of error in case the request failed. type: string completionPercentage: type: number lastUpdated: type: string format: date-time costPu: type: number description: Cost of the request in processing units created: description: Creation time of the request type: string format: date-time stoppedStatusReason: description: The reason for request having status STOPPED. type: string enum: - OUT_OF_PU - USER_ACTION 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' 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 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 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 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:
        \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" 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' 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 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 GSBucketInfoTemplated: type: object required: - url - credentials properties: url: type: string description: "A URL or URL template specifying where the results shall be written. Supported formats:
        \n
      • a valid Google Cloud Storage URL, e.g. `gs://my-bucket/some-folder`.\n A subdirectory will be created for this statistical batch request, named after the request ID, and output JSON files will be stored there.\n This is equivalent to the template `gs://my-bucket/some-folder//.json`.\n
      • \n
      • a templated Google Cloud Storage URL, e.g. `gs://my-bucket/some-folder/.json`.\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 statistical batch request,
        • \n
        • `` - the `id` property of the feature,
        • \n
        • `` - the `identifier` property of the feature.
        • \n
        \n The template must contain `` or `` in order to ensure unique output files.\n
      • \n
      \n" credentials: type: string description: Base64-encoded service account credentials in JSON format. 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 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 '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 BatchRequestId: name: requestId description: Request 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