Skip to main content

Create an order

Create an order in Propeller from an external system like an ERP or marketplace, including line items, addresses, payment and shipping data.

Endpoint​

POST /v2/orders

Request​

{
"userId": 174112,
"email": "customer@example.com",
"currency": "EUR",
"language": "NL",
"type": "dropshipment",
"status": "NEW",
"items": [
{
"class": "product",
"productId": 408,
"quantity": 3,
"sku": "WBH-PRO-500",
"name": "Wireless Bluetooth Headset Pro",
"originalPrice": 89.95,
"price": 89.95,
"priceTotal": 269.85,
"taxPercentage": 21,
"taxCode": "H",
"isBonus": "N"
}
],
"paymentData": {
"net": 0,
"gross": 0,
"tax": 0,
"taxPercentage": 21,
"method": "ACCOUNT",
"status": "UNKNOWN",
"overruled": "N"
},
"postageData": {
"method": "DELIVERY",
"taxPercentage": 21,
"gross": 6.95,
"net": 8.41,
"tax": 1.46,
"carrier": "PostNL",
"partialDeliveryAllowed": "N",
"overruled": "N"
},
"total": {
"gross": 276.80,
"net": 334.93,
"tax": 58.13,
"discountType": "N",
"discountValue": 0
},
"addresses": [
{
"type": "invoice",
"firstName": "Jan",
"lastName": "de Vries",
"company": "Voorbeeld B.V.",
"street": "Keizersgracht",
"number": "100",
"postalCode": "1015AA",
"city": "Amsterdam",
"country": "NL",
"gender": "M",
"icp": "N"
},
{
"type": "delivery",
"firstName": "Jan",
"lastName": "de Vries",
"company": "Voorbeeld B.V.",
"street": "Keizersgracht",
"number": "100",
"postalCode": "1015AA",
"city": "Amsterdam",
"country": "NL",
"gender": "M",
"icp": "N"
}
]
}

Response​

{
"id": 20130,
"uuid": "019d1f84-c51e-733f-9043-cb02100d2cb8",
"status": "NEW",
"type": "dropshipment",
"email": "customer@example.com",
"currency": "EUR",
"language": "NL",
"date": "2026-03-24T11:04:48.159Z",
"createdAt": "2026-03-24T11:04:48.159Z",
"postageData": {
"method": "DELIVERY",
"taxPercentage": 21,
"gross": 6.95,
"net": 8.41,
"tax": 1.46,
"partialDeliveryAllowed": "N",
"overruled": "N",
"carrier": "PostNL"
},
"paymentData": {
"net": 0,
"gross": 0,
"tax": 0,
"taxPercentage": 21,
"method": "ACCOUNT",
"status": "UNKNOWN",
"overruled": "N"
},
"total": {
"gross": 276.80,
"net": 334.93,
"tax": 58.13,
"discountValue": 0,
"discountType": "N"
},
"addresses": [
{
"type": "invoice",
"firstName": "Jan",
"lastName": "de Vries",
"company": "Voorbeeld B.V.",
"street": "Keizersgracht",
"number": "100",
"postalCode": "1015AA",
"city": "Amsterdam",
"country": "NL",
"id": 34861,
"orderId": 20130
},
{
"type": "delivery",
"firstName": "Jan",
"lastName": "de Vries",
"company": "Voorbeeld B.V.",
"street": "Keizersgracht",
"number": "100",
"postalCode": "1015AA",
"city": "Amsterdam",
"country": "NL",
"id": 34862,
"orderId": 20130
}
],
"userId": 174112,
"exportedAt": null,
"exportStatus": "",
"exportMessage": null
}

How it works​

The request requires a valid userId that exists in Propeller. The items array contains line items with product references, quantities and pricing. Each item needs class set to product, a sku and pricing fields including originalPrice, price, priceTotal and taxPercentage. To link the line to a product in Propeller, add its productId, or productSource with the product's source as name and its sourceId as id. A line without them keeps its sku and name as text. The addresses array must include at least one invoice and one delivery address. On every money field gross excludes tax and net includes it; paymentData and postageData carry the transaction and shipping costs, not the order total. If the order is imported from an external system and should not be re-exported, set exportStatus to exported on creation to prevent export loops.

See also​