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.
External APIs (0.0.1)
Request
Retrieves all one-time products (add-ons) associated with a specific subscription contract across all billing attempts. One-time products are additional items that customers can add to their subscription orders on a non-recurring basis. Each one-time product is tied to a specific billing attempt and will only be included in that particular order.
Key Features:
- Returns ALL one-time products across all queued billing attempts
- Each product includes the billing attempt ID to identify which order it belongs to
- Includes product details: variant ID, quantity, title, image, and price
- Products are automatically removed after the associated billing attempt is processed
Use Cases:
- Display all one-time products added to a subscription across all upcoming orders
- Allow customers to review their one-time add-ons in customer portal
- Enable merchants to see all one-time products for a contract
- Integrate with external systems to manage subscription add-ons
Authentication: Requires valid X-API-Key header
- https://subscription-admin.appstle.com/api/external/v2/subscription-contract-one-offs-by-contractId
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://subscription-admin.appstle.com/api/external/v2/subscription-contract-one-offs-by-contractId?contractId=98765&api_key=sk_live_1234567890abcdef' \
-H 'X-API-Key: sk_live_1234567890abcdef'Successfully retrieved one-time products
The Shopify store domain that owns this subscription
The billing attempt ID this one-time product is associated with. This determines which upcoming order will include this product.
The subscription contract ID this one-time product belongs to
The Shopify product variant ID for this one-time product
The handle/slug of the product variant for URL-friendly identification
The price per unit of this product in the shop's base currency. This may include any applicable discounts.
[ { "id": 12345, "shop": "example-shop.myshopify.com", "contractId": 67890, "billingAttemptId": 11111, "variantId": 22222, "quantity": 2, "productTitle": "Coffee Filters - Pack of 100", "variantTitle": "Standard Size", "image": "https://cdn.shopify.com/s/files/1/0000/0000/products/filter.jpg", "price": "9.99", "currencyCode": "USD", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T10:30:00Z" }, { "id": 12346, "shop": "example-shop.myshopify.com", "contractId": 67890, "billingAttemptId": 11112, "variantId": 33333, "quantity": 1, "productTitle": "Coffee Scoop", "variantTitle": "Stainless Steel", "image": "https://cdn.shopify.com/s/files/1/0000/0000/products/scoop.jpg", "price": "14.99", "currencyCode": "USD", "createdAt": "2024-01-16T14:20:00Z", "updatedAt": "2024-01-16T14:20:00Z" } ]
Request
Retrieves detailed information about a specific product swap automation configuration. This endpoint returns complete details about the source products, destination products, swap triggers, and all associated settings.
Response Details:
- Complete swap configuration
- Source product variants with images and quantities
- Destination product variants with images and quantities
- Billing cycle triggers and conditions
- Discount carry-forward settings
- Email notification preferences
- Swap status and history
Source and Destination Variants: Both source and destination variants are returned as JSON strings containing:
- Variant ID
- Display name/title
- Product image URL
- Quantity to swap
- Product metadata
Swap Timing:
- forBillingCycle: If set, swap occurs at this specific cycle number
- checkForEveryRecurringOrder: If true, swap happens on every order
- updatedFirstOrder: If true, can affect the initial subscription order
Discount Handling:
- NONE: No discount carried forward
- PERCENTAGE: Percentage discount is maintained
- FIXED_AMOUNT: Fixed amount discount is maintained
- PRICE: Specific price point is maintained
Authentication: Requires valid X-API-Key header
- https://subscription-admin.appstle.com/api/external/v2/product-swaps/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://subscription-admin.appstle.com/api/external/v2/product-swaps/{id}' \
-H 'X-API-Key: string'{ "id": 0, "shop": "string", "sourceVariants": "string", "destinationVariants": "string", "updatedFirstOrder": true, "checkForEveryRecurringOrder": true, "name": "string", "changeNextOrderDateBy": 0, "forBillingCycle": 0, "carryDiscountForward": true, "ruleSequence": 0, "stopSwapEmails": true, "discountCarryForward": "NONE" }
Request
Permanently deletes a product swap automation configuration. Once deleted, the swap will no longer be applied to any subscription orders. Existing subscriptions that have already had products swapped are not affected.
Deletion Behavior:
- Permanently removes the swap automation
- Does not reverse past swaps that have already occurred
- Future orders will not have this swap applied
- Cannot be undone - swap configuration must be recreated if needed
Impact on Subscriptions:
- Active Subscriptions: Will continue with current products (no automatic reversion)
- Future Orders: Swap will not be applied
- Past Orders: Already swapped products remain unchanged
- Queued Swaps: Pending swaps for this automation are cancelled
When to Delete:
- Discontinuing a seasonal product rotation
- Removing outdated swap rules
- Cleaning up test or experimental swaps
- Product lines being discontinued
- Correcting misconfigured swaps
Important Notes:
- This operation is permanent and cannot be undone
- Consider deactivating instead of deleting if you might reuse the configuration
- Activity logs for past swaps are retained
- Customers are not automatically notified of swap deletion
Best Practices:
- Review affected subscriptions before deletion
- Consider communicating changes to affected customers
- Export swap configuration if you might need it later
- Use deactivation for temporary pauses instead of deletion
Authentication: Requires valid X-API-Key header
- https://subscription-admin.appstle.com/api/external/v2/product-swaps/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://subscription-admin.appstle.com/api/external/v2/product-swaps/{id}' \
-H 'X-API-Key: string'