Table of Contents
- Features
API Endpoints
- Generate a JSON Web Token (JWT)
- Place an Order for a Catalog Image
- Place an Order for a Tasking Image
- Price an Order Before Purchase
- Get Order Status
- Get All User Orders
- Get Order Request
- Get Product Status
- Get Delivery Items
- Download Image from Blob
- DeliveryRequest Mechanisms
- DeliveryRequest Formats
- Vendor Collection Parameter
- Vendor Preference Collection Parameter
- Imaging Mode Collection Parameter
- Polarization Collection Parameter
- Product Type Collection Parameter
- Order StatusHistory States
- Product StatusHistory States
- Delivery StatusHistory States
Summary
Ursa Space image ordering is now available to limited users. API users may place orders for items in Ursa Space’s archive catalog, and task future collections with a subset of vendors in Ursa Space’s virtual constellation of satellite vendors.
Ursa Space maintains robust partnerships with existing and upcoming commercial data providers, and regularly ingests and processes a variety of SAR and non-SAR (i.e. optical, infrared, multi-spectral, and hyperspectral) data from this group of vendors in what is referred to as the Virtual Constellation.
Ursa Space performs this processing through the development and deployment of the Ursa Platform. The platform contains the data and software services required to ingest data (SAR imagery, optical imagery, external data sources for algorithmic fusion, etc.), run analytics and algorithms on these data to produce results, and provide customer access to related data feeds
via API.
In addition to ingesting, cataloging, and normalizing data from vendors in the Virtual Constellation, Ursa Space is also able to rapidly task new imagery and deliver the resulting data to customers. Users may place purchase requests to schedule a SAR collection at a future date, or purchase existing imagery from the archive catalog containing over 10 million SAR images.
Scope
This document describes the API and service endpoints which will allow external Ursa Space users to order and request data from Ursa’s Virtual Constellation. These endpoints support ordering data from existing vendor catalogs (archive imagery), tasking new images, retrieving status of existing orders, and retrieving presigned S3 URLs for downloading delivered imagery. The workflow from placing an order to downloading a delivered image is described below.
Features
- Order archive imagery from Ursa Space’s Virtual Constellation, containing over 10 million SAR images
- Task future collections with a variety of collection parameters
- Obtain status information about orders, products, and specific delivery items
- Users are notified of order completion by email
- Retrieve purchased products from completed orders via either pre-signed URLs generated via an endpoint, or have retrieval URLs delivered to your email
Workflow Overview
This section provides a high-level overview of the steps involved in purchasing imagery via ADX endpoints. More detail about each endpoint is provided below. Each endpoint is available at the domain directory https://platform.ursaspace.com/api.
- Generate a JSON Web Token (JWT) through the POST /pas/login endpoint.
- Place an analytic order through the POST /ios/order/price endpoint before purchasing.
- Place an archive catalog or new tasking order through the POST /ios/order endpoint.
- Note: Both archive catalog and new tasking orders are requested through the same endpoint.
- Upon success, the response will include an orderId as well as information about the order itself.
- A confirmation email will also be sent to the contactEmail provided in the request.
- Order status and other order information is retrieved from the GET /ios/order/{orderId} endpoint.
- The statusHistory field contains a list of order statuses, with the current status as the last entry. Possible order states are enumerated at the end of this document.
- The products field contains a list of productIds that will be used in later endpoints. Currently there will be only a single productId per order.
- At any time, users can retrieve all orders associated with their account via the GET /ios/order endpoint.
- Product metadata can be accessed through the GET /ios/order/{orderId}/product/{productId} endpoint.
- When the order is complete and imagery is available for download, an email will be sent to the email specified in the contactEmail of the initial order request.
- Upon order completion, a user can retrieve what is referred to as the blobId for specific images that are available for download through the GET /ios/order/{orderId}/product/{productId}/deliveries endpoint.
- A list of deliveryItems will contain IDs for each image available to be downloaded by the user. The blobId is used for downloading the image.
- The statusHistory field contains a list of statuses for each set of delivery items (separate from the order status). The possible statuses are enumerated below.
- Note: images cannot be retrieved until the status is delivered.
- User can retrieve a link to their image using the endpoint GET /ios/order/{orderId}/download/{blobId}/url
- The endpoint will return a pre-signed URL generated for a specific image. The pre-signed URL will be available for 5 minutes after generation.
- Note: For an image to be downloaded through this endpoint, the delivery item’s state must be delivered.
Endpoints: Generate a JSON Web Token (JWT)
This endpoint enables users to generate a JSON Web Token (JWT) to support authentication for all the endpoints discussed below.
In the response body:
- The access_token field returned in the response body is a valid bearer token to authenticate subsequent requests.
- The expires_in field is the token longevity in seconds
Method: POST
Path: /pas/login
Form Parameters:
- grant_type: “password”
- username: <your username>
- password: <your password>
Response Code: 200: Credentials accepted
Response Body:
{
"access_token": "string",
"token_type": "Bearer",
"expires_in": 28800
}
Endpoints: Place an Order for a Catalog Image
This endpoint enables authorized users to place an order for one or more catalog/archive images. Images are specified using assignedIds returned by queries to the Ursa Space catalog. For more information, see our Ursa Space - SAR Catalog Search ADX product.
In the request body:
- The top-level fields descriptiveName, purchaseReason, and customerNotes fields are all optional.
- The top-level field contract is a UUID that may be provided if the order is for a specific contract or project. Ursa will provide this UUID for you to include in the request, if necessary.
- The rest of the fields listed here are within the request top-level field. The type field is a required field and must have the value catalog for catalog/archive orders.
- The field assignedIds must be one or more available-image assigned IDs from the imagery catalog.
- The contactEmail will receive an email confirmation at the time of order creation and order completion.
- The deliveryRequest field tells Ursa how and in what format to deliver images. This field is optional is prior delivery arrangements have been made with Ursa previously. Available delivery mechanisms and formats are enumerated at the end of this document.
- Note: the platform mechanism must be used to later utilize the GET /ios/order/{orderID}/download/{blobID}/url endpoint.
In the response body:
- The id field returned in response to an order request is the Order ID that can be used for future reference.
- The products field refers to the products attached to that specific order. Currently each order will have a maximum of one product, which can be used in the subsequent GET endpoints.
- The statusHistory indicates the history of states for the order, with the final state being the current state of the order. See order state enumerations at the end of this document.
- The request field is an ID that can be used in the GET /ios/order/request/{requestId} endpoint to retrieve the original request.
- The owner field is the UUID associated with the user creating the order. The customer field is the UUID for the customer/company the user is associated with (multiple users can be associated with a single customer).
Method: POST
Path: /ios/order
Request Body:
{
"descriptiveName": "string",
"purchaseReason": "string",
"customerNotes": "string",
"contract": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"request": {
"type": "catalog",
"assignedIds": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"contactEmail": "user@example.com",
"feasibilityDeadline": "2022-05-11T14:51:52.416Z",
"deliveryRequest": {
"locations": {
"type": "set",
"mechanisms": [
{
"type": "email-link"
},
{
"type": "platform"
}
]
},
"formats": {
"type": "set",
"formats": [
"SLC_SICD"
]
}
}
}
}
Response Code: 201: A new order has been created
Response Body:
{
"id": "1234-5678-9012",
"descriptiveName": "string",
"purchaseReason": "string",
"customerNotes": "string",
"request": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customer": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"products": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"statusHistory": [
{
"state": "created",
"when": "2022-05-11T14:51:52.443Z"
}
]
}
Endpoints: Place an Order for Tasking an Image
This endpoint enables authorized users to place an order for tasking new images.
In the request body:- The top-level fields descriptiveName, purchaseReason, and customerNotes fields are all optional.
- The top-level field contract is a UUID that may be provided if the order is for a specific contract or project. Ursa will provide this UUID for you to include in the request, if necessary.
- The rest of the fields listed here are within the request top-level field. The type field is a required field and must have the value tasking-parameters for tasking orders.
- The contactEmail will receive an email confirmation at the time of order creation and order completion.
- The deliveryRequest field tells Ursa how and in what format to deliver images. This field is optional is prior delivery arrangements have been made with Ursa previously. Available delivery mechanisms and formats are enumerated at the end of this document.
- Note: the platform mechanism must be used to later utilize the GET
/ios/order/{orderID}/download/{blobID}/url the endpoint.
- Note: the platform mechanism must be used to later utilize the GET
- In the aois field, we currently only support a single AOI of type point, with a latitude, longitude, and radius.
- In the schedule field, we currently only support a single schedule of type range, with a minimum and maximum datetime.
- In the collectionParameters:
- The type field is required and can be set to “sar” or “optical”
- The imagingMode field is required for sar collections. It is optional for optical collections. Available imaging mode enumerations are provided at the end of this document.
- The vendorPreferences field is optional and can be used to specify which vendors are preferred, required, allowed or excluded. Available vendors and available vendor preferences are enumerated at the end of this document.
- Every other field has a constraint indicating what values are being requested and a level indicating how necessary the constraint is to fulfilling the request. Available levels are enumerated at the end of this document.
- polarization is an optional field for sar tasking requests. Possible enumerations are provided at the end of this document.
- maxCloudCover is an optional numeric field for optical tasking requests. This field indicates the maximum allowed cloud cover for a given image, in a number from 0.0 to 1.0. For example, a value of 0.1 means the optical image may not exceed 10% cloud cover.
- resolutionMeters, elevationAngleDeg, and productType are optional fields for both sar and optical tasking requests. Relevant enumerations are provided at the end of this document.
- Note: for sar collections, we provide URSA_TIFF_GEC, URSA_TIFF_GTC, URSA_TIFF_POV, and URSA_NITF_SICD_SLC products by default if productType is not specified. For optical collections, we provide TIFF_ORTHO by default if productType is not specified.
Method: POST
Path: /ios/order/
Request Body, SAR Tasking Request:
{
"descriptiveName": "string",
"purchaseReason": "string",
"customerNotes": "string",
"contract": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"request": {
"contactEmail": "user@example.com",
"feasibilityDeadline": "2024-06-01T00:00:00.000Z",
"deliveryRequest": <same-as-catalog-request>,
"type": "tasking-parameters",
"aois": [
{
"type": "point",
"latitude_deg": 0,
"longitude_deg": 0,
"radius_km": 0
}
],
"schedule": [
{
"type": "range",
"range": {
"min": "2022-05-11T19:24Z",
"max": "2022-05-11T19:24Z"
}
}
],
"collectionParameters": [
{
"type": "sar",
"imagingMode": {
"constraint": "SPOTLIGHT",
"level": "preferred"
},
"vendorPreferences": {
"SIIS": "excluded",
"ICEYE": "allowed",
"CAPELLA": "preferred"
},
"polarization": {
"constraint": [
"HH",
"VV"
],
"level": "preferred"
},
"resolutionMeters": {
"constraint": {
"min": 0,
"max": 0
},
"level": "preferred"
},
"elevationAngleDeg": {
"constraint": {
"min": 0,
"max": 0
},
"level": "preferred"
},
"productType": {
"constraint": "VEND_SLC",
"level": "preferred"
}
}
]
}
}
Request Body, Optical Tasking Request:
{
"descriptiveName": "string",
"purchaseReason": "string",
"customerNotes": "string",
"contract": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"request": {
"contactEmail": "user@example.com",
"feasibilityDeadline": "2024-06-01T00:00:00.000Z",
"deliveryRequest": <same-as-catalog-request>,
"type": "tasking-parameters",
"aois": [
{
"type": "point",
"latitude_deg": 0,
"longitude_deg": 0,
"radius_km": 0
}
],
"schedule": [
{
"type": "range",
"range": {
"min": "2022-05-11T19:24Z",
"max": "2022-05-11T19:24Z"
}
}
],
"collectionParameters": [
{
"type": "optical",
"imagingMode": {
"constraint": "EO_MSI",
"level": "preferred"
},
"vendorPreferences": {
"SIIS": "excluded",
"PLANET": "allowed",
"BLACKSKY": "preferred"
},
"maxCloudCover": {
"constraint": 0.1,
"level": "required"
},
"resolutionMeters": {
"constraint": {
"min": 0,
"max": 0
},
"level": "preferred"
},
"elevationAngleDeg": {
"constraint": {
"min": 0,
"max": 0
},
"level": "preferred"
},
"productType": {
"constraint": "TIFF_ORTHO",
"level": "preferred"
}
}
]
}
}
Response Code: 201: A new order has been created
Response Body: Response body will be in the same format as catalog order responses
Endpoints: Price an Order Before Purchase
This endpoint will return the price of an order without placing the order or charging the customer. The returned price is expressed in USD. At the time of writing, some images in the Ursa catalog are not yet priced for resale, and will result in a null price in the catalogPrice body. At the time of writing, pricing for these images should be inquired about by email.
Method: POST
Path: /ios/order/price
Request Body: Same request body as catalog or tasking order.
Response Code: 200: OK
Response Body for Catalog Orders:
{
"catalogPrice": {
"3fa85f64-5717-4562-b3fc-2c963f66afa6": 1000.00,
"ab533203-9115-4327-ac9a-58f1d148ee44": 1200.00
}
}
Response Body for Tasking Orders:
{
"taskOrderPrice": 1550.00
}
Endpoints: Get Order Status
This endpoint will return an order and its status for a given order ID.
- The products field refers to the products attached to that specific order. Currently each order will have a maximum of one product, which can be used in the subsequently described GET endpoints.
- The statusHistory indicates the history of states for the order, with the final state being the current state of the order. See order state enumerations at the end of this document.
- The request field is an ID that can be used in the GET /ios/order/request/{requestId} endpoint to retrieve the original request.
- The owner field is the UUID associated with the user creating the order. The customer field is the UUID for the customer/company the user is associated with (multiple users can be associated with a single customer).
Method: GET
Path: /ios/order/{orderID}
Request Body: None
Response Code: 200: OK
Response Body:
{
"id": "1234-5678-9012",
"descriptiveName": "string",
"purchaseReason": "string",
"customerNotes": "string",
"request": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customer": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"products": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"statusHistory": [
{
"state": "created",
"when": "2022-05-11T14:51:52.443Z"
}
]
}
Endpoints: Get All User Orders
Get all orders associated with the user making the request. The response will be a list of orders in the format of orders retrieved from GET /ios/order/{orderId}.
Method: POST
Path: /ios/order
Request Body: None
Response Code: 200: OK
Response Body:
[
{
"id": "1234-5678-9012",
"descriptiveName": "string",
"purchaseReason": "string",
"customerNotes": "string",
"request": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customer": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"products": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"statusHistory": [
{
"state": "created",
"when": "2022-05-11T14:51:52.443Z"
}
]
},
{
"id": "2345-6789-0123",
"descriptiveName": "string",
"purchaseReason": "string",
"customerNotes": "string",
"request": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customer": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"products": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"statusHistory": [
{
"state": "created",
"when": "2022-05-12T14:51:52.443Z"
}
]
}
]
Endpoints: Get Order Request
Get a request using the request ID returned in a POST /ios/order or GET /ios/order/{orderId} call.
Method: GET
Path: /ios/order/request/{requestId}
Request Body: None
Response Code: 200: OK
Response Body: JSON request in format provided to POST /ios/order
Endpoints: Get Product Status
This endpoint retrieves the product associated with a specific orderId. The product will look slightly different depending on if the order is a catalog order or a new tasking order. Both types of products will contain:
- The id and order fields showing the IDs requested in the endpoint path
- An orderDeliveries field that will contain an ID to access deliveries when they are available.
- Note: this field will initially be empty when the order is first created. It will get populated as the order is fulfilled by Ursa.
- Note: this field is a list, but currently we support a single orderDelivery ID per product.
- The statusHistory indicates the history of states for the product, with the final state being the current state of the product. See product state enumerations at the end of this document.
- Note: this is a separate status from the individual deliveryItem statuses described below.
In catalog order requests, the following product fields will contain catalog-specific values:
- The type field will have a value of “OrderProduct”
- The images field will have images of type “priced-image”. This will contain metadata about the ordered images as well as their price and currency.
In tasking order requests, the product will have fields:
- The type field will have a value of “taskingOrderProduct”
- The images field will have images of type “Image”. This will contain image metadata, but no price or currency.
- Note: the images field will initially be empty and will be populated as tasking requests are fulfilled.
- A taskingOrders field with:
- imagingMode, the determining factor in the price of a tasking request.
- price and currency of the tasking request.
Method: GET
Path: /ios/order/{orderID}/product/{productID}
Request Body: None
Response Code: 200: OK
Response Body for Catalog Order Products:
{
"type": "OrderProduct",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"order": "1234-5678-9012",
"orderDeliveries": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"statusHistory": [
{
"state": "created",
"when": "2022-05-12T18:47:37.661Z",
}
],
"images": [
{
"type": "priced-image""assignedId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"startTimeUTC": "2022-05-12T18:47:37.661Z",
"vendor": "CAPELLA",
"vendorMode": "CAP_SPOTLIGHT",
"resolution": "0.25m",
"wkt": "MULTIPOLYGON(((-76.582054 42.4832555,-76.448844 42.499964,-76.43099242.395082,-76.558708 42.388490,-76.582054 42.483255)))",
"price": 3163,
"currency": "USD"
}
]
}
Response Body for Tasking Order Products:
{
"type": "taskingOrderProduct",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"order": "1234-5678-9012",
"orderDeliveries": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"statusHistory": [
{
"state": "created",
"when": "2022-05-12T18:47:37.661Z",
}
],
"taskingOrders": [
{
"imagingMode": "SPOTLIGHT",
"price": 0,
"currency": "USD"
}
],
"images": [
{
"type": "Image",
"assignedId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"startTimeUTC": "2022-05-12T18:44:50.358Z",
"vendor": "CAPELLA",
"vendorMode": "CAP_SPOTLIGHT",
"resolution": "0.25m",
"wkt": "MULTIPOLYGON(((-76.582054 42.4832555,-76.448844 42.499964,-76.43099242.395082,-76.558708 42.388490,-76.582054 42.483255)))"
}
]
}
Endpoints: Get Delivery Items
This endpoint gets all delivery items for a given productId in an order.
- Currently, each order will have at most one productId. Each product is a list of json objects (“deliveries”) that each have a number of deliveryItems. Currently, each product will have at most one “delivery” (the list will be of size 1), but that delivery can have multiple deliveryItems as shown below.
- Each deliveryItem will have a format and a where field. The format field indicates the format of the delivered image and can be one of enumerated DeliveryRequest Formats below. The where field will be one type of DeliveryRequest Mechanisms enumerated below. The platform type will have an assignedId and blobId, which can be used in the
download endpoint below. The email-link type will have a uri, such as an S3 bucket, where users can access their delivered images. This link will be included in the delivery email notification. - The statusHistory indicates the history of states of the delivery, with the final state being the current state of the delivery. See delivery state enumerations at the end of this document.
Method: GET
Path: /ios/order/{orderID}/product/{productID}/deliveries
Request Body: None
Response Code: 200: OK
Response Body:
[
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"deliveryItems": [
{
"format": "SLC_SICD",
"where": {
"type": "platform",
"assignedId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"blobId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
{
"format": "SLC_SICD",
"where": {
"type": "email-link",
"uri": "s3://s3-delivery-bucket/"
}
}
],
"statusHistory": [
{
"state": "creating",
"when": "2022-05-12T12:29:35.224Z",
}
]
}
]
Endpoints: Download Image from Blob
Generates a pre-signed URL for a specific image blobId and returns that URL in the response body. The URL will be valid for 5 minutes after creation.
- An order’s blobIds can be retrieved via the GET /ios/order/{orderID}/product/{productID}/deliveries described above.
- Note: the delivery item must be in the state “delivered” for URL retrieval to work.
Method: GET
Path: /ios/order/{orderID}/download/{blobID}/url
Request Body: None
Response Code: 200: OK
Response Body: https://s3.amazonaws.com/presigned-url
Enumerations
DeliveryRequest Mechanisms
Mechanism | Description |
email-link | A URI to the delivered images will be emailed upon order completion |
platform | A blob ID will be generated to allow for downloads via the GET /ios/order/{orderID}/download/{blobID}/url endpoint. |
DeliveryRequest Formats
Format | Description |
SLC_SICD | Ursa standardized Single Look Complex, Sensor Independent Complex Data |
GTC | Geocoded and Terrain Corrected GeoTIFF |
GEC | Geocoded Ellipsoid Corrected GeoTIFF |
XML | Extensible Markup Language (metadata only) |
thumbnail | PNG Image File |
Collection Type | Vendor |
sar | AIRBUS |
sar | CAPELLA |
sar | EGEOS |
sar | ICEYE |
sar | MDA |
sar | SIIS |
sar | UMBRA |
optical | AIRBUS |
optical | BLACKSKY |
optical | PLANET |
optical | SIIS |
Vendor Preference | Description |
required | The order should only be fulfilled if it can be done with this vendor |
preferred | Use this vendor rather than others if feasible |
allowed | These vendors may be used to fulfill order (whitelist) |
excluded | Do not fulfill imagery with images from this vendor (blacklist) |
Collection Type | Imaging Mode |
sar | SPOTLIGHT |
sar | STRIPMAP |
optical | EO_MSI |
optical | EO_VISUAL |
Polarization |
VV |
VH |
HV |
HH |
HH_VV |
HH_HV |
VH_VV |
HH_HV_VH_VV |
LH_LV |
RH_RV |
Collection Type | Product Type | Description |
sar | VEND_TIFF_GRD | Vendor-provided Ground Range Detected image in GeoTIFF format |
sar | VEND_TIFF_GEC | Vendor-provided Geocoded Ellipsoid Corrected image in GeoTIFF format |
sar | VEND_TIFF_GTC | Vendor-provided Geocoded Terrain Corrected image in GeoTIFF format |
sar | VEND_NITF_SIDD_PGD | Vendor-provided Sensor Independent Derived Data image in NITF format |
sar | VEND_SLC | Vendor-provided Single Look Complex image |
sar | VEND_NITF_SICD_SLC | Vendor-provided Sensor Independent Complex Data image in NITF format |
sar | URSA_TIFF_GEC | Ursa-provided Geocoded Ellipsoid Corrected image in GeoTIFF format |
sar | URSA_TIFF_GTC | Ursa-provided Geocoded Terrain Corrected image in GeoTIFF format |
sar | URSA_TIFF_POV | Ursa-provided Point of View image in GeoTIFF format |
sar | URSA_NITF_SICD_SLC | Ursa-provided Sensor Independent Complex Data image in NITF format |
optical | TIFF_ORTHO | Orthorectified image in GeoTIFF format |
optical | TIFF_NON_ORTHO | Non-orthorectified image in GeoTIFF format |
optical | NITF_ORTHO | Orthorectified image in NITF format |
optical | NITF_NON_ORTHO | Non-orthorectified image in NITF format |
Order State | Description |
created | Order has been created and is waiting for the next step |
open | Ursa internal-only state |
payment-pending | Payment is needed for the order to progress |
in-progress | Order is ready to be fulfilled by the Ursa delivery team |
cancelled | Order has been cancelled |
under-review | Order is currently under review by the Ursa delivery team |
accepted | Order has been approved and is ready for delivery |
closed | Order has been rejected |
completed | Order has been fulfilled and delivered to the customer |
Product State | Description |
created | Product item has been created and is waiting for the next step |
acknowledged | Product has been acknowledged by the Ursa delivery team |
waiting-feasibility | Product is waiting for feasibility checks vendor |
received-feasibility | Feasibility has been received |
ordered | Product has been ordered from the vendor |
processing | Product is being processed by Ursa |
waiting-approval | Product is waiting for approval from the Ursa delivery team |
cancellation-requested | A cancellation request has been received from the customer |
cancelled | The customer has cancelled their order for this product |
failed | Product creation has failed and the order cannot be completed |
completed | Product creation has completed successfully |
Product State | Description |
creating | Delivery item is being created |
created | Delivery item has been created and is waiting for the next step |
ingesting | Item is in the process of being ingested into Ursa’s system |
delivering | Item is in the process of being delivered |
partial | Delivery item was only partially delivered |
failed | Delivery failed for this item |
delivered | Delivery item is delivered and ready to be retrieved by the customer |