Retrieves a paginated list of subscription contracts with powerful filtering capabilities. This endpoint enables complex queries to find specific subscriptions based on various criteria including dates, customer information, product details, and subscription characteristics.
Key Features:
Pagination:
IMPORTANT - Sorting Limitations: Due to the use of native SQL queries, sort parameters MUST use database column names (snake_case) rather than Java field names (camelCase).
Common sorting examples:
sort=next_billing_date,asc (NOT nextBillingDate)sort=customer_name,desc (NOT customerName)sort=created_at,asc (NOT createdAt)sort=subscription_contract_id,desc (NOT subscriptionContractId)sort=order_amount,asc (NOT orderAmount)Date Format:
All date parameters use ISO 8601 format with timezone:
yyyy-MM-dd'T'HH:mm:ssXXX
Examples: 2024-03-15T10:30:00+00:00 or 2024-03-15T10:30:00Z
Date Range Filtering:
Text Search Behavior:
Plan Type Classification:
Performance Considerations:
Authentication: Requires valid X-API-Key header (the deprecated ‘api_key’ query parameter is still accepted but not recommended)
curl --request GET \
--url https://subscription-admin.appstle.com/api/external/v2/subscription-contract-details \
--header 'X-API-Key: <x-api-key>'[
{
"id": 1001,
"subscriptionContractId": 123456789,
"graphSubscriptionContractId": "gid://shopify/SubscriptionContract/123456789",
"status": "active",
"customerId": 987654321,
"customerName": "John Doe",
"customerEmail": "john.doe@example.com",
"orderName": "#SUB-1001",
"nextBillingDate": "2024-04-01T12:00:00.000+00:00",
"billingPolicyInterval": "MONTH",
"billingPolicyIntervalCount": 1,
"deliveryPolicyInterval": "MONTH",
"deliveryPolicyIntervalCount": 1,
"totalPrice": 99.99,
"currencyCode": "USD",
"createdAt": "2024-01-15T08:00:00.000+00:00",
"updatedAt": "2024-03-01T14:30:00.000+00:00",
"contractDetailsJson": [
{
"productId": "gid://shopify/Product/7890123456",
"variantId": "gid://shopify/ProductVariant/42549172011164",
"productTitle": "Premium Subscription Box",
"variantTitle": "Monthly Plan",
"quantity": 1,
"currentPrice": 99.99,
"sellingPlanId": "gid://shopify/SellingPlan/123456",
"sellingPlanName": "Deliver every month"
}
],
"minCycles": 3,
"maxCycles": null,
"activatedOn": "2024-01-15T08:00:00.000+00:00",
"pausedOn": null,
"cancelledOn": null,
"importedId": null
},
{
"id": 1002,
"subscriptionContractId": 123456790,
"status": "paused",
"customerId": 987654322,
"customerName": "Jane Smith",
"customerEmail": "jane.smith@example.com",
"orderName": "#SUB-1002",
"nextBillingDate": "2024-05-01T12:00:00.000+00:00",
"billingPolicyInterval": "MONTH",
"billingPolicyIntervalCount": 3,
"deliveryPolicyInterval": "MONTH",
"deliveryPolicyIntervalCount": 1,
"totalPrice": 149.97,
"currencyCode": "USD",
"createdAt": "2024-02-01T10:00:00.000+00:00",
"updatedAt": "2024-03-10T16:45:00.000+00:00"
}
]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.
API Key for authentication
API Key (Deprecated - Use X-API-Key header instead)
Filter by subscriptions created on or after this date
Filter by subscriptions created on or before this date
Filter by subscriptions updated on or after this date
Filter by subscriptions updated on or before this date
Filter by subscriptions with next billing date on or after this date. Note: Both fromNextDate and toNextDate must be provided together
Filter by subscriptions with next billing date on or before this date. Note: Both fromNextDate and toNextDate must be provided together
Filter by subscription contract ID (partial match supported, case-insensitive)
Filter by customer name or email (partial match, case-insensitive). Searches both customer_name and customer_email fields
Filter by order number (searches current order_name and historical orders in subscription_billing_attempt table, partial match)
Filter by subscription status (case-insensitive)
ACTIVE, PAUSED, CANCELLED Filter by delivery interval count (Note: This parameter name is misleading - it actually filters the delivery_policy_interval_count field)
1 <= x <= 365Filter by delivery interval type (Note: This parameter name is misleading - it actually filters the delivery_policy_interval field)
DAY, WEEK, MONTH, YEAR Filter by plan type classification. 'prepaid' = billing interval count ≠ delivery interval count, 'non-prepaid' = billing interval count = delivery interval count
prepaid, non-prepaid Filter by record type. 'imported' = has imported_id, 'nonImported' = no imported_id
imported, nonImported Filter by product ID (searches within subscription line items JSON). Provide numeric ID only
Filter by variant ID (searches within subscription line items JSON). Provide numeric ID only
Filter by selling plan ID (searches within subscription line items JSON). Provide numeric ID only
Filter by minimum total order amount (calculated from sum of line items: quantity * currentPrice)
Filter by maximum total order amount (calculated from sum of line items: quantity * currentPrice)
Pagination and sorting parameters. IMPORTANT: Sort fields must use database column names (snake_case), not Java field names. Maximum page size is 2000.
Show child attributes
Successfully retrieved subscription contracts
SENT, UNSENT, FAILED, EMAIL_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_PAUSED_STATUS SENT, UNSENT, FAILED, SMS_SETTINGS_DISABLED, CUSTOMER_PAYMENT_EMPTY, CONTRACT_PAUSED_STATUS, PHONE_NUMBER_EMPTY STORE_FRONT, IMPORTED, SPLIT_ATTEMPT_BILLING, SPLIT_CONTRACT REGULAR_SUBSCRIPTION, BUILD_A_BOX_CLASSIC, BUILD_A_BOX_SINGLE_PRODUCT, BUNDLING_CLASSIC, BUNDLING_MIX_AND_MATCH, SECTIONED_BUNDLE, VOLUME_DISCOUNT curl --request GET \
--url https://subscription-admin.appstle.com/api/external/v2/subscription-contract-details \
--header 'X-API-Key: <x-api-key>'[
{
"id": 1001,
"subscriptionContractId": 123456789,
"graphSubscriptionContractId": "gid://shopify/SubscriptionContract/123456789",
"status": "active",
"customerId": 987654321,
"customerName": "John Doe",
"customerEmail": "john.doe@example.com",
"orderName": "#SUB-1001",
"nextBillingDate": "2024-04-01T12:00:00.000+00:00",
"billingPolicyInterval": "MONTH",
"billingPolicyIntervalCount": 1,
"deliveryPolicyInterval": "MONTH",
"deliveryPolicyIntervalCount": 1,
"totalPrice": 99.99,
"currencyCode": "USD",
"createdAt": "2024-01-15T08:00:00.000+00:00",
"updatedAt": "2024-03-01T14:30:00.000+00:00",
"contractDetailsJson": [
{
"productId": "gid://shopify/Product/7890123456",
"variantId": "gid://shopify/ProductVariant/42549172011164",
"productTitle": "Premium Subscription Box",
"variantTitle": "Monthly Plan",
"quantity": 1,
"currentPrice": 99.99,
"sellingPlanId": "gid://shopify/SellingPlan/123456",
"sellingPlanName": "Deliver every month"
}
],
"minCycles": 3,
"maxCycles": null,
"activatedOn": "2024-01-15T08:00:00.000+00:00",
"pausedOn": null,
"cancelledOn": null,
"importedId": null
},
{
"id": 1002,
"subscriptionContractId": 123456790,
"status": "paused",
"customerId": 987654322,
"customerName": "Jane Smith",
"customerEmail": "jane.smith@example.com",
"orderName": "#SUB-1002",
"nextBillingDate": "2024-05-01T12:00:00.000+00:00",
"billingPolicyInterval": "MONTH",
"billingPolicyIntervalCount": 3,
"deliveryPolicyInterval": "MONTH",
"deliveryPolicyIntervalCount": 1,
"totalPrice": 149.97,
"currencyCode": "USD",
"createdAt": "2024-02-01T10:00:00.000+00:00",
"updatedAt": "2024-03-10T16:45:00.000+00:00"
}
]