Skip to content
SIBISIBI Developers
Esc
↑↓navigate↵open⌘Jpreview

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.

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. Each id at most once.

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
min length 1
lastNamestringrequired
min length 1
emailstring<email>required
phonestringrequired
min length 1
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.

paymentMethodIdstring

The 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.

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
201

The 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.

phonestring | nullrequired

The distribution center's phone number as the distributor publishes it. Null when not provided.

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_CREDITSTRIPE
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
400

Bad 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
401

Unauthorized - 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
403

Forbidden - the token was minted for the other environment, is not a Public REST API token, or does not carry the scope this operation requires

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
500

Internal 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",
    "phone": "6233885100",
    "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"
    }
  ]
}