> ## Documentation Index
> Fetch the complete documentation index at: https://developers.appstle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get subscription bundle settings (Build-a-Box configuration)

> Retrieves the configuration settings for subscription bundles (also known as Build-a-Box or customizable subscription boxes). This endpoint returns all settings that control how customers can create and manage their custom subscription bundles.

**What are Subscription Bundles (Build-a-Box)?**
Subscription bundles allow customers to create personalized subscription boxes by selecting multiple products from a curated collection. Instead of subscribing to a fixed product, customers build their own custom bundle that gets delivered on a recurring basis. This is perfect for coffee subscriptions, snack boxes, beauty boxes, supplement packs, and any product category where variety and personalization drive customer satisfaction.

**Bundle Configuration Settings:**

**1. Product Selection Rules:**
- Minimum number of products required in bundle
- Maximum number of products allowed in bundle
- Product categories available for selection
- Variant selection constraints
- Quantity limits per product
- Total bundle value constraints (min/max price)

**2. Bundle Behavior:**
- Allow customers to modify bundle between orders
- Lock bundle after first order
- Enable automatic product rotation
- Allow quantity adjustments
- Substitution rules when products unavailable

**3. Pricing & Discounts:**
- Bundle pricing model (fixed price vs. sum of products)
- Volume discounts based on bundle size
- Tiered pricing structures
- Promotional pricing for bundles
- Discount application rules

**4. UI/UX Settings:**
- Bundle builder interface layout
- Product display format (grid/list)
- Images and descriptions shown
- Filter and search options
- Preview and summary display
- Mobile responsiveness settings

**5. Fulfillment Options:**
- Bundling method (ship together vs. separate)
- Packaging preferences
- Custom box selection
- Gift message options
- Delivery instructions

**6. Customer Experience:**
- Welcome flow for new bundle subscribers
- Modification window before each order
- Reminder notifications to update bundle
- Recommendation engine settings
- Save favorite bundle configurations

**Common Bundle Types:**

**Coffee Subscription Bundle:**
- Select 3-5 coffee varieties per month
- Choose roast levels, origins, or flavors
- Option to rotate selections monthly
- Fixed price regardless of selection

**Snack Box Bundle:**
- Choose 10 items from 50+ snacks
- Category limits (e.g., max 3 sweet, 7 savory)
- Dietary restriction filters (vegan, gluten-free)
- Tiered pricing based on bundle size

**Beauty Box Bundle:**
- Select products from skincare, makeup, haircare categories
- Minimum 5 products, maximum 8 products
- Total value must be between $40-$100
- Can swap 2 products each month

**Vitamin/Supplement Bundle:**
- Build personalized supplement pack
- Health goal-based recommendations
- Compatibility checking (ingredient interactions)
- Fixed monthly price for up to 5 supplements

**Use Cases:**
- Configure bundle builder in customer portal
- Validate customer bundle selections against rules
- Display bundle configuration options during signup
- Integrate with checkout to show bundle pricing
- Build custom bundle management interfaces
- Sync bundle settings with mobile apps
- Generate bundle recommendation algorithms

**Important Notes:**
- Settings apply to all subscription bundles in the shop
- Changes affect new bundles immediately
- Existing bundles maintain their original configuration unless migrated
- Product availability is checked in real-time during bundle creation
- Bundle modifications may have cutoff times before order processing

**Best Practices:**
- Set reasonable min/max limits to balance choice and complexity
- Provide clear guidance on bundle building process
- Use category limits to ensure variety
- Enable modification windows to boost engagement
- Offer curated bundle templates as starting points
- Implement substitution logic for out-of-stock items
- Test bundle builder UX across devices

**Authentication:** Requires valid X-API-Key header



## OpenAPI

````yaml /subscription/admin-api-swagger.json get /api/external/v2/subscription-bundle-settings/{id}
openapi: 3.0.1
info:
  description: >-
    Comprehensive API documentation for managing subscriptions, payments, and
    related operations. These APIs allow you to programmatically manage
    subscription lifecycles, handle payments, configure products, and integrate
    subscription functionality into your applications.
  title: Admin APIs
  version: 0.0.1
servers:
  - url: https://subscription-admin.appstle.com
security: []
tags:
  - description: >-
      Core APIs for managing the complete subscription lifecycle including
      creation, updates, pausing, resuming, and cancellation of subscriptions.
    name: Subscription Management
  - description: >-
      APIs for managing subscription payment methods, processing payments,
      handling payment retries, and updating billing information.
    name: Subscription Payments
  - description: >-
      APIs for managing subscription contracts including delivery schedules,
      pricing, order notes, billing cycles, and shipping addresses.
    name: Subscription Contracts
  - description: >-
      APIs for managing products within subscriptions including adding,
      removing, updating quantities, and swapping products.
    name: Subscription Products
  - description: >-
      APIs for handling billing operations, payment processing, and financial
      transactions related to subscriptions.
    name: Billing & Payments
  - description: >-
      APIs for managing discounts and promotional codes applied to
      subscriptions.
    name: Subscription Discounts
  - description: >-
      APIs for managing one-time add-on products that can be purchased alongside
      recurring subscription items.
    name: Subscription One-Time Products
  - description: >-
      APIs for managing subscription plans, pricing tiers, and plan
      configurations.
    name: Subscription Plans
  - description: >-
      APIs for managing customizable product boxes and bundles where customers
      can select multiple items.
    name: Build-a-Box & Bundles
  - description: >-
      APIs for managing the product catalog including product information,
      variants, and inventory.
    name: Product Catalog
  - description: >-
      APIs for managing operational settings, configurations, and administrative
      functions.
    name: Operations & Settings
  - description: >-
      APIs powering the customer-facing portal where subscribers can manage
      their own subscriptions.
    name: Customer Portal
  - description: APIs for managing customer information, profiles, and account details.
    name: Customers
  - description: >-
      APIs for retrieving aggregated subscription data, customer subscription
      history, and account-level subscription information.
    name: Subscription Data
  - description: >-
      APIs for managing delivery profiles, shipping rates, free shipping
      configuration, and delivery method options on subscriptions.
    name: Delivery & Shipping
  - description: >-
      APIs for managing storefront customization including custom CSS, theme
      settings, label translations, and merchant-defined widget configuration.
    name: Customization
  - description: >-
      APIs for configuring cancellation flows, retention offers, cancellation
      reason management, and win-back automation.
    name: Customer Retention
paths:
  /api/external/v2/subscription-bundle-settings/{id}:
    get:
      tags:
        - Build-a-Box & Bundles
      summary: Get subscription bundle settings (Build-a-Box configuration)
      description: >-
        Retrieves the configuration settings for subscription bundles (also
        known as Build-a-Box or customizable subscription boxes). This endpoint
        returns all settings that control how customers can create and manage
        their custom subscription bundles.


        **What are Subscription Bundles (Build-a-Box)?**

        Subscription bundles allow customers to create personalized subscription
        boxes by selecting multiple products from a curated collection. Instead
        of subscribing to a fixed product, customers build their own custom
        bundle that gets delivered on a recurring basis. This is perfect for
        coffee subscriptions, snack boxes, beauty boxes, supplement packs, and
        any product category where variety and personalization drive customer
        satisfaction.


        **Bundle Configuration Settings:**


        **1. Product Selection Rules:**

        - Minimum number of products required in bundle

        - Maximum number of products allowed in bundle

        - Product categories available for selection

        - Variant selection constraints

        - Quantity limits per product

        - Total bundle value constraints (min/max price)


        **2. Bundle Behavior:**

        - Allow customers to modify bundle between orders

        - Lock bundle after first order

        - Enable automatic product rotation

        - Allow quantity adjustments

        - Substitution rules when products unavailable


        **3. Pricing & Discounts:**

        - Bundle pricing model (fixed price vs. sum of products)

        - Volume discounts based on bundle size

        - Tiered pricing structures

        - Promotional pricing for bundles

        - Discount application rules


        **4. UI/UX Settings:**

        - Bundle builder interface layout

        - Product display format (grid/list)

        - Images and descriptions shown

        - Filter and search options

        - Preview and summary display

        - Mobile responsiveness settings


        **5. Fulfillment Options:**

        - Bundling method (ship together vs. separate)

        - Packaging preferences

        - Custom box selection

        - Gift message options

        - Delivery instructions


        **6. Customer Experience:**

        - Welcome flow for new bundle subscribers

        - Modification window before each order

        - Reminder notifications to update bundle

        - Recommendation engine settings

        - Save favorite bundle configurations


        **Common Bundle Types:**


        **Coffee Subscription Bundle:**

        - Select 3-5 coffee varieties per month

        - Choose roast levels, origins, or flavors

        - Option to rotate selections monthly

        - Fixed price regardless of selection


        **Snack Box Bundle:**

        - Choose 10 items from 50+ snacks

        - Category limits (e.g., max 3 sweet, 7 savory)

        - Dietary restriction filters (vegan, gluten-free)

        - Tiered pricing based on bundle size


        **Beauty Box Bundle:**

        - Select products from skincare, makeup, haircare categories

        - Minimum 5 products, maximum 8 products

        - Total value must be between $40-$100

        - Can swap 2 products each month


        **Vitamin/Supplement Bundle:**

        - Build personalized supplement pack

        - Health goal-based recommendations

        - Compatibility checking (ingredient interactions)

        - Fixed monthly price for up to 5 supplements


        **Use Cases:**

        - Configure bundle builder in customer portal

        - Validate customer bundle selections against rules

        - Display bundle configuration options during signup

        - Integrate with checkout to show bundle pricing

        - Build custom bundle management interfaces

        - Sync bundle settings with mobile apps

        - Generate bundle recommendation algorithms


        **Important Notes:**

        - Settings apply to all subscription bundles in the shop

        - Changes affect new bundles immediately

        - Existing bundles maintain their original configuration unless migrated

        - Product availability is checked in real-time during bundle creation

        - Bundle modifications may have cutoff times before order processing


        **Best Practices:**

        - Set reasonable min/max limits to balance choice and complexity

        - Provide clear guidance on bundle building process

        - Use category limits to ensure variety

        - Enable modification windows to boost engagement

        - Offer curated bundle templates as starting points

        - Implement substitution logic for out-of-stock items

        - Test bundle builder UX across devices


        **Authentication:** Requires valid X-API-Key header
      operationId: getSubscriptionBundleSettingsV2
      parameters:
        - in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: API Key (Deprecated - Use Header X-API-Key instead)
          in: query
          name: api_key
          required: false
          schema:
            type: string
        - in: header
          name: X-API-Key
          required: false
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                Success Response:
                  description: Success Response
                  value:
                    allowModifications: true
                    categoryLimits:
                      coffee-dark-roast:
                        max: 3
                        min: 0
                      coffee-decaf:
                        max: 2
                        min: 0
                      coffee-flavored:
                        max: 2
                        min: 0
                      coffee-light-roast:
                        max: 3
                        min: 0
                      coffee-medium-roast:
                        max: 3
                        min: 0
                    createdAt: '2024-01-15T10:30:00Z'
                    discounts:
                      enableVolumeDiscounts: true
                      volumeDiscountTiers:
                        - discountPercent: 10
                          minProducts: 5
                        - discountPercent: 15
                          minProducts: 7
                    displaySettings:
                      enableFiltering: true
                      enableSearch: true
                      layoutType: GRID
                      productsPerRow: 3
                      showBundlePreview: true
                      showPricing: false
                      showProductDescriptions: true
                      showProductImages: true
                    enableProductRotation: true
                    enabled: true
                    fixedBundlePrice: 59.99
                    id: 12345
                    lockAfterFirstOrder: false
                    maxBundleValue: 100
                    maxProducts: 8
                    maxSwapsPerCycle: 2
                    minBundleValue: 40
                    minProducts: 3
                    modificationCutoffDays: 5
                    notifications:
                      reminderDaysBeforeOrder: 7
                      sendBundleCreatedEmail: true
                      sendBundleModifiedConfirmation: true
                      sendModificationReminderEmail: true
                    pricingModel: FIXED_PRICE
                    recommendations:
                      enableRecommendations: true
                      recommendationStrategy: POPULAR_AND_PERSONALIZED
                      showBestSellers: true
                      showCuratedBundles: true
                    requireCategoryDiversity: true
                    shop: example-shop.myshopify.com
                    substitution:
                      allowCustomerToApproveSubstitutions: false
                      allowSubstitutions: true
                      notifyCustomerOfSubstitutions: true
                      substitutionMethod: SIMILAR_PRODUCT
                    updatedAt: '2024-02-20T14:45:00Z'
              schema:
                $ref: '#/components/schemas/SubscriptionBundleSettingsDTO'
          description: Bundle settings successfully retrieved
        '401':
          content:
            application/json:
              example:
                detail: Valid X-API-Key header is required
                status: 401
                title: Authentication required
                type: https://example.com/errors/unauthorized
          description: Authentication required
        '403':
          content:
            application/json:
              example:
                detail: API key does not have permission to view bundle settings
                status: 403
                title: Insufficient permissions
                type: https://example.com/errors/forbidden
          description: Insufficient permissions to view bundle settings
        '404':
          content:
            application/json:
              example:
                detail: >-
                  Subscription bundle settings have not been configured for this
                  shop
                status: 404
                title: Settings not found
                type: https://example.com/errors/not-found
          description: Bundle settings not found - Bundle feature may not be enabled
components:
  schemas:
    SubscriptionBundleSettingsDTO:
      properties:
        addButtonText:
          type: string
        additionalProperty:
          additionalProperties:
            type: object
          type: object
          writeOnly: true
        allowAddUnavailableProduct:
          type: boolean
        backgroundColor:
          type: string
        bundleBottomHtml:
          type: string
        bundleRedirect:
          enum:
            - CART
            - CHECKOUT
            - CUSTOM
          type: string
        bundleTopHtml:
          type: string
        buttonBackgroundColor:
          type: string
        buttonColor:
          type: string
        buyQuantityGetDiscount:
          type: string
        cart:
          type: string
        checkoutMessage:
          type: string
        congratsMessageText:
          type: string
        continueShopping:
          type: string
        currencySwitcherClassName:
          type: string
        customRedirectURL:
          type: string
        descriptionLength:
          format: int32
          type: integer
        disableInventoryCheck:
          type: boolean
        disableProductCardImageSlider:
          type: boolean
        disableProductDescription:
          type: boolean
        displayUnavailableProduct:
          type: boolean
        editQuantity:
          type: string
        enableClearCartSelectedProducts:
          type: boolean
        enableCustomAdvancedFields:
          type: boolean
        enableDisplayProductType:
          type: boolean
        enableDisplayProductVendor:
          type: boolean
        enableEditQuantityTextbox:
          type: boolean
        enableOpeningSidebar:
          type: boolean
        enableProductDetailButton:
          type: boolean
        enableRedirectToProductPage:
          type: boolean
        enableShowProductBasePrice:
          type: boolean
        enableSkieyBABHeader:
          type: boolean
        failedToAddMsgText:
          type: string
        failedToAddTitleText:
          type: string
        hideProductSearchBox:
          type: boolean
        id:
          format: int64
          type: integer
        isBundleWithoutScroll:
          type: boolean
        isMergeIntoSingleBABVariantDropdown:
          type: boolean
        itemsText:
          type: string
        leftSidebarHTML:
          type: string
        moveOneTimePurchaseToTop:
          type: boolean
        myDeliveryText:
          type: string
        okBtnText:
          type: string
        openingSidebarType:
          enum:
            - DEFAULT
            - MAX_QUANTITY
            - STOP_AUTO_OPEN
            - MIN_AMOUNT
          type: string
        pageBackgroundColor:
          type: string
        proceedToCheckoutButtonText:
          type: string
        productDetails:
          type: string
        productFilterConfig:
          type: string
        productPriceFormatField:
          type: string
        productTitleFontColor:
          type: string
        productsToProceedText:
          type: string
        quantityLabel:
          type: string
        removeItem:
          type: string
        restrictPriceRateCalculation:
          type: boolean
        rightSidebarHTML:
          type: string
        selectMinimumProductButtonText:
          type: string
        selectedFrequencyLabelText:
          type: string
        shop:
          type: string
        shopCustomizationData:
          items:
            $ref: '#/components/schemas/UpdateShopCustomizationRequest'
          type: array
        shoppingCart:
          type: string
        showCompareAtPrice:
          type: boolean
        showOrderNoteField:
          type: boolean
        showSubLoyaltyTable:
          type: boolean
        skipFilterVariantsByAllocationsId:
          type: boolean
        skipFirstPage:
          type: boolean
        spendAmountGetDiscount:
          type: string
        spentText:
          type: string
        subtotal:
          type: string
        tieredDiscount:
          type: string
        title:
          type: string
        variantLabelTextV2:
          type: string
        variantNotAvailable:
          type: string
        viewProduct:
          type: string
      required:
        - addButtonText
        - myDeliveryText
        - proceedToCheckoutButtonText
        - productsToProceedText
        - selectMinimumProductButtonText
        - selectedFrequencyLabelText
        - shop
      type: object
    UpdateShopCustomizationRequest:
      properties:
        id:
          format: int64
          type: integer
        labelId:
          format: int64
          type: integer
        value:
          type: string
      type: object

````