APIs for managing Shopify delivery profiles, shipping rates, zones, and free shipping configuration for subscription memberships
- Get one-time add-ons for a membership contract
External (0.0.1)
Request
Adds a one-time product (one-off) to a specific upcoming billing attempt for a membership contract. The product will be included only in the specified order and will not become part of the recurring subscription.
Key Features:
- One-Time Addition: Product added to single order only
- Billing Cycle Targeting: Specify exact order to add item to
- No Subscription Impact: Doesn't change recurring items
- Instant Upsell: Add products between regular billing cycles
- Customer Flexibility: Allow members to add extras to next order
- Activity Logging: Tracks who added the item (merchant vs API)
Required Parameters:
- Contract ID: Target subscription contract
- Billing Attempt ID: Specific upcoming order to add item to
- Variant ID: Shopify product variant to add
- Variant Handle: Product handle for identification
How It Works:
- Validates contract exists and belongs to shop
- Checks if contract is not frozen (minimum cycles)
- Verifies billing attempt is upcoming (not already processed)
- Adds variant to the specified billing attempt
- Returns updated list of all one-offs for the contract
- Logs activity for audit trail
Use Cases:
- Customer wants to add a bonus product to next delivery
- Merchant offers limited-time add-on to existing members
- Trial/sample products added to specific orders
- Holiday specials or seasonal items
- Promotional gifts or rewards
- One-time upsells in customer portal
Business Rules:
- Item added only to specified billing attempt
- Cannot add to past or completed orders
- Contract must not be frozen/minimum cycle locked
- Duplicate items increment quantity
Authentication: Requires API key authentication via X-API-Key header or api_key parameter
- https://membership-admin.appstle.com/api/external/v2/subscription-contract-one-offs-by-contractId-and-billing-attempt-id
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://membership-admin.appstle.com/api/external/v2/subscription-contract-one-offs-by-contractId-and-billing-attempt-id?api_key=string&contractId=123456&billingAttemptId=789012&variantId=456789&variantHandle=coffee-beans-1lb' \
-H 'X-API-Key: string'[ { "id": 0, "shop": "string", "billingAttemptId": 0, "subscriptionContractId": 0, "variantId": 0, "variantHandle": "string" } ]
Request
Removes a previously added one-time product (one-off) from a specific upcoming billing attempt. This allows customers or merchants to cancel add-on items before the order is processed.
Key Features:
- Flexible Cancellation: Remove add-ons before order processes
- Targeted Removal: Remove specific variant from specific order
- No Subscription Impact: Doesn't affect recurring items
- Customer Control: Let members manage their add-ons
- Activity Logging: Tracks removal for audit trail
Required Parameters:
- Contract ID: Target subscription contract
- Billing Attempt ID: Order to remove item from
- Variant ID: Product variant to remove
How It Works:
- Validates contract exists and belongs to shop
- Finds one-off matching contract, billing attempt, and variant
- Deletes the one-off record
- Returns updated list of remaining one-offs
- Logs removal activity for audit trail
Use Cases:
- Customer changes mind about add-on product
- Remove out-of-stock items from upcoming orders
- Cancel promotional items no longer available
- Customer wants to reduce order total
- Merchant corrects mistakenly added items
- Manage add-ons in customer portal
Business Rules:
- Can only remove from upcoming (unprocessed) orders
- Must match exact contract, billing attempt, and variant
- Returns remaining one-offs after deletion
- Cannot remove from past/completed orders
Authentication: Requires API key authentication via X-API-Key header or api_key parameter
- https://membership-admin.appstle.com/api/external/v2/subscription-contract-one-offs-by-contractId-and-billing-attempt-id
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://membership-admin.appstle.com/api/external/v2/subscription-contract-one-offs-by-contractId-and-billing-attempt-id?api_key=string&contractId=123456&billingAttemptId=789012&variantId=456789' \
-H 'X-API-Key: string'[ { "id": 0, "shop": "string", "billingAttemptId": 0, "subscriptionContractId": 0, "variantId": 0, "variantHandle": "string" } ]
Request
Retrieves all one-time product additions scheduled for upcoming orders of a specific membership contract. One-offs are products added to a single billing cycle without affecting the recurring subscription items.
Key Information Returned:
- One-Off Items: List of products added to upcoming orders
- Product Details: Variant ID, handle, title, price, image
- Billing Association: Which billing attempt the item is added to
- Quantity: Number of units for the one-time add-on
- Status: Active, pending, or fulfilled one-offs
- Created Date: When the one-off was added
One-Off Item Data:
- Contract ID: Parent subscription contract
- Billing Attempt ID: Specific order the item will be added to
- Variant Info: Product variant being added
- Pricing: One-time price for the add-on
- Fulfillment Status: Whether item has been shipped
Use Cases:
- Display scheduled one-time add-ons in customer portal
- Show customers which extra items are in next order
- Sync one-off data with external order management systems
- Generate custom order previews for customers
- Build upsell dashboards showing add-on purchases
- Track one-time product revenue per contract
Authentication: Requires API key authentication via X-API-Key header or api_key parameter
- https://membership-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://membership-admin.appstle.com/api/external/v2/subscription-contract-one-offs-by-contractId?api_key=string&contractId=123456' \
-H 'X-API-Key: string'[ { "id": 0, "shop": "string", "billingAttemptId": 0, "subscriptionContractId": 0, "variantId": 0, "variantHandle": "string" } ]