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

# Retrieve a Build-A-Box bundle by ID

> Fetches the complete configuration and details of a specific Build-A-Box subscription bundle using its unique identifier. This endpoint returns all bundle settings including products, pricing, rules, and delivery options.

**What You'll Receive:**
- **Complete Bundle Configuration**: All settings and properties
- **Product Information**: Full list of available products with details
- **Pricing Structure**: Discount rules, pricing type, and promotional settings
- **Delivery Options**: Subscription frequencies and delivery intervals
- **Business Rules**: Product limits, combination rules, and restrictions
- **Status Information**: Active/inactive state and timestamps
- **Customization Settings**: Allow one-time purchases, product swaps, etc.

**Use Cases:**
1. **Bundle Management**: Retrieve current bundle settings for review or editing
2. **Integration Sync**: Synchronize bundle data with external systems
3. **Customer Portal**: Display bundle options and configurations
4. **Audit & Reporting**: Track bundle configurations over time
5. **Validation**: Verify bundle setup before making changes
6. **Cloning**: Retrieve settings to duplicate a successful bundle
7. **Troubleshooting**: Debug subscription issues by reviewing bundle config

**Response Details:**
The response includes comprehensive information about the bundle:
- **Bundle Metadata**: ID, shop, name, handle, unique reference
- **Product Pool**: All products available for customer selection
- **Selection Rules**: Min/max product counts, quantity limits
- **Pricing Configuration**: Discount percentages, pricing models
- **Subscription Options**: Available delivery frequencies
- **Display Settings**: Product view styles, custom HTML, button text
- **Advanced Features**: Third-party rules, inventory tracking, selection types
- **Timestamps**: Creation and last update dates

**Authorization:**
- You can only retrieve bundles that belong to your authenticated shop
- The system verifies shop ownership before returning bundle data
- Returns 404 if bundle doesn't exist or doesn't belong to your shop

**Integration Tips:**
- Cache bundle data to reduce API calls for frequently accessed bundles
- Use this endpoint to verify bundle existence before creating subscriptions
- Combine with update endpoint for edit workflows (get → modify → update)
- Check the `active` field to determine if the bundle is available to customers
- Review `availableProducts` array to ensure product inventory availability

**Performance Considerations:**
- Response size varies based on number of products in the bundle
- Bundles with extensive custom HTML or large product pools return more data
- Consider requesting only necessary fields if partial data is sufficient
- Use batch operations if retrieving multiple bundles

**Authentication:** Requires valid X-API-Key header or api_key parameter (deprecated)



## OpenAPI

````yaml /subscription/admin-api-swagger.json get /api/external/v2/build-a-box/{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/build-a-box/{id}:
    get:
      tags:
        - Build-a-Box & Bundles
      summary: Retrieve a Build-A-Box bundle by ID
      description: >-
        Fetches the complete configuration and details of a specific Build-A-Box
        subscription bundle using its unique identifier. This endpoint returns
        all bundle settings including products, pricing, rules, and delivery
        options.


        **What You'll Receive:**

        - **Complete Bundle Configuration**: All settings and properties

        - **Product Information**: Full list of available products with details

        - **Pricing Structure**: Discount rules, pricing type, and promotional
        settings

        - **Delivery Options**: Subscription frequencies and delivery intervals

        - **Business Rules**: Product limits, combination rules, and
        restrictions

        - **Status Information**: Active/inactive state and timestamps

        - **Customization Settings**: Allow one-time purchases, product swaps,
        etc.


        **Use Cases:**

        1. **Bundle Management**: Retrieve current bundle settings for review or
        editing

        2. **Integration Sync**: Synchronize bundle data with external systems

        3. **Customer Portal**: Display bundle options and configurations

        4. **Audit & Reporting**: Track bundle configurations over time

        5. **Validation**: Verify bundle setup before making changes

        6. **Cloning**: Retrieve settings to duplicate a successful bundle

        7. **Troubleshooting**: Debug subscription issues by reviewing bundle
        config


        **Response Details:**

        The response includes comprehensive information about the bundle:

        - **Bundle Metadata**: ID, shop, name, handle, unique reference

        - **Product Pool**: All products available for customer selection

        - **Selection Rules**: Min/max product counts, quantity limits

        - **Pricing Configuration**: Discount percentages, pricing models

        - **Subscription Options**: Available delivery frequencies

        - **Display Settings**: Product view styles, custom HTML, button text

        - **Advanced Features**: Third-party rules, inventory tracking,
        selection types

        - **Timestamps**: Creation and last update dates


        **Authorization:**

        - You can only retrieve bundles that belong to your authenticated shop

        - The system verifies shop ownership before returning bundle data

        - Returns 404 if bundle doesn't exist or doesn't belong to your shop


        **Integration Tips:**

        - Cache bundle data to reduce API calls for frequently accessed bundles

        - Use this endpoint to verify bundle existence before creating
        subscriptions

        - Combine with update endpoint for edit workflows (get → modify →
        update)

        - Check the `active` field to determine if the bundle is available to
        customers

        - Review `availableProducts` array to ensure product inventory
        availability


        **Performance Considerations:**

        - Response size varies based on number of products in the bundle

        - Bundles with extensive custom HTML or large product pools return more
        data

        - Consider requesting only necessary fields if partial data is
        sufficient

        - Use batch operations if retrieving multiple bundles


        **Authentication:** Requires valid X-API-Key header or api_key parameter
        (deprecated)
      operationId: getSubscriptionBundling
      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:
                Complete Bundle Details:
                  description: Complete Bundle Details
                  value:
                    active: true
                    allowOneTimePurchase: true
                    availableProducts:
                      - available: true
                        imageUrl: https://cdn.shopify.com/coffee-medium.jpg
                        price: '14.99'
                        productId: 111111
                        title: Medium Roast Coffee - 12oz
                        variantId: 222222
                      - available: true
                        imageUrl: https://cdn.shopify.com/coffee-dark.jpg
                        price: '15.99'
                        productId: 111111
                        title: Dark Roast Coffee - 12oz
                        variantId: 333333
                    buildABoxType: SINGLE_PRODUCT
                    buildBoxVersion: V2
                    bundleHandle: premium-coffee-selection
                    bundleName: Premium Coffee Selection
                    chooseProductsText: Build Your Perfect Coffee Box
                    createdAt: '2024-03-15T10:30:00Z'
                    description: Choose your favorite coffee blends for monthly delivery
                    discount: 10
                    discountType: PERCENTAGE
                    frequencies:
                      - displayName: Monthly
                        interval: MONTH
                        intervalCount: 1
                      - displayName: Bi-Weekly
                        interval: WEEK
                        intervalCount: 2
                    id: 45678
                    maxProductCount: 5
                    minOrderAmount: 25
                    minProductCount: 2
                    pricingType: PER_PRODUCT
                    proceedToCheckoutButtonText: Complete Your Subscription
                    productViewStyle: GRID
                    shop: example-shop.myshopify.com
                    thirdPartyRule: false
                    trackInventory: true
                    uniqueRef: bab_abc123xyz
                    updatedAt: '2024-03-20T14:45:00Z'
              schema:
                $ref: '#/components/schemas/SubscriptionBundlingDTO'
          description: Build-A-Box bundle successfully retrieved
        '401':
          content:
            application/json:
              example:
                detail: Valid X-API-Key header or api_key parameter is required
                status: 401
                title: Authentication required
                type: https://example.com/errors/unauthorized
          description: Authentication required - Missing or invalid API key
        '404':
          content:
            application/json:
              example:
                detail: No Build-A-Box bundle found with ID 45678 for your shop
                status: 404
                title: Bundle not found
                type: https://example.com/errors/not-found
          description: Bundle not found or does not belong to your shop
        '500':
          content:
            application/json:
              example:
                detail: >-
                  An unexpected error occurred while retrieving the Build-A-Box
                  bundle
                status: 500
                title: Internal server error
                type: https://example.com/errors/internal-server-error
          description: Internal server error
components:
  schemas:
    SubscriptionBundlingDTO:
      properties:
        allowOneTimePurchase:
          type: boolean
        appliesOn:
          enum:
            - PRODUCT
            - COLLECTION
            - BOTH
            - ONE_TIME
            - SUBSCRIPTION
          type: string
        buildABoxType:
          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
          type: string
        bundleBottomHtml:
          type: string
        bundleRedirect:
          enum:
            - CART
            - CHECKOUT
            - CUSTOM
            - NONE
          type: string
        bundleTopHtml:
          type: string
        chooseProductsText:
          type: string
        collectionData:
          type: string
        customRedirectURL:
          type: string
        discount:
          format: double
          type: number
        discountedVariants:
          type: string
        groupName:
          type: string
        id:
          format: int64
          type: integer
        maxProductCount:
          format: int32
          type: integer
        minOrderAmount:
          format: double
          type: number
        minProductCount:
          format: int32
          type: integer
        minUniqueProductCheck:
          type: boolean
        name:
          type: string
        proceedToCheckoutButtonText:
          type: string
        productDiscountType:
          enum:
            - SELECTED_PRODUCT
            - EACH_PRODUCT
          type: string
        productSelectionType:
          enum:
            - PRODUCT
            - COLLECTION
          type: string
        productViewStyle:
          enum:
            - QUICK_ADD
            - VIEW_DETAILS
          type: string
        sections:
          type: string
        selectionType:
          enum:
            - FIXED
            - FLEXIBLE
          type: string
        sellingPlanIds:
          type: string
        shop:
          type: string
        singleProductSettings:
          type: string
        subscriptionBundleLink:
          type: string
        subscriptionBundlingEnabled:
          type: boolean
        subscriptionGroup:
          type: string
        subscriptionId:
          format: int64
          type: integer
        thirdPartyRule:
          type: boolean
        tieredDiscount:
          type: string
        trackInventory:
          type: boolean
        uniqueRef:
          type: string
        variants:
          type: string
      required:
        - shop
      type: object

````