Sentinel Hub batch_v2_process API

The batch_v2_process API from Sentinel Hub — 5 operation(s) for batch_v2_process.

Operations 7

POST /batch/v2/process Submit new batch processing request #
GET /batch/v2/process Query batch process requests #
GET /batch/v2/process/{taskId} Retrieve a single batch process task by ID #
PUT /batch/v2/process/{taskId} Update a batch process request #
POST /batch/v2/process/{taskId}/analyse Request analysis of a batch process request #
POST /batch/v2/process/{taskId}/start Start (confirm) processing of a batch process request #
POST /batch/v2/process/{taskId}/stop Stop a batch process request #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sentinel-hub-batch-v2-process-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sentinel-hub-batch-v2-process-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 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:
    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.
    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
    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
    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'
    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
    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'
    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
    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'
    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
    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: <ul>\n  <li>a valid Amazon S3 URL, e.g. `s3://some-bucket/some/folder`.<br/>\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/<requestId>/<tileName>/<outputId>.<format>`.\n  </li>\n  <li>a templated Amazon S3 URL, e.g. `s3://some-bucket/some/folder/<tileName>.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    <ul>\n      <li> `<requestId>` - the ID of your batch request,</li>\n      <li> `<tileName>` - the name (string ID) of the tile within the used tiling grid,</li>\n      <li> `<outputId>` - the output (raster) identifier (e.g. `default`),</li>\n      <li> `<format>` - the filename extension of the output's format (e.g. `tiff`).</li>\n    </ul>\n    The template must contain `<tileName>` in order to ensure unique output files.\n    In case of multiple outputs, the template must also contain `<outputId>`.\n  </li>\n</ul> 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` (<a href="https://docs.planet.com/develop/evalscripts/functions/#output-object-properties" target="_blank">more details</a>) 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 (<a href="https://docs.planet.com/develop/apis/batch-processing/#mandatory-aws-s3-bucket-settings" target="_blank">more details</a>).
          default: false
          type: boolean
        collectionId:
          description: Id of an existing BYOC collection into which the processing results will be ingested.
          type: string
    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`,`>u2`: 16-bit unsigned integer (little and big endian, respectively), recommended for `sampleType` UINT16, allowed for UINT8 and AUTO,\n * `<i2`,`>i2`: 16-bit signed integer (little and big endian, respectively), recommended for `sampleType` INT16, allowed for UINT8, INT8 and AUTO,\n * `<f4`, `>f4`, `<f8`, `>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: <f4
          type: string
          externalDocs:
            description: Zarr data type specification version 2, Attributes
            url: https://zarr-specs.readthedocs.io/en/latest/v2/v2.0.html#data-type-encoding
        order:
          description: Layout of values within each chunk of the array. Currently only "C" is supported, which means row-major order.
          type: string
          default: C
        chunks:
          description: 'A list of integers defining the length of each dimension of a chunk of the array, e.g. `[1, 1000, 1000]`.


            The first element (time dimension chunking) must be 1.


            The second and third (latitude/y and longitude/x-dimension chunking, respectively)

            must evenly divide the batch output tile raster size.

            For example, when using the [LAEA 100km grid](https://docs.planet.com/develop/apis/batch-processing/#1-tiling-grid)

            with an output resolution of 50 m, each batch tile will be 2000 x 2000 pixels,

            thus valid chunking sizes are 2000, 1000, 500, 400 etc.

            '
          example:
          - 1
          - 1000
          - 1000
          type: array
          minItems: 3
          maxItems: 3
          items:
            type: number
            format: integer
        fill_value:
          type: number
          description: 'A scalar value providing the default value for portions of the array corresponding to non-existing chunks:

            * any chunks consisting solely of this value will **not** be written,

            * the value will be included in the output Zarr metadata.


            **Note**: `fill_value` must be representable by the array''s `dtype`.


            **Note**: any grid tiles that are within Zarr envelope but outside of `processRequest.input.bounds.geometry` will not be processed by batch at all.

            No chunks will thus be written for those tiles, thus `fill_value` is required to ensure a valid Zarr is created.

            '
        compressor:
          description: 'Compressor type and parameters, which will be used to compress the data chunks.

            '
          default:
            id: blosc
            cname: lz4
            clevel: 5
            shuffle: 1
            blocksize: 0
          type: object
    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
    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'
    DEMFiltering:
      type: object
      properties:
        demInstance:
          description: Selects DEM instance.
          type: string
          enum:
          - MAPZEN
          - COPERNICUS_30
          - COPERNICUS_90
          default: MAPZEN
    ProcessRequestOutputFormatTiff:
      title: image/tiff
      type: object
      allOf:
      - $ref: '#/components/schemas/ProcessRequestOutputFormat'
      - type: object
        properties:
          type:
            type: string
            enum:
            - image/tiff
    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
    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: <ul>\n  <li>a valid Amazon S3 URL, e.g. `s3://some-bucket/some/folder`.<br/>\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  </li>\n  <li>a templated Amazon S3 URL, e.g. `s3://some-bucket/some/folder/<requestId>`.\n    The placeholder `<requestId>` will be replaced by the ID of your batch request\n    and the output Zarr will be stored there.\n  </li>\n</ul> The specified path <b>must</b> not contain any subfolders or Zarr files such as <code>.zattrs</code>, <code>.zgroup</code>, <code>.zmetadata</code>.\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'
    S2L1CFiltering:
      allOf:
      - $ref: '#/components/schemas/S2L2AFiltering'
    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
    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
    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
    ProcessRequestOutputFormat:
      type: object
      properties:
        type:
          type: string
          description: Output format mime-type
    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
    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. <br/> The GeoPackage must adhere to the requirements listed in the <a href="https://docs.planet.com/develop/apis/batch-processing/#2-geopackage" target="_blank">documentation</a>.

            '
          $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
    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'
    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'
    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
    ProcessRequestOutputFormatZarr:
      title: zarr/array
      type: object
      allOf:
      - $ref: '#/components/schemas/ProcessRequestOutputFormat'
      - type: object
        properties:
          type:
            type: string
            enum:
            - zarr/array
    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</li>\n * `bottomLeft`: positive resolution along the Zarr y-axis</li>\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
    LandsatDataset:
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseDataset'
      - type: object
        properties:
          dataFilter:
            $ref: '#/components/schemas/LandsatFiltering'
          processing:
            $ref: '#/components/schemas/BaseDatasetProcessing'
    LandsatTierFilteringWithRt:
      type: object
      properties:
        tiers:
          type: string
          default: ALL_TIERS
          enum:
          - TIER_1
          - TIER_1_AND_RT
          - ALL_TIERS
    BatchV2GeoPackageFeatureDefaults:
      title: GeoPackageFeatureDefaults
      properties:
        width:
          type: integer
          format: int32
          minimum: 1
          maximum: 3500
 

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sentinel-hub/refs/heads/main/openapi/sentinel-hub-batch-v2-process-api-openapi.yml