Creates a new draft order in one shot. Customer, items, addresses, currency, market, channel, locale, notes, metadata, and a coupon code can all be provided inline.
Setting preferred_stock_location_id pins the order’s preferred fulfillment
location — Order Routing’s built-in PreferredLocation rule consumes it
when picking which stock location ships each shipment.
Invalid coupon codes are non-fatal — the order is created and the failure is reported on the service result (not in the API response body for now).
Required scope: write_orders (for API-key authentication).
Documentation Index
Fetch the complete documentation index at: https://spreecommerce.org/docs/llms.txt
Use this file to discover all available pages before exploring further.
Secret API key for admin access
JWT token for admin user authentication
Bearer token for admin authentication
"customer@example.com"
Customer ID. Alias: user_id (legacy).
When true with customer_id, copies the customer's saved billing/shipping addresses onto the order.
"USD"
Market ID
Channel ID. Defaults to the store primary channel when omitted.
Stock Location ID to prefer for fulfillment. Order Routing's built-in PreferredLocation rule reads this and ranks the location first; routing falls back to the next rule when the preferred location can't cover the cart.
"en-US"
Public, customer-visible note
Staff-only note
Arbitrary key/value metadata
Existing customer address ID
Existing customer address ID
Optional. Applied non-fatally; invalid codes do not block creation.
order created with preferred_stock_location_id