Skip to main content

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_id and client_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.

FilterTypeDescription
statusstringOrder status codes, e.g. ["CONFIRMED"]. The codes are configured per tenant
exportStatusesstringExport state: "exported", "finished", "failed" or empty string
typestringdropshipment, purchase, quotation, stock
userIdintegerFilter by the ids of the contacts or customers who placed the orders
companyIdsintegerFilter by company IDs
termstringFree text search across order fields
termFieldsstringFields to search, e.g. ["recipientCompany", "email"]
createdAtobjectDate range: {"greaterThan": "...", "lessThan": "..."}
lastModifiedAtobjectDate range: {"greaterThan": "...", "lessThan": "..."}
pageintegerPage number (starts at 1)
offsetintegerItems per page (defaults to 12)
sortInputsobjectSort 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.