Creates a custom discount and applies it to a subscription contract. This endpoint allows you to create on-the-fly discounts without requiring pre-existing discount codes in Shopify.
Discount Creation & Application:
Discount Parameters:
Discount Types:
Cycle Limit Examples:
recurringCycleLimit=1: Discount for first order onlyrecurringCycleLimit=3: Discount for first 3 ordersrecurringCycleLimit=null: Discount applies foreverUse Cases:
Example Scenarios:
Returns: Updated subscription contract object with discount applied
Authentication: Requires API key authentication via X-API-Key header or api_key parameter
curl --request PUT \
--url https://membership-admin.appstle.com/api/external/v2/subscription-contracts-add-discount{
"get__typename": "<string>",
"id": "<string>",
"createdAt": {},
"updatedAt": {},
"nextBillingDate": {},
"deliveryPrice": {
"get__typename": "<string>",
"amount": {}
},
"billingPolicy": {
"get__typename": "<string>",
"intervalCount": 123,
"anchors": [
{
"get__typename": "<string>",
"cutoffDay": 123,
"day": 123,
"month": 123
}
],
"maxCycles": 123,
"minCycles": 123
},
"deliveryPolicy": {
"get__typename": "<string>",
"intervalCount": 123,
"anchors": [
{
"get__typename": "<string>",
"cutoffDay": 123,
"day": 123,
"month": 123
}
]
},
"lines": {
"get__typename": "<string>",
"nodes": [
{
"get__typename": "<string>"
}
],
"pageInfo": {
"get__typename": "<string>",
"hasPreviousPage": true,
"hasNextPage": true,
"startCursor": "<string>",
"endCursor": "<string>"
}
},
"customerPaymentMethod": {
"get__typename": "<string>",
"id": "<string>",
"instrument": {
"get__typename": "<string>"
},
"revokedAt": {}
},
"deliveryMethod": {
"get__typename": "<string>",
"id": "<string>",
"serviceCode": "<string>",
"minDeliveryDateTime": {},
"maxDeliveryDateTime": {},
"additionalInformation": {
"get__typename": "<string>",
"instructions": "<string>"
},
"brandedPromise": {
"get__typename": "<string>",
"handle": "<string>",
"name": "<string>"
}
},
"originOrder": {
"get__typename": "<string>",
"id": "<string>",
"name": "<string>",
"fulfillmentOrders": {
"get__typename": "<string>",
"nodes": [
{
"get__typename": "<string>"
}
],
"pageInfo": {
"get__typename": "<string>",
"hasPreviousPage": true,
"hasNextPage": true,
"startCursor": "<string>",
"endCursor": "<string>"
}
}
},
"customer": {
"get__typename": "<string>",
"id": "<string>",
"email": "<string>",
"displayName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phone": "<string>"
},
"discounts": {
"get__typename": "<string>",
"nodes": [
{
"get__typename": "<string>",
"createdAt": {},
"deliveredAt": {},
"estimatedDeliveryAt": {},
"id": "<string>",
"inTransitAt": {},
"name": "<string>",
"requiresShipping": true,
"service": {
"get__typename": "<string>",
"handle": "<string>",
"serviceName": "<string>"
},
"trackingInfo": [
{
"get__typename": "<string>",
"url": {},
"number": "<string>",
"company": "<string>"
}
]
}
],
"pageInfo": {
"get__typename": "<string>",
"hasPreviousPage": true,
"hasNextPage": true,
"startCursor": "<string>",
"endCursor": "<string>"
}
},
"note": "<string>",
"customAttributes": [
{
"get__typename": "<string>",
"key": "<string>",
"value": "<string>"
}
],
"billingAttempts": {
"get__typename": "<string>",
"nodes": [
{
"get__typename": "<string>",
"completedAt": {},
"createdAt": {},
"id": "<string>",
"idempotencyKey": "<string>",
"ready": true
}
]
}
}Documentation Index
Fetch the complete documentation index at: https://appstleinc-aeca3e0a.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Subscription contract ID to add discount to
API Key (Deprecated - Use Header X-API-Key instead)
Percentage discount value (use with discountType=PERCENTAGE)
Display title for the discount
Number of billing cycles discount applies (null for unlimited)
Apply discount to each item individually (true) or entire order (false)
Fixed amount discount value (use with discountType=FIXED_AMOUNT)
Discount type: PERCENTAGE or FIXED_AMOUNT
Discount successfully created and applied to subscription
ACTIVE, PAUSED, CANCELLED, EXPIRED, FAILED, $UNKNOWN Show child attributes
SUCCEEDED, FAILED, $UNKNOWN Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
curl --request PUT \
--url https://membership-admin.appstle.com/api/external/v2/subscription-contracts-add-discount{
"get__typename": "<string>",
"id": "<string>",
"createdAt": {},
"updatedAt": {},
"nextBillingDate": {},
"deliveryPrice": {
"get__typename": "<string>",
"amount": {}
},
"billingPolicy": {
"get__typename": "<string>",
"intervalCount": 123,
"anchors": [
{
"get__typename": "<string>",
"cutoffDay": 123,
"day": 123,
"month": 123
}
],
"maxCycles": 123,
"minCycles": 123
},
"deliveryPolicy": {
"get__typename": "<string>",
"intervalCount": 123,
"anchors": [
{
"get__typename": "<string>",
"cutoffDay": 123,
"day": 123,
"month": 123
}
]
},
"lines": {
"get__typename": "<string>",
"nodes": [
{
"get__typename": "<string>"
}
],
"pageInfo": {
"get__typename": "<string>",
"hasPreviousPage": true,
"hasNextPage": true,
"startCursor": "<string>",
"endCursor": "<string>"
}
},
"customerPaymentMethod": {
"get__typename": "<string>",
"id": "<string>",
"instrument": {
"get__typename": "<string>"
},
"revokedAt": {}
},
"deliveryMethod": {
"get__typename": "<string>",
"id": "<string>",
"serviceCode": "<string>",
"minDeliveryDateTime": {},
"maxDeliveryDateTime": {},
"additionalInformation": {
"get__typename": "<string>",
"instructions": "<string>"
},
"brandedPromise": {
"get__typename": "<string>",
"handle": "<string>",
"name": "<string>"
}
},
"originOrder": {
"get__typename": "<string>",
"id": "<string>",
"name": "<string>",
"fulfillmentOrders": {
"get__typename": "<string>",
"nodes": [
{
"get__typename": "<string>"
}
],
"pageInfo": {
"get__typename": "<string>",
"hasPreviousPage": true,
"hasNextPage": true,
"startCursor": "<string>",
"endCursor": "<string>"
}
}
},
"customer": {
"get__typename": "<string>",
"id": "<string>",
"email": "<string>",
"displayName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phone": "<string>"
},
"discounts": {
"get__typename": "<string>",
"nodes": [
{
"get__typename": "<string>",
"createdAt": {},
"deliveredAt": {},
"estimatedDeliveryAt": {},
"id": "<string>",
"inTransitAt": {},
"name": "<string>",
"requiresShipping": true,
"service": {
"get__typename": "<string>",
"handle": "<string>",
"serviceName": "<string>"
},
"trackingInfo": [
{
"get__typename": "<string>",
"url": {},
"number": "<string>",
"company": "<string>"
}
]
}
],
"pageInfo": {
"get__typename": "<string>",
"hasPreviousPage": true,
"hasNextPage": true,
"startCursor": "<string>",
"endCursor": "<string>"
}
},
"note": "<string>",
"customAttributes": [
{
"get__typename": "<string>",
"key": "<string>",
"value": "<string>"
}
],
"billingAttempts": {
"get__typename": "<string>",
"nodes": [
{
"get__typename": "<string>",
"completedAt": {},
"createdAt": {},
"id": "<string>",
"idempotencyKey": "<string>",
"ready": true
}
]
}
}