---
search:
  tags:
    - Operations
    - POST
seo:
  description: >-
    Places an order for one or more products from a supplier. Reference for the
    POST / endpoint in the Orders API.
sidebar:
  label: Create order
  badge: POST
title: Create order
type: openapi-operation
---
Places an order for one or more products from a supplier.

Sensible defaults are applied for anything not specified: the fulfillment method defaults to standard delivery, the delivery date to the earliest available, the distribution center to the closest one, and quantity to 1 per line item. Validation runs before placement — the supplier, line items, options, fulfillment choices, and payment method are all checked, and the request is rejected with a specific error code when something doesn't hold together.

Pass an `idempotencyKey` to make retries safe: resubmitting the same order with the same key within 5 minutes returns the existing order instead of creating a duplicate. This matters on failure: a 5xx response or a timeout does not guarantee the order was not placed, so retry only with the same `idempotencyKey` — a retry without one can create a duplicate order.

Validation failures return 400 with one of these codes: `VALIDATION_ERROR`, `INVALID_SUPPLIER`, `PRODUCTS_NOT_FOUND`, `PRODUCTS_DISCONTINUED`, `INVALID_PRODUCT_OPTIONS`, `INVALID_UNIT_OF_MEASURE`, `ADDON_WITH_ID_NOT_AVAILABLE`, `ADDON_WITH_TITLE_NOT_AVAILABLE`, `CONFLICTING_WARRANTY_INPUT`, `WARRANTY_SKU_NOT_AVAILABLE_FOR_PRODUCT`, `NO_AVAILABLE_WARRANTIES_FOR_PRODUCT`, `INVALID_FULFILLMENT_METHOD`, `NO_AVAILABLE_DELIVERY_METHODS`, `NO_AVAILABLE_FULFILLMENT_DATES`, `INVALID_REQUESTED_DELIVERY_DATE`, `NO_AVAILABLE_PAYMENT_METHODS`, `NO_DISTRIBUTION_CENTER_FOUND`, `INVALID_SUBSCRIBERS`, `NO_SHIP_TO_OFFICE_PROPERTY_ID_PROVIDED_WHEN_USING_SHIP_TO_OFFICE`, `OFFICE_PROPERTY_ID_PROVIDED_FOR_NON_SHIP_TO_OFFICE`.

`POST /`
