Subscription Object
| Field | Type | Description | 
|---|---|---|
| id | snowflake | ID of the subscription | 
| user_id | snowflake | ID of the user who is subscribed | 
| sku_ids | array of snowflakes | List of SKUs subscribed to | 
| entitlement_ids | array of snowflakes | List of entitlements granted for this subscription | 
| renewal_sku_ids | ?array of snowflakes | List of SKUs that this user will be subscribed to at renewal | 
| current_period_start | ISO8601 timestamp | Start of the current subscription period | 
| current_period_end | ISO8601 timestamp | End of the current subscription period | 
| status | SubscriptionStatus | Current status of the subscription | 
| canceled_at | ?ISO8601 timestamp | When the subscription was canceled | 
| country? | string | ISO3166-1 alpha-2 country code of the payment source used to purchase the subscription. Missing unless queried with a private OAuth scope. | 
ENDING status and the canceled_at timestamp will reflect the time of the cancellation.
Subscription Example
Subscription Statuses
| Type | Value | Description | 
|---|---|---|
| ACTIVE | 0 | Subscription is active and scheduled to renew. | 
| ENDING | 1 | Subscription is active but will not renew. | 
| INACTIVE | 2 | Subscription is inactive and not being charged. | 
Subscription status should not be used to grant perks. Use entitlements as an indication of whether a user should have access to a specific SKU. See our guide on Implementing App Subscriptions for more information.
ACTIVE outside its current period or INACTIVE within its current period.
Some examples of this behavior include:
- While a failed payment is being retried, the subscription would remain ACTIVEuntil it succeeds or our system determines the payment is not recoverable.
- A refund or chargeback during the current period would make the subscription INACTIVE.
List SKU Subscriptions
GET/skus/{sku.id}/subscriptions
Returns all subscriptions containing the SKU, filtered by user. Returns a list of subscription objects.
Query String Params
| Field | Type | Description | Default | 
|---|---|---|---|
| before? | snowflake | List subscriptions before this ID | absent | 
| after? | snowflake | List subscriptions after this ID | absent | 
| limit? | integer | Number of results to return (1-100) | 50 | 
| user_id? | snowflake | User ID for which to return subscriptions. Required except for OAuth queries. | absent | 
Get SKU Subscription
GET/skus/{sku.id}/subscriptions/{subscription.id}
Get a subscription by its ID. Returns a subscription object.