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

Create order

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

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 supplier, 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_SUPPLIER, 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
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.

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
201

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

400

Bad request - Invalid input data. See the 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/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": "SIBI-12345678",
  "orderUrl": "https://web.sibipro.com/orders/SIBI-12345678",
  "warrantyOrderId": "string",
  "warrantyOrderUrl": "string"
}