Search Orders
Search and export orders from Propeller to your ERP or fulfillment system. By the end of this page you will know how to retrieve orders by status and other filters.
Prerequisites
- REST API credentials (
client_idandclient_secret) - An access token (Authenticate)
Search for new orders
Use POST /orders/search to find orders matching your criteria. A typical ERP export flow searches for confirmed orders that have not yet been exported.
curl -X POST "https://api.helice.cloud/v2/orders/search?expands=ORDER_ITEMS" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": ["CONFIRMED"],
"page": 1,
"offset": 25
}'
Filter field names are singular where you might expect a plural: status, type and userId. The orders search ignores a field it does not recognise instead of rejecting it, so a misspelled filter returns a normal-looking page of unfiltered orders. Check the count in itemsFound against an unfiltered call when a filter looks like it did nothing.
The expands query parameter controls which related data is included in the response. Available options: ORDER_ITEMS, ADDRESSES, SOURCES, SHIPMENTS, SHIPMENT_ITEMS, TRACK_AND_TRACES. Multiple values can be comma separated.
Available filters
All filters are optional. If no filters are provided the endpoint returns all accessible orders with default pagination.
| Filter | Type | Description |
|---|---|---|
status | string | Order status codes, e.g. ["CONFIRMED"]. The codes are configured per tenant |
exportStatuses | string | Export state: "exported", "finished", "failed" or empty string |
type | string | dropshipment, purchase, quotation, stock |
userId | integer | Filter by the ids of the contacts or customers who placed the orders |
companyIds | integer | Filter by company IDs |
term | string | Free text search across order fields |
termFields | string | Fields to search, e.g. ["recipientCompany", "email"] |
createdAt | object | Date range: {"greaterThan": "...", "lessThan": "..."} |
lastModifiedAt | object | Date range: {"greaterThan": "...", "lessThan": "..."} |
page | integer | Page number (starts at 1) |
offset | integer | Items per page (defaults to 12) |
sortInputs | object | Sort by field and direction |
Read the response
The response contains an items array with matching orders and pagination metadata.
{
"items": [
{
"id": 182,
"uuid": "019cfbf9-4d07-7d9f-866e-897e497d5a01",
"channelId": 1,
"status": "CONFIRMED",
"type": "dropshipment",
"email": "sophie@acme.nl",
"currency": "EUR",
"language": "NL",
"date": "2026-03-17T13:25:45.538Z",
"source": "webshop",
"debtorId": "129654000",
"companyId": 131,
"postageData": {
"method": "REGULAR",
"taxPercentage": 21,
"gross": 15,
"net": 18.15,
"tax": 3.15,
"overruled": "Y",
"carrier": "DHL"
},
"paymentData": {
"method": "REKENING",
"status": "UNKNOWN",
"overruled": "N"
},
"total": {
"gross": 58.95,
"net": 71.33,
"tax": 12.38,
"discountValue": 0,
"discountType": "N"
},
"items": [
{
"sku": "838519",
"name": "HP 117A Toner Cartridge Black",
"quantity": 1,
"price": 43.95,
"priceNet": 53.18,
"costPrice": 23.56,
"taxPercentage": 21,
"supplier": "HP Official Store",
"manufacturer": "HP"
}
],
"lastModifiedAt": "2026-03-17T13:25:46.005Z"
}
],
"itemsFound": 42,
"offset": 25,
"page": 1,
"pages": 2,
"start": 1,
"end": 25
}
Each order includes postageData, paymentData and total. When you include ORDER_ITEMS in the expands parameter each order also contains its line items in the items array. Additional expand options include ADDRESSES, SOURCES, SHIPMENTS, SHIPMENT_ITEMS and TRACK_AND_TRACES.
Process and mark as exported
After processing an order in your ERP you should update its export status in Propeller. This prevents the order from appearing in your next search. Use the Update Order endpoint to set the export status on the order.
See the Search Orders endpoint for the full request and response schemas.
What's next
Continue to What's next for links to advanced integration guides.