Skip to main content
GET
/
api
/
external
/
v2
/
product-swaps
Get all product swaps for a shop
curl --request GET \
  --url https://subscription-admin.appstle.com/api/external/v2/product-swaps
[
  {
    "id": 10782,
    "shop": "example-shop.myshopify.com",
    "sourceVariants": "[{\"id\":12345,\"displayName\":\"Summer Blend Coffee\",\"imageSrc\":\"https://cdn.shopify.com/image1.jpg\",\"quantity\":2}]",
    "destinationVariants": "[{\"id\":67890,\"displayName\":\"Fall Blend Coffee\",\"imageSrc\":\"https://cdn.shopify.com/image2.jpg\",\"quantity\":2}]",
    "updatedFirstOrder": false,
    "checkForEveryRecurringOrder": false,
    "name": "Seasonal Coffee Rotation",
    "forBillingCycle": 4,
    "carryDiscountForward": true,
    "stopSwapEmails": false,
    "discountCarryForward": "PERCENTAGE",
    "active": true,
    "createdAt": "2024-01-15T10:30:00Z"
  },
  {
    "id": 10783,
    "shop": "example-shop.myshopify.com",
    "sourceVariants": "[{\"id\":22222,\"displayName\":\"Beginner Kit\",\"imageSrc\":\"https://cdn.shopify.com/kit1.jpg\",\"quantity\":1}]",
    "destinationVariants": "[{\"id\":33333,\"displayName\":\"Advanced Kit\",\"imageSrc\":\"https://cdn.shopify.com/kit2.jpg\",\"quantity\":1}]",
    "updatedFirstOrder": false,
    "checkForEveryRecurringOrder": true,
    "name": "Monthly Variety Swap",
    "forBillingCycle": null,
    "carryDiscountForward": false,
    "stopSwapEmails": true,
    "discountCarryForward": "NONE",
    "active": 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.

Headers

X-API-Key
string

Query Parameters

ruleName
string
sourceVariants
string
destinationVariants
string

Response

Successfully retrieved product swaps

shop
string
required
id
integer<int64>
sourceVariants
string
destinationVariants
string
updatedFirstOrder
boolean
checkForEveryRecurringOrder
boolean
name
string
changeNextOrderDateBy
integer<int32>
forBillingCycle
integer<int32>
carryDiscountForward
boolean
ruleSequence
integer<int32>
stopSwapEmails
boolean
discountCarryForward
enum<string>
Available options:
NONE,
EXISTING_PLAN,
PRODUCT_PLAN,
PRODUCT_THEN_EXISTING