Create task

With a valid contractID, you can task ICEYE’s constellation directly using the createTask operation. See also the Tasking API Specification for an exhaustive list of optional parameters to customize the task.

Required parameters

The required parameters of the tasking createTask operation are specified in the request body of a POST operation.

Point of interest

The center-point over which the image will be acquired. The point of interest should be specified as a valid set of earth-centered coordinates, pointOfInterest[lat] and pointOfInterest[lon] (latitude and longitude), in WGS 84 coordinates.

"pointOfInterest": {
  "lat": -23.700552,
  "lon": 133.882675
},

Acquisition window

A time window with a start and end during which ICEYE’s constellation can acquire the SAR Data.

  • start time cannot be immediate and must be set to a minimum number of hours after the time of the tasking request. For details, see the Min time before collection to choose target table column in section 3.4 Tasking Priority Options of the Data Product Specification document.

  • end cannot be more than 14 days from the time of the tasking request.

  • The acquisition window must be at least 24h wide, end - start >= 24h.

"acquisitionWindow": {
  "start": "2023-12-29T23:20:11.315Z",
  "end": "2023-12-30T01:20:11.315Z"
},

The timestamp format follows RFC 3339. To specify the same UTC time in a +3 hour timezone, users can use:

"acquisitionWindow": {
  "start": "2023-12-30T02:20:11.315+03:00",
  "end": "2023-12-30T04:20:11.315+03:00"
},

Imaging mode

Imaging mode defines how a satellite collects the imaging data, which affects the azimuthal length, swath width, ground resolution, and image quality of the final image.

The imaging modes described in the ICEYE Product Specification are mapped to the string value of the imagingMode parameter as follows:

Product guide image mode API imagingMode

Strip

STRIPMAP

Spot

SPOTLIGHT

Spot Extended Area

SPOTLIGHT_EXTENDED_AREA

Spot Fine

SPOTLIGHT_FINE

Spot Fine 1-look

SPOTLIGHT_FINE_1L

Spot Fine 2-looks

SPOTLIGHT_FINE_2L

Spot Fine 3-looks

SPOTLIGHT_FINE_3L

Scan

SCAN

Scan Wide

SCAN_WIDE

Dwell

SPOTLIGHT_EXTENDED_DWELL

Dwell Fine

SPOTLIGHT_EXTENDED_DWELL_FINE

Dwell Precise

SPOTLIGHT_EXTENDED_DWELL_PRECISE

Spot 1-look

SPOTLIGHT_HIGH_1L

Spot 2-looks

SPOTLIGHT_HIGH_2L

Spot Precise 1-look

SPOTLIGHT_PRECISE_1L

Spot Precise 2-looks

SPOTLIGHT_PRECISE_2L

Spot Precise 3-looks

SPOTLIGHT_PRECISE_3L

The allowed imaging modes vary by contractID.

For example, to specify the imaging mode as a parameter in a request body:

"imagingMode": "SPOTLIGHT",

Optional parameters

Reference

A string that can be used to identify tasks uniquely or group multiple tasks together for easier tracking. The reference parameter accepts UTF-8 characters but it has a limitation of 256 string length.

"reference": "customer task reference 123-456",

Exclusivity

Exclusivity indicates whether the task products should be released to the public catalog or remain within the customer’s private catalog for an agreed period of time (as reflected both in the pricing and the contractual agreement).

Task exclusivity can take one of the following string values:

Exclusivity Description

PUBLIC

The task products are initially private, but are ultimately transferred (anonymously) to the ICEYE public catalog after 7 days.

PRIVATE

The task products remain private for the time period agreed in your contract with ICEYE. After the agreed time period has elapsed, the image products can be transferred (anonymously) to the ICEYE public catalog.

The exclusivity parameter is constrained by the terms of your contract, which could restrict the API operation to allow only one of the options, or allow both options. For example, if you specify PUBLIC and it is not allowed by your contract, the API operation returns the not allowed error.

For example, to specify exclusivity as a parameter in a request body:

"exclusivity": "PRIVATE",

Priority

The task priority specifies the priority level that applies when the scheduler has to resolve a potential conflict. In the case of a conflict, a COMMERCIAL task will always take priority over a BACKGROUND task.

Task priority can take one of the following string values:

Priority Description

BACKGROUND

The task will be scheduled if there are no conflicts, but will be removed from the schedule if a higher priority task is created in the same time window.

COMMERCIAL

The task has a higher priority than BACKGROUND (90% probability of task fulfillment). See also Accuracy of imaging time.

Defaults to the contractually agreed priority from your contract.

For example, to specify the priority as a parameter in a request body:

"priority": "COMMERCIAL",

Service Level Agreement

The service level agreement (SLA) specifies a guaranteed availability time for tasked image products. The availability time is the time elapsed between the moment a satellite finishes acquiring the raw image, and the time when the image products become available for download from ICEYE.

Availability time does not include the time required to download the product data or deliver the data to an external location.

The sla parameter can take one of the following string values:

SLA Description

SLA_8H

Promises availability of standard image products within 8 hours of the satellite acquiring the image (normal delivery priority).

SLA_3H

(COMING SOON) Promises availability of standard image products within 3 hours of the satellite acquiring the image.

Defaults to SLA_8H.

For example, to specify the SLA as a parameter in a request body:

"sla": "SLA_8H",

EULA

The end user license agreement (EULA) defines the terms of use for purchased SAR products, also defining how widely products can be distributed. For full details of the EULA, see the relevant terms of your contract.

The eula parameter can take one of the following string values:

EULA Description

GOVERNMENT

This EULA option should be selected by a governmental organization that has contracted directly with ICEYE or by a reseller that plans to share products with a governmental organization. Government End Users shall use Products, Derivatives and Documentation solely under Government EULA.

STANDARD

This EULA option should be selected by a commercial organization that has contracted directly with ICEYE or by a reseller that plans to share products with a commercial organization. All other End Users than Government End Users shall use Products, Derivatives and Documentation solely under Standard EULA.

For example, to specify the EULA as a parameter in a request body:

"eula": "STANDARD",

Additional product types

In addition to the standard product types (GRD and SLC), you can add the following non-standard product types to your order by setting the additionalProductTypes parameter (provided they are specified as SLA products in your contract):

Additional product type Description

SICD

Sensor Independent Complex Data

SIDD

Sensor Independent Detected Data

The SLC, SICD, and SIDD products are not compatible with the SCAN imaging mode.

For example, to specify additional product types as a parameter in a request body:

"additionalProductTypes": [
  "SIDD",
  "SICD"
],

Delivery locations

You can specify the delivery locations for products using the deliveryLocations parameter (provided the delivery locations have already been configured by COSP for your contract). The deliveryLocations parameter is an array of delivery locations, where each location is defined by the following properties:

  • method — can take one of the values s3 or sftp.

  • path — specifies the delivery location, using the appropriate URL format for the chosen delivery method. This value must match one of the location paths in your contract.

  • subPath (optional) — specifies a subfolder of the delivery location. This value can be freely chosen.

For example, to specify delivery to AWS S3, in the folder1/folder2/ subpath of the DOC-EXAMPLE-BUCKET1 bucket:

"deliveryLocations": [
  {
    "method": "s3",
    "path": "DOC-EXAMPLE-BUCKET1",
    "subPath": "folder1/folder2/"
  },
],

Incidence angle

The incidenceAngle parameter specifies the range of incidence angles that are accepted by this task.

"incidenceAngle": {
  "min": 10,
  "max": 45
},

The default incidence angle range is automatically set to the recommended range (Performant Incidence Range) of the specified imaging mode, as documented in the ICEYE Product Specification.

If you specify the incidenceAngle parameter explicitly, we recommend that you choose a range lying within the documented Performant Incidence Range for the specified imaging mode, in order to obtain a high quality image. Angle ranges wider than 10-45 degrees are disallowed, because incidence angles outside this range are not commercially supported in the constellation.

If you task with an incidence angle range that lies outside the Performant Incidence Range for the specified imaging mode, ICEYE does not guarantee the resulting image quality.

Look side

Possible values are ANY, LEFT and RIGHT. Default to ANY.

"lookSide": "ANY",

Pass direction

Possible values are ANY, ASCENDING and DESCENDING. Default to ANY.

"passDirection": "ASCENDING",

Example

Request

Enter the following curl command, remembering to replace the ${VARNAME} variables with the appropriate values:

curl --location "${API_BASE_URL}/api/tasking/v1/tasks" \
--header "Content-Type: application/json" \
--header "Accept: application/json, application/problem+json" \
--header "Authorization: Bearer ${API_ACCESS_TOKEN}" \
--data '{
  "acquisitionWindow": {
    "start": "2023-12-29T23:20:11.315Z",
    "end": "2023-12-30T01:20:11.315Z"
  },
  "contractID": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "imagingMode": "SPOTLIGHT",
  "pointOfInterest": {
    "lat": -23.700552,
    "lon": 133.882675
  }
}'

Response

On success, customers will receive a 201 status code and a JSON object containing the recently created Task with a RECEIVED status.

{
  "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX",
  "pointOfInterest": {
    "lat": 0,
    "lon": 0
  },
  "acquisitionWindow": {
    "start": "2023-12-29T23:20:11.315Z",
    "end": "2023-12-30T01:20:11.315Z"
  },
  "createdAt": "2023-12-20T15:04:05Z07:00",
  "updatedAt": "2023-12-20T15:04:05Z07:00",
  "imagingMode": "SCAN",
  "contractID": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX",
  "reference": "customer task reference 123-456",
  "status": "RECEIVED",
  "exclusivity": "PRIVATE",
  "priority": "COMMERCIAL",
  "sla": "SLA_8H",
  "eula": "STANDARD",
  "productsAvailableInSeconds": 2304,
  "additionalProductTypes": [
    "SIDD",
    "SICD"
  ],
  "incidenceAngle": {
    "min": 10,
    "max": 45
  },
  "lookSide": "LEFT",
  "passDirection": "ASCENDING"
}

Errors

This section describes some common error conditions.

400 - bad request

Indicates that the request was malformed.

Example error when the contract budget is insufficient to cover the cost of tasking:

{
    "code": "ERR_INSUFFICIENT_FUNDS",
    "message": "could not create task: insufficient funds"
}

Verify that you are tasking a valid combination of parameters that are compatible with the contract. A quick way to verify is to confirm that you can request a price for the same combination of parameters using the getTaskPrice operation. If you cannot, debug the error using these common error messages.

If you can successfully call the getTaskPrice operation, verify that you have enough funds in your contract to cover the cost of the task. Call the getSummary operation to check your current balance. Calculate your remaining funds as outlined in the section available funds.

For more details, see Error handling.

422 - unprocessable content

Example error when the when the request was badly formed:

{
    "code": "ERR_INVALID_CONTRACT",
    "message": "could not create task: invalid model: invalid contract"
}

Please verify the contract is still active by checking its start and end using the GetContract operation. If your contract has expired, reach out to your sales representative to enter into a new contract negotiation.