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": 269.85,
"gross": 326.52,
"tax": 56.67,
"taxPercentage": 21,
"method": "invoice",
"status": "unknown",
"overruled": "N"
},
"postageData": {
"method": "DELIVERY",
"taxPercentage": 21,
"gross": 6.95,
"net": 5.74,
"tax": 1.21,
"carrier": "PostNL",
"partialDeliveryAllowed": "N",
"overruled": "N"
},
"total": {
"gross": 276.80,
"net": 332.26,
"tax": 55.46,
"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": 5.74,
"tax": 1.21,
"partialDeliveryAllowed": "N",
"overruled": "N",
"carrier": "PostNL"
},
"paymentData": {
"net": 269.85,
"gross": 326.52,
"tax": 56.67,
"taxPercentage": 21,
"method": "invoice",
"status": "unknown",
"overruled": "N"
},
"total": {
"gross": 276.80,
"net": 332.26,
"tax": 55.46,
"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 productId or sku to identify the product, and pricing fields including originalPrice, price, priceTotal and taxPercentage. The addresses array must include at least one invoice and one delivery address. 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