Create order from draft
Places the order a draft describes, using the options, pricing, and defaults that draft resolved.
The draft is addressed by the id returned from POST /draft-orders; nothing about the order can be changed here. To change it, create a new draft and place that one instead. A draft can only be placed once: a second request for a draft that already has an order returns 409 DRAFT_ORDER_ALREADY_PLACED, naming the order it became.
Pass an idempotencyKey to make retries safe: resubmitting the same draft with the same key within 5 minutes returns the order already placed instead of placing a second one. 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 draft that does not exist and a draft belonging to another organization both return 404, so the endpoint cannot be used to discover which draft ids exist.
Validation runs at placement exactly as it does for POST /orders, so a draft that priced cleanly can still be rejected with 400 if something it depends on — availability, a fulfillment date, a payment method — has changed since it was drafted. The codes are the ones listed on POST /orders.
/{id}/orderAuthorizationBearer token · headerrequiredAPI token from the SIBI developer dashboard (developer.sibipro.com), sent as Authorization: Bearer <token>.
create:from-draft:ordersidstringrequiredapplication/jsonidempotencyKeystringMakes retries safe: resubmitting the same draft with the same key within 5 minutes returns the order already placed instead of placing a second one.
The order was placed from the draft.
idstringrequiredThe unique identifier for the created order
orderUrlstringrequiredA link to the order in the Sibi web app
warrantyOrderIdstring | nullrequiredThe id of the warranty sub-order. null unless the request included a warranty selection and the warranty order was created successfully.
warrantyOrderUrlstring | nullrequiredA link to the warranty sub-order in the Sibi web app. null unless the request included a warranty selection and the warranty order was created successfully.
Bad request - the draft could not be placed. 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 is missing the scope this operation requires, or was minted for the other environment
codestringrequiredError code indicating the type of error
messagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequiredNot found - no draft order with this id is visible to the caller
codestringrequiredError code indicating the type of error
DRAFT_ORDER_NOT_FOUNDmessagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequiredConflict - this draft has already been placed; the response names the order it became
codestringrequiredError code indicating the type of error
DRAFT_ORDER_ALREADY_PLACEDmessagestringrequiredHuman-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