Order Lifecycle
The ordering system tracks the progress of orders from acceptance through delivery. Order status information can be retrieved from two endpoints, or status updates can be sent to users via notifications.
Order details endpoint
The Get Order Details endpoint includes fields describing the current order status and additional status details:
...
"status": "SUCCESS",
"status_details": {
//additional details such as delivery location
},
...
Order events endpoint
Order status events are logged and their history can be retrieved from Get Order Events. The events are ordered from newest to oldest, The first item in the events list is the current status of the order. Each event object includes a message field that combines the event status and details into a single string.
{
"date_created": "2026-06-22T17:23:02Z",
"order_id": "7008222755451234567",
"pipeline_id": "imagery/system-ready",
"message": "Order status updated from IN_PROGRESS to IN_PROGRESS. Details: {'message': 'Delivering order'}",
"event_code": "status_updated"
},
Order notifications
Instead of polling one of the above APIs, It is also possible to subscribe to order events using notifications. Event status updates can be sent to:
- Amazon SNS
- HTTP Callback (Webhook)
Notifications can subscribe to different levels of detail:
| Notification Level | Description | Status |
|---|---|---|
INITIAL_FINAL | Send notifications when the request is first accepted into the system and when the process completes. | "RECEIVED," "SUCCESS," "CANCELED," "FAIL," or "ERROR" |
INTERMEDIATE | Send notifications for every step of the process. | All status updates. |
FINAL_ONLY | Send a notification when the process is complete. | "SUCCESS", "FAIL", "CANCELED", or "ERROR". |
ON_FAIL | Send notifications only when the process has failed or errored. | "FAIL" or "ERROR" |
Multiple notifications of the same type or different types can be created. Each type will have its own notification level. If a notification level is not specified, the default level is FINAL_ONLY.
Order Lifecycle
As orders progress through the system their status cycles through these states:
Inital status
Status RECEIVED
When the ordering system first receives an order, the status is set to RECEIVED. Users are unlikely to see this status message as processing starts immediately.
Intermediate states:
Status IN_PROGRESS
Once processing starts, the status is updated to IN_PROGRESS. As the order is generated and delivered, multiple IN_PROGRESS
events are generated, with messages detailing the steps of the process. Typically an order will generate these detailed events:
- (no message, status has changed from
RECEIVED) Processing startedProcessing completeQueueing order for deliveryDelivering order
Final status
Status SUCCESS
The status is updated to SUCCESS when the order is delivered. Delivery details are included in this status object, such as direct download links.
Status CANCELED
If the order is canceled before it completes, the order status is changed to CANCELED
Status ERROR and FAILED
There are two failure states depending on where the failure occurred:
ERROR: The pipeline reported an error back to the ordering system.FAILED: There was a failure elsewhere in the ordering system.