API changelog

This changelog lists all of the user-facing changes to the ICEYE API since its initial release in May 2024.

Thursday May 08, 2025
  • POST tasking/v1/tasks endpoint — when requesting non-standard product types with the additionalProductTypes parameter, it is now possible to specify SICD on its own, SIDD on its own, or both SICD and SIDD together, provided that the specified products types are defined as SLA products in your contract. Previously, specifying SICD on its own or SIDD on its own would raise an error.

Monday February 17, 2025

The following improvements were made to error messages in API Platfform:

  • GET /company/v1/contracts, GET /tasking/v1/tasks, GET /catalog/v1/purchases, and GET /catalog/v1/items endpoints — now return a HTTP 400 Bad Request error if the pagination limit parameter is out of range (the limit parameter must lie within the range 0 to 10000).

  • GET tasking/v1/tasks/{taskID}/products endpoint — now returns a HTTP 404 Not Found error if the task products are unavailable (for example, if the task ID was not found or the task is not fulfilled yet). Previously, a HTTP 500 error was being returned.

Friday December 20, 2024
  • POST /tasking/v1/tasks endpoint — in the createTask operation, you can task for a Spot Fine 1-look image by setting the imagingMode request parameter to SPOTLIGHT_FINE_1L.

Monday December 09, 2024
  • POST /tasking/v1/tasks endpoint — in the createTask operation, you can task for a Dwell Precise image by setting the imagingMode request parameter to SPOTLIGHT_EXTENDED_DWELL_PRECISE.

Thursday November 07, 2024
  • GET tasking/v1/tasks/{taskID} and GET tasking/v1/tasks endpoints — the response to a getTask operation or a listTasks operation now omit the eula field when the task does not have a EULA specified.

Wednesday October 16, 2024
  • POST /tasking/v1/tasks endpoint — in the createTask operation, the incidenceAngle request parameter has now been updated so that the default incidence angle range (when then parameter is left unspecified) is set automatically to the recommended range (Performant Incidence Range) of the specified imaging mode, as documented in the ICEYE Product Specification.

Thursday October 10, 2024
  • GET tasking/v1/tasks/{taskID}/products/{productType} and GET /purchases/{purchaseID}/products endpoints — the list of products returned by these endpoints is now limited to show only the products considered suitable for delivery. Images acquired by ICEYE satellites can be processed multiple times and each processing run produces new products (for example, reprocessing images to take advantage of software updates that produce images with the latest specifications).

  • GET company/v1/contracts/{contractID} and GET company/v1/contracts endpoints — the Company API spec documentation has been updated to correctly show the imagingModes.allowed property in the JSON response as an array, not a nested array.

Monday September 16, 2024
  • POST catalog/v1/search endpoint — changed start_datetime metadata query property to start_time, in accordance with the STAC specification.

Tuesday September 03, 2024
  • POST catalog/v1/search endpoint — new searchCatalogItems operation for searching the ICEYE public catalog. This endpoint supports an advanced query syntax based on the STAC API - Query Extension Specification. See Search catalog items.

  • GET catalog/v1/items endpoint — the query query parameter has been removed from the listCatalogItems operation. This parameter was never fully implemented and the intended functionality is now provided by the new POST catalog/v1/search endpoint.

  • GET tasking/v1/tasks/{taskID}/scene endpoint — the getTaskScene operation has been implemented and is now fully supported. You can invoke the getTaskScene operation to discover the planned imaging time (and other imaging parameters) for a specified task. See Get task scene.

Tuesday August 13, 2024
  • POST catalog/v1/purchases endpoint — the purchaseCatalogItems operation now takes an optional reference parameter, which is a user-supplied ID that can be used to track a purchased item or group of purchased items.

  • GET catalog/v1/purchases and GET /catalog/v1/purchases/{purchaseID} endpoints — the getPurchasedItem and listPurchasedItems operations now include the reference parameter in the item descriptions, if the user provided the reference parameter when purchasing the items.

Monday August 05, 2024
  • GET company/v1/contracts/{contractID} and GET company/v1/contracts endpoints — the contract details returned by these endpoints now include the allowed EULA and default EULA settings.

  • GET /catalog/v1/purchases/{purchaseID} endpoint — the getPurchaseItem operation now returns a HTTP 404 error if the purchaseID is not found (previously, a HTTP 500 error was returned).

  • GET tasking/v1/tasks/{taskID}/scene endpoint — the getTaskScene operation was added initially for development testing. This endpoint is fully supported since the September 3, 2024 release.

Tuesday July 30, 2024
  • POST tasking/v1/tasks endpoint — the createTask operation now automatically requests CSI and VID as additional standard product for the Dwell imaging mode. See Standard products.

  • GET tasking/v1/tasks/{taskID}/products and GET tasking/v1/tasks/{taskID}/products/{productType} endpoints — the listTaskProducts operation and getTaskProduct operation now include CSI and VID in the listed standard products.

  • GET /catalog/v1/items endpoint — the listCatalogItems operation now lists each image only once, as a single catalog item. Previously, the listCatalogItems operation returned multiple catalog items for each image, where each product type (GRD, SLC, and so on) was returned as a separate item. When you purchase an image from the catalog, all of the image’s product types are included in the purchase and the product_type field is now omitted from the STAC item.

Thursday July 11, 2024
  • GET company/v1/contracts endpoint — in the listContracts operation, fixed the error response to return the correct HTTP error statuses (for example, an incorrect parameter value now returns HTTP 400 instead of HTTP 500).

  • POST catalog/v1/purchases endpoint — in the purchaseCatalogItems operation, fixed a bug in the OpenAPI spec, replacing the purchaseIds parameter by itemIds.

Monday July 08, 2024
  • All endpoints — new problem details format is enabled by including application/problem+json in the Accept header of API requests. For details, see Error handling.

  • POST tasking/v1/tasks endpoint — in the createTask operation, take the default value of exclusivity from the value of the ImagesPrivateByDefault setting in the contract.

Monday July 01, 2024
  • GET catalog/v1/items endpoint — in the listCatalogItems operation, fixed a bug affecting the bbox query parameter, where validation of the bbox array parameters was failing.

Thursday June 27, 2024
  • POST tasking/v1/tasks endpoint — the createTask operation request now takes an optional eula parameter to select the end user license agreement (EULA) that applies to the tasking products. For details, see EULA.

  • GET tasking/v1/price endpoint — the getPrice operation request now takes a required eula parameter to select the end user license agreement (EULA) that applies to the tasking products. For details, see EULA.

  • GET company/v1/contracts/{contractID} and GET company/v1/contracts endpoints — the response to a getContract operation or a listContracts operation now includes the applicable EULA value in the eula property.

  • GET tasking/v1/tasks/{taskID} and GET tasking/v1/tasks endpoints — the response to a getTask operation or a listTasks operation now includes the applicable EULA value in the eula property.

  • GET tasking/v1/tasks/{taskID} and GET tasking/v1/tasks endpoints — the response to a getTask operation or a listTasks operation now includes a list of deliveryLocations.

  • All endpoints — the API Platform now incorporates a validation framework that checks all incoming requests to make sure that they conform to the API specifications. In particular:

    • If any required parameters are missing, a HTTP 400 error is returned.

    • If any unknown parameters are provided (could also be caused by mis-spelling a parameter), a HTTP 400 error is returned.

    • If a parameter value is missing or does not conform to the API specification, a HTTP 400 error is returned.

Wednesday June 12, 2024

Breaking changes

  • POST tasking/v1/tasks endpoint — in the createTask operation, the approach to specifying delivery locations has been refactored. The following changes have been made to the createTask Request format:

    • The deliveryLocationIDs array parameter has been removed.

    • The deliveryLocations array parameter has been added, enabling you to specify each location by providing method, path, and subpath properties. See Create task.

  • GET /company/v1/contracts/{contractID} endpoint — in the getContract operation, the data returned in deliveryLocations no longer includes the id field, because the delivery location ID has been removed from the API.

  • GET /company/v1/contracts endpoint — in the listContracts operation, the data returned in deliveryLocations no longer includes the id field, because the delivery location ID has been removed from the API.

Non-breaking changes

  • POST tasking/v1/tasks endpoint — in the createTask operation, QUICKLOOK has been removed from the additional product types, because it is currently unimplemented.

Tuesday June 04, 2024
  • GET /tasking/v1/tasks/{taskID} endpoint and GET /tasking/v1/tasks endpoint — the delivery location IDs returned from the getTask and listTasks operations are now formatted as unchanging, unique UUID5 strings.

  • POST tasking/v1/tasks endpoint — when you invoke the createTask operation with a combination of constraints that do not exist in the pricing plan, the endpoint responds with a 403 status code and error code equal to ERR_PARAMETERS_FORBIDDEN (previous to this fix, the endpoint would return the error code ERR_INSUFFICIENT_FUNDS).

  • POST tasking/v1/tasks endpoint — the createTask operation now lists QUICKLOOK as an additional product type. But this feature is not yet complete and it is currently not possible to order QUICKLOOK images using the API.

Monday May 27, 2024
  • GET tasking/v1/price endpoint — when you invoke the getPrice operation with a contract that is not yet valid or already expired, the endpoint responds with a 400 status code and error code equal to ERR_OUT_OF_BOUND_CONTRACT.

  • GET tasking/v1/price endpoint — when you invoke the getPrice operation with a contract that is not associated with a pricing plan, the endpoint responds with a 403 status code and error code equal to ERR_OUT_OF_BOUND_CONTRACT.

Tuesday May 21, 2024
  • POST tasking/v1/tasks endpoint — when you invoke the createTask operation with a contract that is not yet valid or already expired, the endpoint responds with a 400 status code and error code equal to ERR_OUT_OF_BOUND_CONTRACT. In particular, this error is returned in the following cases:

    • When you try to create a task under a contract that is already expired.

    • When you try to create a task under a contract that will be expired by the end of the acquisition window.

    • When you try to create a task under a contract that is not yet valid by the start of the acquisition window.

Wednesday May 08, 2024
  • GET /tasking/v1/tasks endpoint — added createdAfter and createdBefore parameters for filtering tasks. See Filtering by date-time range.

  • POST tasking/v1/tasks endpoint — fixed bug where response from createTask operation indicated BACKGROUND priority, even though the task was created with COMMERCIAL priority.