Skip to content
SIBISIBI Developers
Esc
navigateopen⌘Jpreview

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.

POST/{id}/order
Authorization
AuthorizationBearer token · headerrequired
API token from the SIBI developer dashboard (developer.sibipro.com), sent as `Authorization: Bearer <token>`.
Scopes:create:from-draft:orders
Path parameters
idstringrequired
Request body
application/json
idempotencyKeystring
Makes retries safe: resubmitting the same draft with the same key within 5 minutes returns the order already placed instead of placing a second one.
Responses
201The order was placed from the draft.
idstringrequired
The unique identifier for the created order
orderUrlstringrequired
A link to the order in the Sibi web app
warrantyOrderIdstring | nullrequired
The id of the warranty sub-order. `null` unless the request included a warranty selection and the warranty order was created successfully.
warrantyOrderUrlstring | nullrequired
A 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.
400Bad request - the draft could not be placed. See the POST /orders operation description for the possible error codes.
codestringrequired
Error code indicating the type of error
Allowed: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_OFFICE
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
401Unauthorized - Missing or invalid authentication
codestringrequired
Error code indicating the type of error
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
403Forbidden - The token is missing the scope this operation requires, or was minted for the other environment
codestringrequired
Error code indicating the type of error
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
404Not found - no draft order with this id is visible to the caller
codestringrequired
Error code indicating the type of error
Allowed:DRAFT_ORDER_NOT_FOUND
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
409Conflict - this draft has already been placed; the response names the order it became
codestringrequired
Error code indicating the type of error
Allowed:DRAFT_ORDER_ALREADY_PLACED
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
500Internal server error
codestringrequired
Error code indicating the type of error
messagestringrequired
Human-readable error message explaining what went wrong
detailsobject[]
Detailed validation errors when applicable
Show properties
Array of object
fieldstringrequired
errorstringrequired
Request
curl -X POST "https://api.sibipro.com/draft-orders/TEMP-1234/order" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotencyKey": "b8f0e6d2-1c3a-4f5e-9a7b-0d2c4e6f8a1b"
}'
Response
{
  "id": "SIBI-12345678",
  "orderUrl": "https://web.sibipro.com/orders/SIBI-12345678",
  "warrantyOrderId": "string",
  "warrantyOrderUrl": "string"
}