Skip to content
SIBISIBI Developers
Esc
navigateopen⌘Jpreview

Create order

Places an order for one or more products from a seller.

Sensible defaults are applied for anything not specified: the fulfillment method defaults to standard delivery, the delivery date to the earliest available, the distribution center to the closest one, and quantity to 1 per line item. Validation runs before placement — the seller, line items, options, fulfillment choices, and payment method are all checked, and the request is rejected with a specific error code when something doesn’t hold together.

Pass an idempotencyKey to make retries safe: resubmitting the same order with the same key within 5 minutes returns the existing order instead of creating a duplicate. 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 retry without one can create a duplicate order.

Validation failures return 400 with one of these codes: VALIDATION_ERROR, INVALID_SELLER, PRODUCTS_NOT_FOUND, PRODUCTS_DISCONTINUED, INVALID_PRODUCT_OPTIONS, INVALID_UNIT_OF_MEASURE, ADDON_WITH_ID_NOT_AVAILABLE, ADDON_WITH_TITLE_NOT_AVAILABLE, CONFLICTING_WARRANTY_INPUT, WARRANTY_SKU_NOT_AVAILABLE_FOR_PRODUCT, NO_AVAILABLE_WARRANTIES_FOR_PRODUCT, INVALID_FULFILLMENT_METHOD, NO_AVAILABLE_DELIVERY_METHODS, NO_AVAILABLE_FULFILLMENT_DATES, INVALID_REQUESTED_DELIVERY_DATE, NO_AVAILABLE_PAYMENT_METHODS, NO_DISTRIBUTION_CENTER_FOUND, INVALID_SUBSCRIBERS, NO_SHIP_TO_OFFICE_PROPERTY_ID_PROVIDED_WHEN_USING_SHIP_TO_OFFICE, OFFICE_PROPERTY_ID_PROVIDED_FOR_NON_SHIP_TO_OFFICE.

POST/
Authorization
AuthorizationBearer token · headerrequired
API token from the SIBI developer dashboard (developer.sibipro.com), sent as `Authorization: Bearer <token>`.
Scopes:create:orders
Request body
application/json
sellerstringrequired
The seller to order from, identified by its slug.
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 order was created.
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 - Invalid input data. See the operation description for the possible error codes.
codestringrequired
Error code indicating the type of error
Allowed:VALIDATION_ERRORINVALID_SELLERPRODUCTS_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
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/orders/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "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": "SIBI-12345678",
  "orderUrl": "https://web.sibipro.com/orders/SIBI-12345678",
  "warrantyOrderId": "string",
  "warrantyOrderUrl": "string"
}