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

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" }

Retrieve a Build-A-Box bundle by ID

Request

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)

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/build-a-box/{id}?api_key=string' \
  -H 'X-API-Key: string'

Responses

Build-A-Box bundle successfully retrieved

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, "minOrderAmount": 25, "pricingType": "PER_PRODUCT", "discount": 10, "discountType": "PERCENTAGE", "allowOneTimePurchase": true, "thirdPartyRule": false, "trackInventory": true, "active": true, "productViewStyle": "GRID", "proceedToCheckoutButtonText": "Complete Your Subscription", "chooseProductsText": "Build Your Perfect Coffee Box", "availableProducts": [ {}, {} ], "frequencies": [ {}, {} ], "createdAt": "2024-03-15T10:30:00Z", "updatedAt": "2024-03-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