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

Add products or variants to an existing subscription group

Request

Adds one or more products and/or product variants to an existing subscription group (selling plan group). This endpoint provides a simple way to expand the product catalog eligible for subscription without modifying the group's configuration or existing product assignments.

Key Features:

  • Add multiple products and variants in a single request
  • Preserves existing product and variant assignments
  • Maintains the order of products as provided
  • Updates delivery profiles automatically if needed
  • Synchronously updates Shopify and returns the updated group
  • Optional response enhancement with added products information

Important Notes:

  • Product IDs should be numeric Shopify product IDs without the gid:// prefix
  • Variant IDs should be numeric Shopify variant IDs without the gid:// prefix
  • Adding products also makes all their variants eligible for subscription
  • Adding specific variants limits subscription eligibility to those variants only
  • Duplicate products/variants are handled gracefully by Shopify
  • URL length limits apply to the comma-separated lists (use bulk endpoint for large additions)
  • Include 'x-return-short-response: true' header to get only added products/variants information in response

Use Cases:

  • Launch new products with subscription options
  • Add seasonal items to existing subscription groups
  • Enable subscription for specific product variants
  • Expand subscription eligibility without changing plan configurations
  • Track which products were added in the current request

Authentication: Requires valid X-API-Key header

Path
idinteger(int64)required

Subscription group ID (numeric ID)

Example: 123456789
Query
productIdsstring^\d+(,\d+)*$

Comma-separated list of Shopify product IDs to add. Adding a product makes all its variants eligible for subscription. Use numeric IDs only (e.g., '987654321,987654322,987654323')

Example: productIds=987654321,987654322,987654323
variantIdsstring^\d+(,\d+)*$

Comma-separated list of Shopify variant IDs to add. Use this to enable subscription for specific variants only. Use numeric IDs only (e.g., '123456789,123456790,123456791')

Example: variantIds=123456789,123456790
api_keystringDeprecated

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

Headers
X-API-Keystringrequired

API Key for authentication

Example: sk_live_1234567890abcdef
x-return-short-responseboolean

Header to indicate if response should return only added products ID information. Set to 'true' for minimal response, any other value or omitted for full response.

Default false
curl -i -X PUT \
  'https://subscription-admin.appstle.com/api/external/v2/subscription-groups/123456789/add-products?productIds=987654321%2C987654322%2C987654323&variantIds=123456789%2C123456790&api_key=string' \
  -H 'X-API-Key: sk_live_1234567890abcdef' \
  -H 'x-return-short-response: false'

Responses

Products/variants successfully added to subscription group

Bodyapplication/json
One of:
idinteger(int64)
productCountinteger(int64)
productVariantCountinteger(int64)
subscriptionPlansArray of objects(FrequencyInfoDTO)
groupNamestring
productIdsstring
productIdstring
variantIdsstring
accessoryProductIdsstring
updateProductsobject(ProductVariantDTO)
deleteProductsobject(ProductVariantDTO)
translationsstring
Response
application/json
{ "id": 123456789, "groupName": "Monthly Coffee Subscription", "productCount": 10, "productVariantCount": 35, "productIds": "[{\"id\":987654321,\"title\":\"Premium Coffee Blend\"},{\"id\":987654322,\"title\":\"Organic Dark Roast\"},{\"id\":987654323,\"title\":\"Colombian Single Origin\"}]", "variantIds": "[{\"id\":123456789,\"title\":\"250g Bag\"},{\"id\":123456790,\"title\":\"500g Bag\"}]", "subscriptionPlans": [ {} ] }

Remove products or variants from ALL subscription groups

Request

Removes specified products and/or variants from ALL subscription groups in the store. This is a powerful bulk operation that affects every subscription group simultaneously.

⚠️ WARNING: This operation:

  • Affects ALL subscription groups in your store
  • Cannot be easily undone
  • Processes synchronously (may timeout for stores with many groups)
  • Does NOT affect existing active subscriptions

Use Cases:

  • Discontinuing products from all subscription offerings
  • Removing seasonal items from all groups
  • Cleaning up deleted products from subscription groups
  • Compliance-driven product removals

Important Considerations:

  • Each group is updated individually
  • If any group update fails, previous groups remain updated
  • Large operations may take significant time
  • Consider using individual group removal for better control

Authentication: Requires valid X-API-Key header

Query
productIdsstring^\d+(,\d+)*$

Comma-separated list of product IDs to remove from all groups. Use numeric IDs without gid:// prefix.

Example: productIds=987654321,987654322
variantIdsstring^\d+(,\d+)*$

Comma-separated list of variant IDs to remove from all groups. Use numeric IDs without gid:// prefix.

Example: variantIds=123456789,123456790
api_keystringDeprecated

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

Headers
X-API-Keystringrequired

API Key for authentication

Example: sk_live_1234567890abcdef
curl -i -X PUT \
  'https://subscription-admin.appstle.com/api/external/v2/subscription-groups/remove-products?productIds=987654321%2C987654322&variantIds=123456789%2C123456790&api_key=string' \
  -H 'X-API-Key: sk_live_1234567890abcdef'

Responses

Products/variants successfully removed from all subscription groups

Bodyapplication/json
string
Response
application/json
"Product Deleted Successfully"

Bulk add products or variants to an existing subscription group

Request

Adds multiple products and/or product variants to an existing subscription group (selling plan group) using a JSON request body. This endpoint is ideal for adding large numbers of products/variants that would exceed URL length limits in the query parameter version.

Advantages over query parameter endpoint:

  • No URL length restrictions
  • Cleaner syntax for large lists
  • Better for programmatic integrations
  • Supports the same functionality with improved scalability

Behavior:

  • Identical to the query parameter endpoint in functionality
  • Adds products/variants to existing assignments
  • Preserves product order
  • Updates synchronously and returns the updated group

Authentication: Requires valid X-API-Key header

Path
idinteger(int64)required

Subscription group ID (numeric ID)

Example: 123456789
Query
api_keystringDeprecated

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

Headers
X-API-Keystringrequired

API Key for authentication

Example: sk_live_1234567890abcdef
Bodyapplication/jsonrequired

Product and variant IDs to add to the subscription group

productIdsArray of integers(int64)
variantIdsArray of integers(int64)
curl -i -X POST \
  'https://subscription-admin.appstle.com/api/external/v2/subscription-groups/123456789/bulk-add-products?api_key=string' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: sk_live_1234567890abcdef' \
  -d '{
    "productIds": [
      987654321,
      987654322,
      987654323,
      987654324,
      987654325
    ],
    "variantIds": []
  }'

Responses

Products/variants successfully added

Body*/*
object

Build-a-Box & Bundles

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

Operations

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