Skip to content
SIBISIBI Developers
Esc
navigateopen⌘Jpreview

Create draft order

Prices an order without placing it, returning the resolved options, pricing, and availability for the request.

The body is the same as POST /orders, so a caller can preview an order and then place the identical body. 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.

POST/
Authorization
AuthorizationBearer token · headerrequired
API token from the SIBI developer dashboard (developer.sibipro.com), sent as `Authorization: Bearer <token>`.
Scopes:create:draft-orders
Request body
application/json
supplierstring
The supplier to order from, identified by its slug. Required unless the deprecated `seller` is sent.
sellerstringdeprecated
Deprecated: use `supplier` instead. Ignored when `supplier` is also sent.
addressOrderAddressrequired
The address must correspond to a valid property in the system. If the address is not valid, the request fails with an error.
Show properties
line1stringrequired
Street address
line2string
Additional address line
citystringrequired
City
stateOrProvincestringrequired
State or province
postalCodestringrequired
Postal code
countrystring
Country. Defaults to USA.
lineItemsOrderLineItemInput[]required
The products to order. At least one line item must be specified, and at most 100.
min items 1 · max items 100
Show properties
Array of OrderLineItemInput
skustringrequired
The SKU of the product to order
quantityinteger
Defaults to 1 if not provided.
unitOfMeasurestring
If 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.
max items 50
Show properties
Array of object
keystringrequired
Option key, as listed on the product
valuestringrequired
Option value
addonIdsstring[]
Ids of addons to attach to this product line. Must be available for this product.
max items 25
addonTitlesstring[]
Addons can be referenced by title instead of id.
max items 25
warrantySkustring
Attach 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.
applyWarrantyCoverageboolean
Per-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.
contactInfoOrderContactInforequired
Contact information for the customer receiving the order.
Show properties
firstNamestringrequired
lastNamestringrequired
emailstringrequired
phonestringrequired
fulfillmentMethodIdstring
Fulfillment method id for the order. If not provided, defaults to standard delivery.
fulfillmentMethodTypestring
Fulfillment method type for the order. Defaults to 'DELIVERY' when both are available.
Allowed:DELIVERYPICKUP
shipToOfficePropertyIdstring
The property id of the office to ship the order to. Required when `fulfillmentMethodId` is 'ship-to-office', and only valid in that case.
requestedDeliveryDatestring
The 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.
poNumberstring
A reference number of the caller's choosing. It does not need to be a number.
specialInstructionsstring
Free-form instructions for fulfillment.
distributionCenterIdstring
If omitted the order is placed in the closest distribution center.
paymentMethodIdstringrequired
The payment method to charge. Must be one of the available payment methods for this caller.
idempotencyKeystring
A 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.
max items 20
Show properties
Array of object
emailstringrequired
Order updates are sent to this email in addition to the user account that placed the order. An incorrectly formatted email is rejected.
warrantyOrderPaymentMethodIdstring
If 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.
Responses
201The draft order was created.
idstringrequired
The unique identifier for the draft order.
createdAtstringrequired
supplierstringrequired
addressOrderPropertyAddressrequired
Show properties
line1stringrequired
line2string | nullrequired
citystringrequired
stateOrProvincestringrequired
postalCodestringrequired
countrystring | nullrequired
contactInfoobject | nullrequired
Show properties
firstNamestring | nullrequired
lastNamestring | nullrequired
emailstringrequired
phonestring | nullrequired
poNumberstring | nullrequired
specialInstructionsstring | nullrequired
lineItemsDraftOrderLineItem[]required
The priced line items, with the options, addons, warranties, and availability resolved for each.
Show properties
Array of DraftOrderLineItem
skustringrequired
namestringrequired
subtitlestring | nullrequired
imageUrlstringrequired
quantityintegerrequired
unitOfMeasurestringrequired
quantityPerBaseUnitnumberrequired
The number of `baseUnitOfMeasure` contained in each `unitOfMeasure`. Multiply by quantity for the total in the base unit.
baseUnitOfMeasurestringrequired
priceCentsintegerrequired
Price in cents per base unit.
availabilityStatusstringrequired
Availability of the product in the draft's distribution center.
Allowed:IN_STOCKOUT_OF_STOCKSUBSTITUTION_ONLYUNAVAILABLEUNKNOWN
optionsDraftOrderLineItemOption[]required
The options selected on this line.
Show properties
Array of DraftOrderLineItemOption
keystringrequired
The option identifier.
valuestringrequired
The selected value identifier.
namestringrequired
Human readable name of the value.
hexstring | nullrequired
CSS hex color of the value, for values that represent a color. Null when it has none.
attributesDraftOrderLineItemAttribute[]required
Catalog attributes of this product relevant to ordering it. Empty when it has none.
Show properties
Array of DraftOrderLineItemAttribute
namestringrequired
valuestringrequired
addonsDraftOrderAddon[]required
The addons attached to this line.
Show properties
Array of DraftOrderAddon
idstringrequired
Pass this as an `addonIds` entry to attach the addon.
titlestringrequired
priceCentsintegerrequired
availableAddonsDraftOrderAddon[]required
Addons that can be attached to this line.
Show properties
Array of DraftOrderAddon
idstringrequired
Pass this as an `addonIds` entry to attach the addon.
titlestringrequired
priceCentsintegerrequired
availableWarrantiesDraftOrderWarranty[]required
Warranties that can be purchased alongside this line.
Show properties
Array of DraftOrderWarranty
skustringrequired
Pass this as `warrantySku` on the line item to attach the warranty.
namestringrequired
descriptionstring | nullrequired
manufacturerstringrequired
priceCentsintegerrequired
selectedWarrantyobjectrequired
Show properties
skustringrequired
Pass this as `warrantySku` on the line item to attach the warranty.
namestringrequired
descriptionstring | nullrequired
manufacturerstringrequired
priceCentsintegerrequired
distributionCenterDraftOrderDistributionCenterrequired
The distribution center the order would be fulfilled from.
Show properties
idstringrequired
namestringrequired
storeNumberstringrequired
May not actually be numeric.
addressOrderPropertyAddressrequired
Show properties
line1stringrequired
line2string | nullrequired
citystringrequired
stateOrProvincestringrequired
postalCodestringrequired
countrystring | nullrequired
fulfillmentMethodDraftOrderFulfillmentMethodrequired
The fulfillment method resolved for this draft.
Show properties
idstringrequired
titlestringrequired
descriptionstring | nullrequired
typestringrequired
Allowed:DELIVERYPICKUP
availableDatesstring[]required
The dates this method can fulfill on. Pass one as `requestedDeliveryDate` when placing the order.
availableFulfillmentMethodsDraftOrderFulfillmentMethod[]required
Every fulfillment method available for this order, with the dates each can fulfill on.
Show properties
Array of DraftOrderFulfillmentMethod
idstringrequired
titlestringrequired
descriptionstring | nullrequired
typestringrequired
Allowed:DELIVERYPICKUP
availableDatesstring[]required
The dates this method can fulfill on. Pass one as `requestedDeliveryDate` when placing the order.
requestedDeliveryDatestringrequired
paymentMethodIdstringrequired
The payment method resolved for this draft.
availablePaymentMethodsDraftOrderPaymentMethod[]required
Every payment method available to this caller for this order.
Show properties
Array of DraftOrderPaymentMethod
idstringrequired
Pass this as `paymentMethodId` when placing the order.
typestringrequired
Allowed:MANUFACTURER_CREDITSTRIPESIBI_INVOICING
descriptionstringrequired
last4string | nullrequired
The saved card's last four digits. Null for non-card methods.
pricingDraftOrderPricingrequired
Show properties
subtotalCentsintegerrequired
taxCentsintegerrequired
totalPriceCentsintegerrequired
Subtotal plus tax and fees, less discounts.
feesobject[]required
Show properties
Array of object
namestringrequired
amountCentsintegerrequired
discountsobject[]required
Show properties
Array of object
namestringrequired
amountCentsintegerrequired
subscribersobject[]required
Show properties
Array of object
emailstringrequired
400Bad request - Invalid input data. 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
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/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "supplier": "ge",
  "seller": "ge",
  "address": {
    "line1": "1630 W Guadalupe Rd",
    "line2": "Ste 101",
    "city": "Gilbert",
    "stateOrProvince": "AZ",
    "postalCode": "85233",
    "country": "USA"
  },
  "lineItems": [
    {
      "sku": "GDF510PSRSS",
      "quantity": 1,
      "unitOfMeasure": "Each",
      "options": [
        {
          "key": "ppg-paint-color",
          "value": "PPG1105-3"
        }
      ],
      "addonIds": [
        "string"
      ],
      "addonTitles": [
        "string"
      ],
      "warrantySku": "string",
      "applyWarrantyCoverage": true
    }
  ],
  "contactInfo": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@example.com",
    "phone": "1234567890"
  },
  "fulfillmentMethodId": "sibi-sibi-default-delivery",
  "fulfillmentMethodType": "DELIVERY",
  "shipToOfficePropertyId": "string",
  "requestedDeliveryDate": "2026-09-01",
  "poNumber": "PO-123456",
  "specialInstructions": "The lock code is 1234",
  "distributionCenterId": "string",
  "paymentMethodId": "MANUFACTURER_CREDIT",
  "idempotencyKey": "string",
  "subscribers": [
    {
      "email": "updates@example.com"
    }
  ],
  "warrantyOrderPaymentMethodId": "string"
}'
Response
{
  "id": "string",
  "createdAt": "2026-08-31T00:00:00.000Z",
  "supplier": "ge",
  "address": {
    "line1": "1630 W Guadalupe Rd",
    "line2": "Ste 101",
    "city": "Gilbert",
    "stateOrProvince": "AZ",
    "postalCode": "85233",
    "country": "USA"
  },
  "contactInfo": {
    "firstName": "string",
    "lastName": "string",
    "email": "string",
    "phone": "string"
  },
  "poNumber": "string",
  "specialInstructions": "string",
  "lineItems": [
    {
      "sku": "string",
      "name": "string",
      "subtitle": "string",
      "imageUrl": "string",
      "quantity": 0,
      "unitOfMeasure": "Each",
      "quantityPerBaseUnit": 23.77,
      "baseUnitOfMeasure": "sq ft",
      "priceCents": 0,
      "availabilityStatus": "IN_STOCK",
      "options": [
        {
          "key": "ppg-paint-color",
          "value": "PPG1105-3",
          "name": "Delicate White",
          "hex": "#F0EFEA"
        }
      ],
      "attributes": [
        {
          "name": "sheen",
          "value": "Satin"
        }
      ],
      "addons": [
        {
          "id": "string",
          "title": "Haul Away",
          "priceCents": 0
        }
      ],
      "availableAddons": [
        {
          "id": "string",
          "title": "Haul Away",
          "priceCents": 0
        }
      ],
      "availableWarranties": [
        {
          "sku": "string",
          "name": "string",
          "description": "string",
          "manufacturer": "string",
          "priceCents": 0
        }
      ],
      "selectedWarranty": {
        "sku": "string",
        "name": "string",
        "description": "string",
        "manufacturer": "string",
        "priceCents": 0
      }
    }
  ],
  "distributionCenter": {
    "id": "ge-dc-lax",
    "name": "string",
    "storeNumber": "string",
    "address": {
      "line1": "1630 W Guadalupe Rd",
      "line2": "Ste 101",
      "city": "Gilbert",
      "stateOrProvince": "AZ",
      "postalCode": "85233",
      "country": "USA"
    }
  },
  "fulfillmentMethod": {
    "id": "sibi-sibi-default-delivery",
    "title": "Standard Delivery",
    "description": "string",
    "type": "DELIVERY",
    "availableDates": [
      "string"
    ]
  },
  "availableFulfillmentMethods": [
    {
      "id": "sibi-sibi-default-delivery",
      "title": "Standard Delivery",
      "description": "string",
      "type": "DELIVERY",
      "availableDates": [
        "string"
      ]
    }
  ],
  "requestedDeliveryDate": "2026-09-01",
  "paymentMethodId": "string",
  "availablePaymentMethods": [
    {
      "id": "MANUFACTURER_CREDIT",
      "type": "MANUFACTURER_CREDIT",
      "description": "On account",
      "last4": "string"
    }
  ],
  "pricing": {
    "subtotalCents": 0,
    "taxCents": 0,
    "totalPriceCents": 0,
    "fees": [
      {
        "name": "string",
        "amountCents": 0
      }
    ],
    "discounts": [
      {
        "name": "string",
        "amountCents": 0
      }
    ]
  },
  "subscribers": [
    {
      "email": "string"
    }
  ]
}