List tasks

The Tasking API returns the list of all tasks accessible to the current user, including active and completed tasks. This is a complete history of the tasks created using the contracts accessible to the current user.

The operation also supports pagination, to facilitate scrolling through the tasking history.

Optional parameters

Paginated results

When a cursor property appears in the response, it indicates that more results are available. To access the next page of results, send a follow-up request that includes the cursor query parameter, setting it equal to the cursor value from the previous response. On success, the next page of results is returned, potentially including a new cursor to continue walking the list.

You can customize the number of returned catalog items by providing a limit query parameter, which specifies the maximum number of items to return in the response.

By default, up to 10 tasks are returned in each response.

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

curl --location "${API_BASE_URL}/api/tasking/v2/tasks?limit=20&cursor=XXX" \
--header "Accept: application/json, application/problem+json" \
--header "Authorization: Bearer ${API_ACCESS_TOKEN}"

Filtering by contractID

By default, Tasks from all the contracts of the customer are returned. Customers may filter Tasks belonging to a specific contract by providing a contractID query parameter on their Request

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

curl --location "${API_BASE_URL}/api/tasking/v2/tasks?contractID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX" \
--header "Accept: application/json, application/problem+json" \
--header "Authorization: Bearer ${API_ACCESS_TOKEN}"

Filtering by date-time range

When you query the tasks, you can specify a date-time range to filter the results. Fields used by filtering are createdAfter and createdBefore, using a date-time format (2018-02-12T23:20:50Z).

You can utilize the createdAfter field independently. However, for createdBefore to function, it necessitates being used in conjunction with createdAfter.

Date and time (date-time) expressions follow RFC 3339.

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

curl --location "${API_BASE_URL}/api/tasking/v2/tasks?createdAfter=2018-02-12T00:00:00Z&createdBefore=2018-02-13T00:00:00Z" \
--header "Accept: application/json, application/problem+json" \
--header "Authorization: Bearer ${API_ACCESS_TOKEN}"

Filtering by property value

The filter[] query parameter is an optional parameter that can be used to filter on task fields, so that only the queried tasks are returned in the response.

A filter[] query is specified as an array of strings, with each item using one of the following syntaxes:

{FIELD}-{OPERATOR}-value-{VALUE}
{FIELD}-{OPERATOR}-value-{VALUE1,VALUE2,...}

Multi-value entries are comma-separated; commas inside a value must be URL-encoded as %2C.

If you specify more than one filter[] entry in a request, the filters are combined with logical AND. When the same field appears both as a plain query parameter (for example contractID) and inside filter[], the filter[] entry takes precedence for that field; other plain parameters continue to apply normally.

The following operators are supported (not necessarily with every field):

Operator Description

eq

Field value equals the specified VALUE.

in

Field value is one of the values in the comma-separated list VALUE1,VALUE2,…​.

ini

Field value (compared case-insensitively) is one of the values in the comma-separated list VALUE1,VALUE2,…​.

gte

Field value is greater than or equal to the specified VALUE.

lte

Field value is less than or equal to the specified VALUE.

You can filter on one or more of the following {FIELD}-{OPERATOR} combinations:

Field Compatible operators Equivalent plain parameter

contractID

eq

contractID

imageReference

in

imageReference (repeated)

createdAt

gte, lte

createdAfter / createdBefore

acquisitionWindow.start

gte, lte

(none — filter[] only)

imagingMode

ini

(none — filter[] only)

The plain query parameters listed above (contractID, imageReference, createdAfter, createdBefore) remain supported. New filter dimensions — like acquisitionWindow.start and imagingMode — are added only under filter[]. We aim to remove the plain-parameter form in Platform v3 (no committed timeline).

imagingMode-ini-value-SPOTLIGHT matches tasks whose underlying mode is either standard spotlight or spotlight-high — both display as SPOTLIGHT in task responses. To narrow to spotlight-high only, use imagingMode-ini-value-SPOTLIGHT_HIGH.

For example, the following request asks for tasks under a specific contract whose acquisition window starts on or after 2026-06-01T00:00:00Z:

curl --location --get "${API_BASE_URL}/api/tasking/v2/tasks" \
  --data-urlencode "filter[]=contractID-eq-value-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX" \
  --data-urlencode "filter[]=acquisitionWindow.start-gte-value-2026-06-01T00:00:00Z" \
  --header "Accept: application/json, application/problem+json" \
  --header "Authorization: Bearer ${API_ACCESS_TOKEN}"

Here are some more examples of filter[] queries:

filter[]=contractID-eq-value-00000000-0000-0000-0000-000000000001
filter[]=imageReference-in-value-00000000-0000-0000-0000-000000000001,00000000-0000-0000-0000-000000000002
filter[]=createdAt-gte-value-2026-06-01T00:00:00Z
filter[]=createdAt-lte-value-2026-06-15T23:59:59Z
filter[]=acquisitionWindow.start-gte-value-2026-06-01T00:00:00Z
filter[]=acquisitionWindow.start-lte-value-2026-06-15T23:59:59Z
filter[]=imagingMode-ini-value-spotlight
filter[]=imagingMode-ini-value-spotlight,scan

Date and time values follow RFC 3339.

Any entry that names an unsupported field, uses an operator not declared for its field, or has a malformed value, returns 400 Bad Request. The same applies when both acquisitionWindow.start-gte and acquisitionWindow.start-lte are provided with gte > lte.

Example

Request

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

curl --location "${API_BASE_URL}/api/tasking/v2/tasks" \
--header "Accept: application/json, application/problem+json" \
--header "Authorization: Bearer ${API_ACCESS_TOKEN}"

Response

On success, customers will receive a 200 status code and a JSON object containing:

  • A list of Tasks

  • Optionally, a cursor to indicate that more results are available on the next page (see Paginated Results)

{
  "cursor": "XXX",
  "data": [
    {
      "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",
      "fulfilledAt": "2023-12-30T00:04:05Z",
      "exclusivity": "PRIVATE",
      "priority": "COMMERCIAL",
      "sla": "SLA_8H",
      "productsAvailableInSeconds": 2304,
      "incidenceAngle": {
        "min": 10,
        "max": 45
      },
      "lookSide": "LEFT",
      "passDirection": "ASCENDING",
      "eula": "STANDARD",
      "productTypes": ["GRD", "SLC", "QLK"],
      "derivativeProductTypes": ["DC-ATR"],
      "imageReference": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX"
    }
  ]
}