# Update subscription bundling configuration Updates the configuration for one or more subscription bundles (Build-a-Box). This endpoint allows bulk updates to bundle product selections, quantities, and configurations. Subscription Bundling/Build-a-Box: Subscription bundling allows customers to create custom product bundles that are delivered on a recurring basis. Customers can select multiple products to be included in each delivery, creating a personalized subscription box. Update Capabilities: - Modify product selections within a bundle - Update product quantities - Change bundle configuration settings - Bulk update multiple bundles at once Use Cases: - Customer updates their bundle product selections - Swap products in an existing bundle - Adjust quantities for products in the bundle - Programmatically manage bundle configurations Important Notes: - Updates are identified by bundle handle (unique identifier) - Only active bundles can be updated - Product availability is validated before update Authentication: Requires valid X-API-Key header Endpoint: PUT /api/external/v2/subscription-bundling/update Version: 0.0.1 ## Header parameters: - `X-API-Key` (string) ## Request fields (application/json): - `babHandle` (string) - `sourceProducts` (array) - `sourceProducts.sourceProductId` (integer) - `sourceProducts.addSubProductIds` (array) - `sourceProducts.addSubVariantIds` (array) - `sourceProducts.deleteSubProductIds` (array) - `sourceProducts.deleteSubVariantIds` (array) ## Response 200 fields (application/json): - `id` (integer) - `shop` (string, required) - `subscriptionBundlingEnabled` (boolean) - `subscriptionId` (integer) - `minProductCount` (integer) - `maxProductCount` (integer) - `discount` (number) - `uniqueRef` (string) - `groupName` (string) - `subscriptionBundleLink` (string) - `bundleRedirect` (string) Enum: "CART", "CHECKOUT", "CUSTOM", "NONE" - `customRedirectURL` (string) - `minOrderAmount` (number) - `tieredDiscount` (string) - `productViewStyle` (string) Enum: "QUICK_ADD", "VIEW_DETAILS" - `buildABoxType` (string) Enum: "CLASSIC", "SINGLE_PRODUCT", "MIX_AND_MATCH", "INFINITE", "CUSTOMIZE_BUNDLE", "CLASSIC_BUILD_A_BOX", "SINGLE_PRODUCT_BUILD_A_BOX", "VOLUME_DISCOUNT", "DISCOUNTED_PRICING", "SHIPPING_DISCOUNT", "BUY_X_GET_Y", "SECTIONED_BUNDLE" - `singleProductSettings` (string) - `subscriptionGroup` (string) - `bundleTopHtml` (string) - `bundleBottomHtml` (string) - `proceedToCheckoutButtonText` (string) - `chooseProductsText` (string) - `name` (string) - `trackInventory` (boolean) - `allowOneTimePurchase` (boolean) - `thirdPartyRule` (boolean) - `selectionType` (string) Enum: "FIXED", "FLEXIBLE" - `variants` (string) - `discountedVariants` (string) - `sections` (string) - `appliesOn` (string) Enum: "PRODUCT", "COLLECTION", "BOTH", "ONE_TIME", "SUBSCRIPTION" - `productDiscountType` (string) Enum: "SELECTED_PRODUCT", "EACH_PRODUCT" - `collectionData` (string) - `productSelectionType` (string) Enum: "PRODUCT", "COLLECTION" - `sellingPlanIds` (string) - `minUniqueProductCheck` (boolean) ## Response 401 fields (*/*): - `id` (integer) - `shop` (string, required) - `subscriptionBundlingEnabled` (boolean) - `subscriptionId` (integer) - `minProductCount` (integer) - `maxProductCount` (integer) - `discount` (number) - `uniqueRef` (string) - `groupName` (string) - `subscriptionBundleLink` (string) - `bundleRedirect` (string) Enum: "CART", "CHECKOUT", "CUSTOM", "NONE" - `customRedirectURL` (string) - `minOrderAmount` (number) - `tieredDiscount` (string) - `productViewStyle` (string) Enum: "QUICK_ADD", "VIEW_DETAILS" - `buildABoxType` (string) Enum: "CLASSIC", "SINGLE_PRODUCT", "MIX_AND_MATCH", "INFINITE", "CUSTOMIZE_BUNDLE", "CLASSIC_BUILD_A_BOX", "SINGLE_PRODUCT_BUILD_A_BOX", "VOLUME_DISCOUNT", "DISCOUNTED_PRICING", "SHIPPING_DISCOUNT", "BUY_X_GET_Y", "SECTIONED_BUNDLE" - `singleProductSettings` (string) - `subscriptionGroup` (string) - `bundleTopHtml` (string) - `bundleBottomHtml` (string) - `proceedToCheckoutButtonText` (string) - `chooseProductsText` (string) - `name` (string) - `trackInventory` (boolean) - `allowOneTimePurchase` (boolean) - `thirdPartyRule` (boolean) - `selectionType` (string) Enum: "FIXED", "FLEXIBLE" - `variants` (string) - `discountedVariants` (string) - `sections` (string) - `appliesOn` (string) Enum: "PRODUCT", "COLLECTION", "BOTH", "ONE_TIME", "SUBSCRIPTION" - `productDiscountType` (string) Enum: "SELECTED_PRODUCT", "EACH_PRODUCT" - `collectionData` (string) - `productSelectionType` (string) Enum: "PRODUCT", "COLLECTION" - `sellingPlanIds` (string) - `minUniqueProductCheck` (boolean) ## Response 403 fields (*/*): - `id` (integer) - `shop` (string, required) - `subscriptionBundlingEnabled` (boolean) - `subscriptionId` (integer) - `minProductCount` (integer) - `maxProductCount` (integer) - `discount` (number) - `uniqueRef` (string) - `groupName` (string) - `subscriptionBundleLink` (string) - `bundleRedirect` (string) Enum: "CART", "CHECKOUT", "CUSTOM", "NONE" - `customRedirectURL` (string) - `minOrderAmount` (number) - `tieredDiscount` (string) - `productViewStyle` (string) Enum: "QUICK_ADD", "VIEW_DETAILS" - `buildABoxType` (string) Enum: "CLASSIC", "SINGLE_PRODUCT", "MIX_AND_MATCH", "INFINITE", "CUSTOMIZE_BUNDLE", "CLASSIC_BUILD_A_BOX", "SINGLE_PRODUCT_BUILD_A_BOX", "VOLUME_DISCOUNT", "DISCOUNTED_PRICING", "SHIPPING_DISCOUNT", "BUY_X_GET_Y", "SECTIONED_BUNDLE" - `singleProductSettings` (string) - `subscriptionGroup` (string) - `bundleTopHtml` (string) - `bundleBottomHtml` (string) - `proceedToCheckoutButtonText` (string) - `chooseProductsText` (string) - `name` (string) - `trackInventory` (boolean) - `allowOneTimePurchase` (boolean) - `thirdPartyRule` (boolean) - `selectionType` (string) Enum: "FIXED", "FLEXIBLE" - `variants` (string) - `discountedVariants` (string) - `sections` (string) - `appliesOn` (string) Enum: "PRODUCT", "COLLECTION", "BOTH", "ONE_TIME", "SUBSCRIPTION" - `productDiscountType` (string) Enum: "SELECTED_PRODUCT", "EACH_PRODUCT" - `collectionData` (string) - `productSelectionType` (string) Enum: "PRODUCT", "COLLECTION" - `sellingPlanIds` (string) - `minUniqueProductCheck` (boolean) ## Response 400 fields ## Response 404 fields