Delivery
Requesting delivery of products
The Delivery API enables you to request delivery of your tasked products or any products you purchased from the public catalog. The Delivery API effectively provides access to the complete archive of products that you own, enabling you to request delivery at any time to one or more preconfigured delivery locations (for example, AWS S3).
Currently, AWS S3 is the only supported delivery location. |
Preparing to use the Delivery API
Before you can start using the Delivery API to take delivery of products, you need to set up the delivery locations and (optionally, but recommended) extend your client application to integrate with the Notifications API.
The prerequisites for using the Delivery API include:
-
Your contract is configured to enable delivery of products using the Delivery API.
-
The COSP team have configured one of more delivery locations (for example, an AWS S3 bucket) for your contract.
-
If using notifications:
-
You have implemented a HTTP server to receive webhook notifications in your client.
-
You have registered a webhook (associated with a webhook ID) to tell the Notifications service where to send notification callbacks.
-
Delivery flow
If you have set up your client to use the Delivery API with notifications, the delivery flow proceeds as follows (assuming you already have a session token, API_ACCESS_TOKEN
).

During a typical delivery flow, the client has the following series of interactions with the ICEYE system:
-
If the client has not already cached the delivery location IDs, the client calls the
listDeliveryLocationConfigs
operation to get the list of configured delivery destinations. -
The client requests delivery of specific catalog items or tasked products by calling the
createDelivery
operation with the corresponding list of item IDs. The operation also takes the following parameters:-
Contract ID — the contract associated with this delivery request.
-
Delivery location(s) — the delivery location for this delivery request.
-
Webhook ID (optional) — the webhook ID that was previously registered when setting up notification callbacks for the HTTP server.
-
-
When the status of the created delivery changes, the Notifications service posts a callback message containing the delivery ID to your callback HTTPS server. The callback message signals that the status has changed, but it does not include the new status value.
-
The client invokes the
getDelivery
operation (with the relevant delivery ID) to discover the current status of the delivery. -
If the delivery status is
SUCCESS
, you can download the products from the delivery location you specified earlier in thecreateDelivery
request.