Bundle Search

GET{{api_url}}/shop/products/bundle/search?search_term=example_bundle_sku_1

Lists the Bundles on the account. A Bundle is a SKU built from other SKUs: the bundle SKU carries its own inventory at one warehouse, and that inventory is created by consuming the component SKUs from the same warehouse. When the bundle's stock falls to its Minimum Inventory, InfiPlex builds the Auto Create Amount more, drawing components down. If component stock cannot cover the full amount, nothing is built. Bundles are defined at Inventory > Bundles in the OMS or by CSV upload.

Parameters

All parameters are optional.

ParameterTypeDescription
search_termstringPartial match against the bundle name or the bundle SKU.
just_countintegerSet to 1 to return only a count of matching bundles instead of the bundles themselves.
limitintegerMaximum number of bundles to return.
limit_startintegerNumber of leading results to skip, for paging. With limit 100 and limit_start 100 you get bundles 101 through 200.

Examples

All bundles:

{{api_url}}/shop/products/bundle/search

Bundles whose name or SKU contains "lip balm":

{{api_url}}/shop/products/bundle/search?search_term=lip balm

How many bundles exist:

{{api_url}}/shop/products/bundle/search?just_count=1

Response

A JSON array, one object per bundle, each with its components under assoc_skus:

[
    {
        "shop_bundle_sku_id": "21",
        "shop_bundle_sku_siteareaid": "16",
        "shop_bundle_sku_warehouseid": "3",
        "bundle_name": "Beauty Bundle Lip Balm",
        "bundle_sku": "example_bundle_sku_1",
        "minimum_inventory_amt": "2",
        "auto_add_inventory_amt": "3",
        "warehouse_name": "Main Warehouse (Midwest)",
        "assoc_skus": [
            {
                "shop_bundle_sku_assoc_sku_id": "58",
                "sbsas_bundle_sku_id": "21",
                "sku": "example_lip_balm_1",
                "quantity_in_bundle": "2"
            },
            {
                "shop_bundle_sku_assoc_sku_id": "59",
                "sbsas_bundle_sku_id": "21",
                "sku": "example_lip_balm_2",
                "quantity_in_bundle": "2"
            }
        ],
        "bundle_sku_warehouse_inventory": "9"
    }
]
FieldTypeDescription
shop_bundle_sku_idstringThe bundle id. Pass this to Bundle Get.
shop_bundle_sku_siteareaidstringThe InfiPlex site area the bundle belongs to.
shop_bundle_sku_warehouseidstringThe warehouse the bundle is built in. Components are drawn from this warehouse and the built bundle stock lands here.
bundle_namestringDisplay name as shown in the OMS.
bundle_skustringThe SKU your channels sell the bundle under. Must already exist as a product.
minimum_inventory_amtstringWhen the bundle SKU's stock at this warehouse reaches this number, InfiPlex tries to build more.
auto_add_inventory_amtstringHow many bundles to build when the minimum is reached. No partial builds: if component stock cannot cover this amount, none are made.
warehouse_namestringName of the warehouse in shop_bundle_sku_warehouseid.
assoc_skusarrayThe component SKUs, one object each.
assoc_skus[].shop_bundle_sku_assoc_sku_idstringId of this component row.
assoc_skus[].sbsas_bundle_sku_idstringThe bundle id, repeated.
assoc_skus[].skustringThe component SKU.
assoc_skus[].quantity_in_bundlestringHow many units of this component go into one bundle.
bundle_sku_warehouse_inventorystring or nullCurrent inventory of the bundle SKU at the bundle's warehouse. null when the bundle SKU has no inventory record at that warehouse yet.

Bundle inventory should be changed through the Bundle tool, not through Inventory Set: setting the bundle SKU's quantity directly does not move component inventory.

Authorization

Bearer token, sent in the Authorization header. Inherited from the collection.

Query Parameters

KeyValueDescription
just_count optionalSet to 1 to return only a count of matching bundles instead of the bundles themselves.
limit optionalMaximum number of bundles to return
limit_start optionalNumber of leading results to skip, for paging. With limit 100 and limit_start 100 you get bundles 101 through 200
search_termexample_bundle_sku_1Partial match against the bundle name, or the bundle sku

Example Request

curl --location --request GET '{{api_url}}/shop/products/bundle/search?search_term=example_bundle_sku_1' \
--header 'Authorization: Bearer {{auth_token}}'

Example Responses

Bundle Search

Request

curl --location --request GET '{{api_url}}/shop/products/bundle/search?search_term=example_bundle_sku_1' \
--header 'Authorization: Bearer YOUR_API_KEY'

Response 200 OK

[
    {
        "shop_bundle_sku_id": "21",
        "shop_bundle_sku_siteareaid": "16",
        "shop_bundle_sku_warehouseid": "3",
        "bundle_name": "Beauty Bundle Lip Balm",
        "bundle_sku": "example_bundle_sku_1",
        "minimum_inventory_amt": "2",
        "auto_add_inventory_amt": "3",
        "warehouse_name": "Main Warehouse (Midwest)",
        "assoc_skus": [
            {
                "shop_bundle_sku_assoc_sku_id": "58",
                "sbsas_bundle_sku_id": "21",
                "sku": "example_lip_balm_1",
                "quantity_in_bundle": "2"
            },
            {
                "shop_bundle_sku_assoc_sku_id": "59",
                "sbsas_bundle_sku_id": "21",
                "sku": "example_lip_balm_2",
                "quantity_in_bundle": "2"
            }
        ],
        "bundle_sku_warehouse_inventory": "9"
    }
]