Adds a one-time product (add-on) to a specific subscription order. The product will be included only in the specified billing attempt and will not recur in future orders. This endpoint is idempotent - attempting to add the same product to the same billing attempt will return success without creating duplicates.
Important Behaviors:
Validation Rules:
Use Cases:
Authentication: Requires valid X-API-Key header that identifies the shop
curl --request PUT \
--url https://subscription-admin.appstle.com/api/external/v2/subscription-contract-one-offs-by-contractId-and-billing-attempt-id \
--header 'X-API-Key: <x-api-key>'[
{
"id": 12345,
"shop": "example-store.myshopify.com",
"subscriptionContractId": 98765,
"billingAttemptId": 54321,
"variantId": 42549172011164,
"variantHandle": "premium-coffee-blend-500g",
"quantity": 2,
"price": 19.99
},
{
"id": 12350,
"shop": "example-store.myshopify.com",
"subscriptionContractId": 98765,
"billingAttemptId": 54321,
"variantId": 42549172011167,
"variantHandle": "coffee-sampler-pack",
"quantity": 1,
"price": 29.99
}
]Documentation Index
Fetch the complete documentation index at: https://developers.appstle.com/llms.txt
Use this file to discover all available pages before exploring further.
API Key for authentication. This key identifies your shop and must be included in the X-API-Key header.
API Key (Deprecated - Use X-API-Key header instead)
The unique identifier of the subscription contract
x >= 1The billing attempt ID to add the product to. If invalid or not QUEUED, the system will automatically use the next upcoming order.
x >= 1The Shopify product variant ID to add as a one-time purchase
x >= 1The handle/slug of the product variant for URL-friendly identification
^[a-z0-9]+(?:-[a-z0-9]+)*$The quantity of the product to add. Defaults to 1 if not specified.
1 <= x <= 999Successfully added one-time product or product already exists. Returns all one-time products for the contract.
The Shopify store domain that owns this subscription
^[a-zA-Z0-9][a-zA-Z0-9-]*\.myshopify\.com$"example-store.myshopify.com"
Unique identifier of the one-time product record
12345
The billing attempt ID this one-time product is associated with. This determines which upcoming order will include this product.
x >= 154321
The subscription contract ID this one-time product belongs to
x >= 198765
The Shopify product variant ID for this one-time product
x >= 142549172011164
The handle/slug of the product variant for URL-friendly identification
^[a-z0-9]+(?:-[a-z0-9]+)*$"premium-coffee-blend-500g"
The quantity of this product to include in the order
1 <= x <= 9992
The price per unit of this product in the shop's base currency. This may include any applicable discounts.
0 <= x <= 999999.9919.99
curl --request PUT \
--url https://subscription-admin.appstle.com/api/external/v2/subscription-contract-one-offs-by-contractId-and-billing-attempt-id \
--header 'X-API-Key: <x-api-key>'[
{
"id": 12345,
"shop": "example-store.myshopify.com",
"subscriptionContractId": 98765,
"billingAttemptId": 54321,
"variantId": 42549172011164,
"variantHandle": "premium-coffee-blend-500g",
"quantity": 2,
"price": 19.99
},
{
"id": 12350,
"shop": "example-store.myshopify.com",
"subscriptionContractId": 98765,
"billingAttemptId": 54321,
"variantId": 42549172011167,
"variantHandle": "coffee-sampler-pack",
"quantity": 1,
"price": 29.99
}
]