Order Data through the API
Once an end user has been registered and approved via KYC, resellers can place Catalog or Tasking orders on their behalf using the Reseller API. This ensures all data is correctly licensed to the designated end user, with full traceability and compliance with SatVu’s reseller policies.
This guide covers:
- Placing Catalog orders for end users via the API
- Placing Tasking orders for end users via the API
- Viewing and managing orders, including seeing the assigned end user
API ordering flows
For both Catalog and Tasking orders, the ordering flow for resellers is largely the same as for standard users. More information on the ordering flows can be found in the Catalog Tutorial, Standard Tasking Tutorial and Assured Tasking Tutorial.
The key differences in the reseller ordering flow are outlined below
Selecting a reseller contract
All orders placed for third party individuals need to be placed within a Reseller contract. If you are unsure if you have a reseller agreement in place with SatVu, please contact your SatVu representative.
Providing end user information with the order
When ordering through a reseller contract, some order endpoints have additional required fields which are used to assign a specific user to each order. This user becomes the licensee of the data upon delivery, and their usage is governed by the end user license agreement.
The user_id assigned to each registered user can be retrieved from the GET /users endpoint as described
in managing end users.
In the catalog order flow:
When placing a Catalog order for a Reseller contract using the POST /{contract_id} endpoint in
the Orders API, there is an additional reseller_end_user_id field where
the ID of the end user should be provided:
curl -X POST "https://api.satellitevu.com/orders/v3/${CONTRACT_ID}/"
-H "Authorization: Bearer ${ACCESS_TOKEN}"
-H "Content-Type: application/json"
-d '{
"item_id": ["<id>", "<id>", "<id>"],
"reseller_end_user_id": "ae409cdf-cf87-4b77-97a4-9e482eab3ce3"
}'
In the tasking order flow:
When placing a Tasking order for a Reseller contract using the POST /{contract_id}/tasking/orders/ endpoint in
the Tasking API, there is an additional reseller_end_user_id field where
the ID of the end user should be provided.
The following example is for a Standard Tasking order:
curl -X POST "https://api.satellitevu.com/otm/v2/${CONTRACT_ID}/tasking/orders/"
-H "Authorization: Bearer ${ACCESS_TOKEN}"
-H "Content-Type: application/json"
-d '{
"type": "Feature",
"geometry": {
"coordinates": [
-2.7783632,
53.3240764
],
"type": "Point"
},
"properties": {
"datetime": "2023-11-01T00:00:00/2023-12-31T23:59:59",
"satvu:day_night_mode": "day",
"max_cloud_cover": 30,
"min_off_nadir": 0,
"max_off_nadir": 45,
"product": "standard",
"addon:withhold": "7d"
},
"reseller_end_user_id": "ae409cdf-cf87-4b77-97a4-9e482eab3ce3"
}'
This example is for an Assured Tasking order:
export SIGNATURE="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
curl -X POST "https://api.satellitevu.com/otm/v2/${CONTRACT_ID}/tasking/orders/"
-H "Authorization: Bearer ${ACCESS_TOKEN}"
-H "Content-Type: application/json"
-d '{
"properties": {
"product": "assured",
"addon:withhold": "7d",
"signature": "${SIGNATURE}"
},
"reseller_end_user_id": "ae409cdf-cf87-4b77-97a4-9e482eab3ce3"
}'
You do not need to provide the end user ID when running feasibility checks or checking pricing. It is only required when submitting the final order.
Managing orders in the API
For orders placed through a Reseller contract, information about the end user associated with each order is provided
within the reseller_end_user_id field in the response of:
- GET
/{contract_id}/tasking/orders/{order_id}endpoint of the Tasking API - GET
/{contract_id}/{order_id}endpoint of the Catalog Orders API
The end user ID (reseller_end_user_id) is returned in the order response. You can retrieve further details about this
user using the POST /search/users endpoint in the Reseller API.
The following example shows a request to search all registered end users for a specific end user ID
export ACCESS_TOKEN="xxx…xxx"
curl -X POST "https://api.satellitevu.com/resellers/v1/search/users"
-H "Authorization: Bearer ${ACCESS_TOKEN}"
-H "Content-Type: application/json"
-d '{
"limit": 100,
"token": "string",
"search": [
{
"type": "partial",
"string": "ff1993e1-2a20-486c-9ee3-ecd6f6e75b33",
"fields": ["user_id"]
}
],
"kyc_status": []
}'