Skip to main content

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:

  • Email
  • Amazon SNS
  • HTTP Callback (Webhook)

Notifications can subscribe to different levels of detail:

Notification LevelDescriptionStatus
INITIAL_FINALSend notifications when the request is first accepted into the system and when the process completes."RECEIVED," "SUCCESS," "CANCELED," "FAIL," or "ERROR"
INTERMEDIATESend notifications for every step of the process.All status updates.
FINAL_ONLYSend a notification when the process is complete."SUCCESS", "FAIL", "CANCELED", or "ERROR".
ON_FAILSend 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 started
  • Processing complete
  • Queueing order for delivery
  • Delivering 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.