Place order APIs with and without Streamlined Place Order
Key Takeaway
The Place Order Action API validates before the buyer pays: call the prepare action, process payment, then call the submit action. The Checkout Orders API validates after payment and doesn't support custom place-order validation.
Place Order is the last checkout step, which turns the buyer's checkout session into a permanent order. B2B Commerce offers two APIs for Place Order. The Checkout Orders API (full name Commerce Webstore Checkout Orders API, or Place Order V1) does the work in a single step. The Place Order Action API (full name Commerce Webstore Checkout Place Order Action API, or Place Order V2, also called Streamlined Place Order) splits the work around payment into two steps, so validations run before the buyer pays. Your choice decides when validation happens and which customizations you can use.
The two Place Order APIs
You choose one of two Place Order implementations. For new implementations, use the Place Order Action API, because it has better error handling, supports webhooks, processes payments asynchronously, and allows more modular customization. The Checkout Orders API fits simple, synchronous scenarios that need little customization.
# Checkout Orders API
POST /commerce/webstores/{webstoreId}/checkouts/{activeOrCheckoutId}/orders
# Place Order Action API
POST /commerce/webstores/{webstoreId}/checkouts/{activeOrCheckoutId}/orders/actionsThe Checkout Orders API takes no request body. One call runs validations, inventory handling, coupon processing, and order placement.
The Place Order Action API path ends in /actions. You call that same endpoint twice, because the request body must include an action, either prepare or submit. The prepare action runs validations and readiness checks, including inventory handling and coupon processing. The submit action finalizes and creates the order.
| Checkout Orders API | Place Order Action API | |
|---|---|---|
| Success response | 201 Created with the Order Reference Number (ORN) | 200 OK, and the submit action returns the ORN |
| Failure response | 422 Unprocessable Entity | 422 Unprocessable Entity |
| Inventory reservation | Creates the final reservation | prepare creates a temporary reservation, and the final one happens during order placement |
Only the Place Order Action API supports extensions (for pricing, promotions, tax, and shipping) and webhooks. If a requirement needs custom place-order validation or webhooks, the Checkout Orders API cannot meet it.
The Place Order Action API requires Streamlined Place Order to be enabled for the webstore. Streamlined Place Order is enabled by default in B2B Lightning Web Runtime (LWR) stores created in Summer '25 and later.