Skip to content

External APIs (0.0.1)

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.

Languages
Servers
https://subscription-admin.appstle.com

Subscription Management

Core APIs for managing the complete subscription lifecycle including creation, updates, pausing, resuming, and cancellation of subscriptions.

Operations

Subscription Payments

APIs for managing subscription payment methods, processing payments, handling payment retries, and updating billing information.

Operations

Subscription Contracts

APIs for managing subscription contracts including delivery schedules, pricing, order notes, billing cycles, and shipping addresses.

Operations

Subscription Products

APIs for managing products within subscriptions including adding, removing, updating quantities, and swapping products.

Operations

Billing & Payments

APIs for handling billing operations, payment processing, and financial transactions related to subscriptions.

Operations

Subscription Discounts

APIs for managing discounts and promotional codes applied to subscriptions.

Operations

Subscription One-Time Products

APIs for managing one-time add-on products that can be purchased alongside recurring subscription items.

Operations

Subscription Plans

APIs for managing subscription plans, pricing tiers, and plan configurations.

Operations

Build-a-Box & Bundles

APIs for managing customizable product boxes and bundles where customers can select multiple items.

Operations

Create a new Build-A-Box subscription bundle

Request

Creates a new subscription bundle (Build-A-Box) allowing customers to select and customize products for recurring deliveries. Build-A-Box enables a flexible subscription model where customers can create personalized product boxes.

What is Build-A-Box? Build-A-Box is a subscription feature that allows customers to curate their own product bundles by selecting from a predefined set of products. This creates a highly personalized subscription experience where customers have full control over what they receive in each delivery cycle.

Key Features:

  • Product Selection: Customers choose which products to include in their box
  • Quantity Control: Set minimum and maximum product quantities
  • Flexible Configuration: Define rules for product combinations
  • Pricing Models: Support for various pricing strategies (per-item, flat rate, tiered)
  • Recurring Delivery: Automatic fulfillment based on subscription frequency
  • Customization Options: Allow product swaps between delivery cycles

Configuration Options:

  • Bundle Settings:

    • Bundle name and description
    • Unique handle for identification
    • Product pool (available products for selection)
    • Minimum/maximum number of products
    • Product quantity limits
  • Pricing Configuration:

    • Pricing type (per-product, flat rate, or tiered)
    • Discount rules
    • Promotional pricing
    • Currency settings
  • Delivery Options:

    • Subscription frequencies (weekly, bi-weekly, monthly, etc.)
    • Delivery intervals
    • Cut-off times for order modifications
    • Shipping methods
  • Rules and Restrictions:

    • Product combination rules
    • Category restrictions
    • Inventory requirements
    • Customer eligibility criteria

Build-A-Box Types:

  1. Open Selection: Customers can choose any products from the available pool
  2. Category-Based: Products are organized into categories with selection rules
  3. Single Product: Customers select variations of a single product type
  4. Tiered Boxes: Different box sizes with varying product counts and pricing

Use Cases:

  • Coffee Subscription: Customers select different coffee blends for monthly delivery
  • Snack Boxes: Build custom snack boxes from a variety of treats
  • Beauty Boxes: Choose skincare and makeup products based on preferences
  • Meal Kits: Select recipes and ingredients for weekly meal planning
  • Pet Supply Boxes: Customize toys, treats, and supplies for pets
  • Supplement Subscriptions: Create personalized vitamin and supplement regimens

Customer Workflow:

  1. Customer discovers Build-A-Box offering
  2. Selects products from available options
  3. Chooses delivery frequency
  4. Reviews pricing and discounts
  5. Completes subscription signup
  6. Receives recurring deliveries
  7. Can modify selections between delivery cycles

Important Notes:

  • Each bundle must have a unique handle for identification
  • Product availability is validated at creation time
  • Pricing rules are applied based on bundle configuration
  • Bundles must be associated with at least one subscription frequency
  • Inventory levels should be checked for all included products
  • Bundle status (active/inactive) controls customer visibility

Best Practices:

  • Set clear minimum and maximum product limits
  • Provide detailed product descriptions and images
  • Configure appropriate pricing that encourages subscriptions
  • Offer multiple delivery frequency options
  • Set reasonable inventory thresholds
  • Enable customer portal access for subscription management
  • Test bundle configurations before making them live

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

Query
api_keystring

API Key (Deprecated - Use Header X-API-Key instead)

Headers
X-API-Keystring
Bodyapplication/jsonrequired
idinteger(int64)
shopstringrequired
subscriptionBundlingEnabledboolean
subscriptionIdinteger(int64)
minProductCountinteger(int32)
maxProductCountinteger(int32)
discountnumber(double)
uniqueRefstring
groupNamestring
subscriptionBundleLinkstring
bundleRedirectstring
Enum"CART""CHECKOUT""CUSTOM""NONE"
customRedirectURLstring
minOrderAmountnumber(double)
tieredDiscountstring
productViewStylestring
Enum"QUICK_ADD""VIEW_DETAILS"
buildABoxTypestring
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"
singleProductSettingsstring
subscriptionGroupstring
bundleTopHtmlstring
bundleBottomHtmlstring
proceedToCheckoutButtonTextstring
chooseProductsTextstring
namestring
trackInventoryboolean
allowOneTimePurchaseboolean
thirdPartyRuleboolean
selectionTypestring
Enum"FIXED""FLEXIBLE"
variantsstring
discountedVariantsstring
sectionsstring
appliesOnstring
Enum"PRODUCT""COLLECTION""BOTH""ONE_TIME""SUBSCRIPTION"
productDiscountTypestring
Enum"SELECTED_PRODUCT""EACH_PRODUCT"
collectionDatastring
productSelectionTypestring
Enum"PRODUCT""COLLECTION"
sellingPlanIdsstring
minUniqueProductCheckboolean
curl -i -X POST \
  'https://subscription-admin.appstle.com/api/external/v2/build-a-box?api_key=string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: string' \
  -d '{
    "id": 0,
    "shop": "string",
    "subscriptionBundlingEnabled": true,
    "subscriptionId": 0,
    "minProductCount": 0,
    "maxProductCount": 0,
    "discount": 0.1,
    "uniqueRef": "string",
    "groupName": "string",
    "subscriptionBundleLink": "string",
    "bundleRedirect": "CART",
    "customRedirectURL": "string",
    "minOrderAmount": 0.1,
    "tieredDiscount": "string",
    "productViewStyle": "QUICK_ADD",
    "buildABoxType": "CLASSIC",
    "singleProductSettings": "string",
    "subscriptionGroup": "string",
    "bundleTopHtml": "string",
    "bundleBottomHtml": "string",
    "proceedToCheckoutButtonText": "string",
    "chooseProductsText": "string",
    "name": "string",
    "trackInventory": true,
    "allowOneTimePurchase": true,
    "thirdPartyRule": true,
    "selectionType": "FIXED",
    "variants": "string",
    "discountedVariants": "string",
    "sections": "string",
    "appliesOn": "PRODUCT",
    "productDiscountType": "SELECTED_PRODUCT",
    "collectionData": "string",
    "productSelectionType": "PRODUCT",
    "sellingPlanIds": "string",
    "minUniqueProductCheck": true
  }'

Responses

Build-A-Box subscription bundle successfully created

Bodyapplication/json
idinteger(int64)
shopstringrequired
subscriptionBundlingEnabledboolean
subscriptionIdinteger(int64)
minProductCountinteger(int32)
maxProductCountinteger(int32)
discountnumber(double)
uniqueRefstring
groupNamestring
subscriptionBundleLinkstring
bundleRedirectstring
Enum"CART""CHECKOUT""CUSTOM""NONE"
customRedirectURLstring
minOrderAmountnumber(double)
tieredDiscountstring
productViewStylestring
Enum"QUICK_ADD""VIEW_DETAILS"
buildABoxTypestring
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"
singleProductSettingsstring
subscriptionGroupstring
bundleTopHtmlstring
bundleBottomHtmlstring
proceedToCheckoutButtonTextstring
chooseProductsTextstring
namestring
trackInventoryboolean
allowOneTimePurchaseboolean
thirdPartyRuleboolean
selectionTypestring
Enum"FIXED""FLEXIBLE"
variantsstring
discountedVariantsstring
sectionsstring
appliesOnstring
Enum"PRODUCT""COLLECTION""BOTH""ONE_TIME""SUBSCRIPTION"
productDiscountTypestring
Enum"SELECTED_PRODUCT""EACH_PRODUCT"
collectionDatastring
productSelectionTypestring
Enum"PRODUCT""COLLECTION"
sellingPlanIdsstring
minUniqueProductCheckboolean
Response
application/json
{ "id": 45678, "shop": "example-shop.myshopify.com", "bundleName": "Premium Coffee Selection", "bundleHandle": "premium-coffee-selection", "uniqueRef": "bab_abc123xyz", "description": "Choose your favorite coffee blends for monthly delivery", "buildABoxType": "SINGLE_PRODUCT", "buildBoxVersion": "V2", "minProductCount": 2, "maxProductCount": 5, "pricingType": "PER_PRODUCT", "discount": 10, "discountType": "PERCENTAGE", "allowOneTimePurchase": true, "active": true, "availableProducts": [ {}, {} ], "frequencies": [ {}, {} ], "createdAt": "2024-03-15T10:30:00Z", "updatedAt": "2024-03-15T10:30:00Z" }

Get bundle details by handle

Request

Retrieves complete details for a subscription bundle using its unique handle. This endpoint returns the bundle configuration, included products, pricing, and available subscription options.

Bundle Information Returned:

  • Bundle name and description
  • Product selections with quantities
  • Pricing and discounts
  • Available subscription frequencies
  • Bundle status and availability
  • Product images and details

Use Cases:

  • Display bundle details on product pages
  • Show bundle contents in customer portal
  • Fetch bundle configuration for cart/checkout
  • Integration with external systems
  • Build custom bundle selection interfaces

Bundle Handle: The handle is a unique, URL-friendly identifier for the bundle. It's typically generated when the bundle is created and remains constant throughout the bundle's lifecycle.

Authentication: Requires valid X-API-Key header

Path
handlestringrequired

Customer Handle

Query
api_keystring

API Key (Deprecated - Use Header X-API-Key instead)

Headers
X-API-Keystring
curl -i -X GET \
  'https://subscription-admin.appstle.com/api/external/v2/subscription-bundlings/external/get-bundle/{handle}?api_key=string' \
  -H 'X-API-Key: string'

Responses

Bundle details successfully retrieved

Bodyapplication/json
Response
application/json
{ "bundle": { "id": 12345, "name": "Premium Coffee Bundle", "handle": "premium-coffee-bundle", "description": "Choose your favorite coffee blends", "minProducts": 2, "maxProducts": 5, "totalPrice": "49.99", "currencyCode": "USD" }, "subscriptions": [ {}, {} ], "products": [ {} ] }

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

Request

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

Path
idinteger(int64)required
Query
api_keystring

API Key (Deprecated - Use Header X-API-Key instead)

Headers
X-API-Keystring
curl -i -X GET \
  'https://subscription-admin.appstle.com/api/external/v2/subscription-bundle-settings/{id}?api_key=string' \
  -H 'X-API-Key: string'

Responses

Bundle settings successfully retrieved

Bodyapplication/json
idinteger(int64)
shopstringrequired
selectedFrequencyLabelTextstringrequired
addButtonTextstringrequired
selectMinimumProductButtonTextstringrequired
productsToProceedTextstringrequired
proceedToCheckoutButtonTextstringrequired
myDeliveryTextstringrequired
bundleTopHtmlstring
bundleBottomHtmlstring
failedToAddTitleTextstring
okBtnTextstring
failedToAddMsgTextstring
buttonColorstring
backgroundColorstring
pageBackgroundColorstring
buttonBackgroundColorstring
variantNotAvailablestring
bundleRedirectstring
Enum"CART""CHECKOUT""CUSTOM"
isBundleWithoutScrollboolean
descriptionLengthinteger(int32)
currencySwitcherClassNamestring
productPriceFormatFieldstring
customRedirectURLstring
viewProductstring
productDetailsstring
editQuantitystring
cartstring
shoppingCartstring
titlestring
tieredDiscountstring
subtotalstring
checkoutMessagestring
continueShoppingstring
spendAmountGetDiscountstring
buyQuantityGetDiscountstring
removeItemstring
showCompareAtPriceboolean
enableRedirectToProductPageboolean
disableProductDescriptionboolean
enableDisplayProductVendorboolean
enableDisplayProductTypeboolean
enableCustomAdvancedFieldsboolean
hideProductSearchBoxboolean
productFilterConfigstring
enableProductDetailButtonboolean
enableShowProductBasePriceboolean
enableClearCartSelectedProductsboolean
enableSkieyBABHeaderboolean
enableOpeningSidebarboolean
rightSidebarHTMLstring
leftSidebarHTMLstring
isMergeIntoSingleBABVariantDropdownboolean
enableEditQuantityTextboxboolean
displayUnavailableProductboolean
allowAddUnavailableProductboolean
showOrderNoteFieldboolean
showSubLoyaltyTableboolean
restrictPriceRateCalculationboolean
disableProductCardImageSliderboolean
skipFilterVariantsByAllocationsIdboolean
openingSidebarTypestring
Enum"DEFAULT""MAX_QUANTITY""STOP_AUTO_OPEN""MIN_AMOUNT"
moveOneTimePurchaseToTopboolean
skipFirstPageboolean
congratsMessageTextstring
spentTextstring
quantityLabelstring
variantLabelTextV2string
itemsTextstring
shopCustomizationDataArray of objects(UpdateShopCustomizationRequest)
productTitleFontColorstring
Response
application/json
{ "id": 12345, "shop": "example-shop.myshopify.com", "enabled": true, "minProducts": 3, "maxProducts": 8, "minBundleValue": 40, "maxBundleValue": 100, "pricingModel": "FIXED_PRICE", "fixedBundlePrice": 59.99, "allowModifications": true, "modificationCutoffDays": 5, "lockAfterFirstOrder": false, "enableProductRotation": true, "maxSwapsPerCycle": 2, "requireCategoryDiversity": true, "categoryLimits": { "coffee-light-roast": {}, "coffee-medium-roast": {}, "coffee-dark-roast": {}, "coffee-decaf": {}, "coffee-flavored": {} }, "displaySettings": { "layoutType": "GRID", "productsPerRow": 3, "showProductImages": true, "showProductDescriptions": true, "showPricing": false, "enableFiltering": true, "enableSearch": true, "showBundlePreview": true }, "notifications": { "sendBundleCreatedEmail": true, "sendModificationReminderEmail": true, "reminderDaysBeforeOrder": 7, "sendBundleModifiedConfirmation": true }, "substitution": { "allowSubstitutions": true, "substitutionMethod": "SIMILAR_PRODUCT", "notifyCustomerOfSubstitutions": true, "allowCustomerToApproveSubstitutions": false }, "recommendations": { "enableRecommendations": true, "recommendationStrategy": "POPULAR_AND_PERSONALIZED", "showBestSellers": true, "showCuratedBundles": true }, "discounts": { "enableVolumeDiscounts": true, "volumeDiscountTiers": [] }, "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-02-20T14:45:00Z" }

Product Catalog

APIs for managing the product catalog including product information, variants, and inventory.

Operations

Operations & Settings

APIs for managing operational settings, configurations, and administrative functions.

Operations

Customer Portal

APIs powering the customer-facing portal where subscribers can manage their own subscriptions.

Operations

Customers

APIs for managing customer information, profiles, and account details.

Operations