Create draft order
Prices an order without placing it, returning the resolved options, pricing, and availability for the request.
The body has the same shape as POST /orders, so a caller can preview an order and then place the identical body. Three fields behave differently here. paymentMethodId is optional: omit it to draft against the default payment method of the caller and read the alternatives from availablePaymentMethods in the response. idempotencyKey and warrantyOrderPaymentMethodId are accepted so the bodies stay interchangeable, but they only take effect at placement and are ignored here.
The response resolves every default the order would get — the distribution center, fulfillment method, delivery date, and payment method — and lists the alternatives available for each, alongside per-line availability, selected and available options, addons, and warranties, plus the subtotal, tax, fees, discounts, and total.
Validation runs exactly as it does for POST /orders: failures return 400 with one of the codes listed on that operation.
/AuthorizationBearer token · headerrequiredAPI token from the SIBI developer dashboard (developer.sibipro.com), sent as Authorization: Bearer <token>.
create:draft-ordersapplication/jsonsupplierstringThe supplier to order from, identified by its slug. Required unless the deprecated seller is sent.
sellerstringdeprecatedDeprecated: use supplier instead. Ignored when supplier is also sent.
addressOrderAddressrequiredThe address must correspond to a valid property in the system. If the address is not valid, the request fails with an error.
Show propertiesHide properties
line1stringrequiredStreet address
line2stringAdditional address line
citystringrequiredCity
stateOrProvincestringrequiredState or province
postalCodestringrequiredPostal code
countrystringCountry. Defaults to USA.
lineItemsOrderLineItemInput[]requiredThe products to order. At least one line item must be specified, and at most 100.
Show propertiesHide properties
OrderLineItemInputskustringrequiredThe SKU of the product to order
quantityintegerDefaults to 1 if not provided.
unitOfMeasurestringIf not provided, defaults to ordering a single instance of the product (1 each, 1 sq ft, etc). Note that this may cause the quantity to be rounded up to the nearest whole multiple of the minimum order quantity.
optionsobject[]Product options. Options a product requires must be provided with valid values.
Show propertiesHide properties
objectkeystringrequiredOption key, as listed on the product
valuestringrequiredOption value
addonIdsstring[]Ids of addons to attach to this product line. Must be available for this product. Each id at most once.
addonTitlesstring[]Addons can be referenced by title instead of id.
warrantySkustringAttach a warranty to this product line. Must be one of the warranty SKUs in this product's available warranties. Omit to skip warranty coverage for this line. At most one warranty per line.
applyWarrantyCoveragebooleanPer-product warranty coverage flag. true auto-picks the first available warranty for this line and is rejected with NO_AVAILABLE_WARRANTIES_FOR_PRODUCT if the product has none (an explicit warrantySku on the same line wins). false explicitly opts the line out and is rejected with CONFLICTING_WARRANTY_INPUT if warrantySku is also set. Omitted attaches no warranty.
contactInfoOrderContactInforequiredContact information for the customer receiving the order.
Show propertiesHide properties
firstNamestringrequiredlastNamestringrequiredemailstring<email>requiredphonestringrequiredfulfillmentMethodIdstringFulfillment method id for the order. If not provided, defaults to standard delivery.
fulfillmentMethodTypestringFulfillment method type for the order. Defaults to 'DELIVERY' when both are available.
DELIVERYPICKUPshipToOfficePropertyIdstringThe property id of the office to ship the order to. Required when fulfillmentMethodId is 'ship-to-office', and only valid in that case.
requestedDeliveryDatestringThe date the customer wants the order delivered. If not provided, defaults to the earliest available. If the provided date is not available, the request fails with an error.
poNumberstringA reference number of the caller's choosing. It does not need to be a number.
specialInstructionsstringFree-form instructions for fulfillment.
distributionCenterIdstringIf omitted the order is placed in the closest distribution center.
paymentMethodIdstringThe payment method to price the draft against. If omitted, the caller's default payment method is used. The response reports the resolved paymentMethodId and lists every alternative in availablePaymentMethods, so a caller can draft without one to discover which payment methods are available.
idempotencyKeystringA unique identifier for the order. If the same order is submitted multiple times within 5 minutes with the same idempotency key, the API returns the existing order and does not create a new one.
subscribersobject[]An optional list of subscribers to receive updates about the order in addition to the user account that placed the order. Pass an empty list to opt out of status notifications.
Show propertiesHide properties
objectemailstringrequiredOrder updates are sent to this email in addition to the user account that placed the order. An incorrectly formatted email is rejected.
warrantyOrderPaymentMethodIdstringIf provided, this payment method is used for the warranty sub-order instead of the parent order's paymentMethodId. Must be one of the warranty-order payment methods available to this caller.
The draft order was created.
idstringrequiredThe unique identifier for the draft order.
createdAtstringrequiredsupplierstringrequiredaddressOrderPropertyAddressrequiredShow propertiesHide properties
line1stringrequiredline2string | nullrequiredcitystringrequiredstateOrProvincestringrequiredpostalCodestringrequiredcountrystring | nullrequiredcontactInfoobject | nullrequiredShow propertiesHide properties
firstNamestring | nullrequiredlastNamestring | nullrequiredemailstringrequiredphonestring | nullrequiredpoNumberstring | nullrequiredspecialInstructionsstring | nullrequiredlineItemsDraftOrderLineItem[]requiredThe priced line items, with the options, addons, warranties, and availability resolved for each.
Show propertiesHide properties
DraftOrderLineItemskustringrequirednamestringrequiredsubtitlestring | nullrequiredimageUrlstringrequiredquantityintegerrequiredunitOfMeasurestringrequiredquantityPerBaseUnitnumberrequiredThe number of baseUnitOfMeasure contained in each unitOfMeasure. Multiply by quantity for the total in the base unit.
baseUnitOfMeasurestringrequiredpriceCentsintegerrequiredPrice in cents per base unit.
availabilityStatusstringrequiredAvailability of the product in the draft's distribution center.
IN_STOCKOUT_OF_STOCKSUBSTITUTION_ONLYUNAVAILABLEUNKNOWNoptionsDraftOrderLineItemOption[]requiredThe options selected on this line.
Show propertiesHide properties
DraftOrderLineItemOptionkeystringrequiredThe option identifier.
valuestringrequiredThe selected value identifier.
namestringrequiredHuman readable name of the value.
hexstring | nullrequiredCSS hex color of the value, for values that represent a color. Null when it has none.
attributesDraftOrderLineItemAttribute[]requiredCatalog attributes of this product relevant to ordering it. Empty when it has none.
Show propertiesHide properties
DraftOrderLineItemAttributenamestringrequiredvaluestringrequiredaddonsDraftOrderAddon[]requiredThe addons attached to this line.
Show propertiesHide properties
DraftOrderAddonidstringrequiredPass this as an addonIds entry to attach the addon.
titlestringrequiredpriceCentsintegerrequiredavailableAddonsDraftOrderAddon[]requiredAddons that can be attached to this line.
Show propertiesHide properties
DraftOrderAddonidstringrequiredPass this as an addonIds entry to attach the addon.
titlestringrequiredpriceCentsintegerrequiredavailableWarrantiesDraftOrderWarranty[]requiredWarranties that can be purchased alongside this line.
Show propertiesHide properties
DraftOrderWarrantyskustringrequiredPass this as warrantySku on the line item to attach the warranty.
namestringrequireddescriptionstring | nullrequiredmanufacturerstringrequiredpriceCentsintegerrequiredselectedWarrantyobjectrequiredShow propertiesHide properties
skustringrequiredPass this as warrantySku on the line item to attach the warranty.
namestringrequireddescriptionstring | nullrequiredmanufacturerstringrequiredpriceCentsintegerrequireddistributionCenterDraftOrderDistributionCenterrequiredThe distribution center the order would be fulfilled from.
Show propertiesHide properties
idstringrequirednamestringrequiredstoreNumberstringrequiredMay not actually be numeric.
phonestring | nullrequiredThe distribution center's phone number as the distributor publishes it. Null when not provided.
addressOrderPropertyAddressrequiredShow propertiesHide properties
line1stringrequiredline2string | nullrequiredcitystringrequiredstateOrProvincestringrequiredpostalCodestringrequiredcountrystring | nullrequiredfulfillmentMethodDraftOrderFulfillmentMethodrequiredThe fulfillment method resolved for this draft.
Show propertiesHide properties
idstringrequiredtitlestringrequireddescriptionstring | nullrequiredtypestringrequiredDELIVERYPICKUPavailableDatesstring[]requiredThe dates this method can fulfill on. Pass one as requestedDeliveryDate when placing the order.
availableFulfillmentMethodsDraftOrderFulfillmentMethod[]requiredEvery fulfillment method available for this order, with the dates each can fulfill on.
Show propertiesHide properties
DraftOrderFulfillmentMethodidstringrequiredtitlestringrequireddescriptionstring | nullrequiredtypestringrequiredDELIVERYPICKUPavailableDatesstring[]requiredThe dates this method can fulfill on. Pass one as requestedDeliveryDate when placing the order.
requestedDeliveryDatestringrequiredpaymentMethodIdstringrequiredThe payment method resolved for this draft.
availablePaymentMethodsDraftOrderPaymentMethod[]requiredEvery payment method available to this caller for this order.
Show propertiesHide properties
DraftOrderPaymentMethodidstringrequiredPass this as paymentMethodId when placing the order.
typestringrequiredMANUFACTURER_CREDITSTRIPEdescriptionstringrequiredlast4string | nullrequiredThe saved card's last four digits. Null for non-card methods.
pricingDraftOrderPricingrequiredShow propertiesHide properties
subtotalCentsintegerrequiredtaxCentsintegerrequiredtotalPriceCentsintegerrequiredSubtotal plus tax and fees, less discounts.
feesobject[]requiredShow propertiesHide properties
objectnamestringrequiredamountCentsintegerrequireddiscountsobject[]requiredShow propertiesHide properties
objectnamestringrequiredamountCentsintegerrequiredsubscribersobject[]requiredShow propertiesHide properties
objectemailstringrequiredBad request - Invalid input data. See the POST /orders operation description for the possible error codes.
codestringrequiredError code indicating the type of error
VALIDATION_ERRORINVALID_SUPPLIERPRODUCTS_NOT_FOUNDPRODUCTS_DISCONTINUEDINVALID_PRODUCT_OPTIONSINVALID_UNIT_OF_MEASUREADDON_WITH_ID_NOT_AVAILABLEADDON_WITH_TITLE_NOT_AVAILABLECONFLICTING_WARRANTY_INPUTWARRANTY_SKU_NOT_AVAILABLE_FOR_PRODUCTNO_AVAILABLE_WARRANTIES_FOR_PRODUCTINVALID_FULFILLMENT_METHODNO_AVAILABLE_DELIVERY_METHODSNO_AVAILABLE_FULFILLMENT_DATESINVALID_REQUESTED_DELIVERY_DATENO_AVAILABLE_PAYMENT_METHODSNO_DISTRIBUTION_CENTER_FOUNDINVALID_SUBSCRIBERSNO_SHIP_TO_OFFICE_PROPERTY_ID_PROVIDED_WHEN_USING_SHIP_TO_OFFICEOFFICE_PROPERTY_ID_PROVIDED_FOR_NON_SHIP_TO_OFFICEmessagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequiredUnauthorized - Missing or invalid authentication
codestringrequiredError code indicating the type of error
messagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequiredForbidden - the token was minted for the other environment, is not a Public REST API token, or does not carry the scope this operation requires
codestringrequiredError code indicating the type of error
messagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequiredInternal server error
codestringrequiredError code indicating the type of error
messagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequired