Nest Changelog
1.1.21
3/31/2022
1.1.22
4/5/2022
7 changed endpoints Collapse changed endpoints
GET /plans
Get all Plans
Response Body
{ data: List<{billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, defaultTrial?: { units?: 'day', value?: number, },
description?: string,
frequency?: { units?: 'month', value?: number, },
id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,
- price?: { - currency?: string, - value?: number, - },sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, updatedBy?: { id?: number, }, }>, }
GET /plans
Get all Plans
Response Body
{ data: List<{ + basePrice?: { + currency?: { + code?: string, + scale?: number, + symbol?: string, + }, + value?: number, + }, + benefits?: List<{ + text?: string, + }>, billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, defaultTrial?: { units?: 'day', value?: number, }, + delayBillingDays?: number, description?: string, + family?: { + brands?: List<'echelon' | 'fitnation' | 'fitquest'>, + code?: 'premier' | 'select' | 'flex' | 'fitpass', + type?: 'connected' | 'disconnected', + }, frequency?: { units?: 'month', value?: number, }, + frequencyDays?: number, id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, updatedBy?: { id?: number, }, }>, }
POST /plans
Create Plan
Request Body
{billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, },
- defaultTrial?: {units?: 'day', value?: number, },
description?: string,
- frequency?: {units?: 'month', value?: number, },
image?: {
- default: string, - large: string, - medium: string, - small: string, - url?: string,}, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,
- price?: { - currency?: string, - value?: number, - },sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, }
Response Body
{ data: {billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, defaultTrial?: { units?: 'day', value?: number, },
description?: string,
frequency?: { units?: 'month', value?: number, },
id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,
- price?: { - currency?: string, - value?: number, - },sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, updatedBy?: { id?: number, }, }, }
POST /plans
Create Plan
Request Body
{ + basePrice?: { + currency?: { + code?: string, + scale?: number, + symbol?: string, + }, + value?: number, + }, + benefits?: List<{ + text?: string, + }>, billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, },+ defaultTrial: { units?: 'day', value?: number, }, + delayBillingDays?: number, description?: string,
+ family?: { + brands?: List<'echelon' | 'fitnation' | 'fitquest'>, + code?: 'premier' | 'select' | 'flex' | 'fitpass', + type?: 'connected' | 'disconnected', + }, + frequency: { units?: 'month', value?: number, }, + frequencyDays: number, image?: {
+ data?: string, + filename?: string, }, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,
sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, }
Response Body
{ data: { + basePrice?: { + currency?: { + code?: string, + scale?: number, + symbol?: string, + }, + value?: number, + }, + benefits?: List<{ + text?: string, + }>, billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, defaultTrial?: { units?: 'day', value?: number, }, + delayBillingDays?: number, description?: string, + family?: { + brands?: List<'echelon' | 'fitnation' | 'fitquest'>, + code?: 'premier' | 'select' | 'flex' | 'fitpass', + type?: 'connected' | 'disconnected', + }, frequency?: { units?: 'month', value?: number, }, + frequencyDays?: number, id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, updatedBy?: { id?: number, }, }, }
PATCH /plans
Update plans in bulk.
Request Body
{ data?: {billingProviders: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country: { code?: string, id?: number, }, defaultTrial: { units?: 'day', value?: number, },
description: string,
frequency: { units?: 'month', value?: number, },
image: {
- default: string, - large: string, - medium: string, - small: string, - url?: string,}, musicRights: { productId?: string, vendor?: 'audibleMagic', }, name: string,
- price: { - currency?: string, - value?: number, - },sku: string, sortOrder: number, sources: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags: List<string>, },where?: { countryCode: string, ids: List<number>, }, }
PATCH /plans
Update plans in bulk.
Request Body
{ data?: { + basePrice: { + currency?: { + code?: string, + scale?: number, + symbol?: string, + }, + value?: number, + }, + benefits: List<{ + text?: string, + }>, billingProviders: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country: { code?: string, id?: number, }, defaultTrial: { units?: 'day', value?: number, }, + delayBillingDays: number, description: string, + family: { + brands?: List<'echelon' | 'fitnation' | 'fitquest'>, + code?: 'premier' | 'select' | 'flex' | 'fitpass', + type?: 'connected' | 'disconnected', + }, frequency: { units?: 'month', value?: number, }, + frequencyDays: number, image: {+ data?: string, + filename?: string, }, musicRights: { productId?: string, vendor?: 'audibleMagic', }, name: string,
sku: string, sortOrder: number, sources: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags: List<string>, }, + image: { + default: string, + large: string, + medium: string, + small: string, + url?: string, + }, where?: { countryCode: string, ids: List<number>, }, }
GET /plans/{id}
Get Plan by id
Response Body
{ data: {billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, defaultTrial?: { units?: 'day', value?: number, },
description?: string,
frequency?: { units?: 'month', value?: number, },
id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,
- price?: { - currency?: string, - value?: number, - },sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, updatedBy?: { id?: number, }, }, }
GET /plans/{id}
Get Plan by id
Response Body
{ data: { + basePrice?: { + currency?: { + code?: string, + scale?: number, + symbol?: string, + }, + value?: number, + }, + benefits?: List<{ + text?: string, + }>, billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, defaultTrial?: { units?: 'day', value?: number, }, + delayBillingDays?: number, description?: string, + family?: { + brands?: List<'echelon' | 'fitnation' | 'fitquest'>, + code?: 'premier' | 'select' | 'flex' | 'fitpass', + type?: 'connected' | 'disconnected', + }, frequency?: { units?: 'month', value?: number, }, + frequencyDays?: number, id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, updatedBy?: { id?: number, }, }, }
PATCH /plans/{id}
Update Plan
Request Body
{billingProviders: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country: { code?: string, id?: number, }, defaultTrial: { units?: 'day', value?: number, },
description: string,
frequency: { units?: 'month', value?: number, },
image: {
- default: string, - large: string, - medium: string, - small: string, - url?: string,}, musicRights: { productId?: string, vendor?: 'audibleMagic', }, name: string,
- price: { - currency?: string, - value?: number, - },sku: string, sortOrder: number, sources: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags: List<string>, }
Response Body
{ data: {billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, defaultTrial?: { units?: 'day', value?: number, },
description?: string,
frequency?: { units?: 'month', value?: number, },
id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,
- price?: { - currency?: string, - value?: number, - },sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, updatedBy?: { id?: number, }, }, }
PATCH /plans/{id}
Update Plan
Request Body
{ + basePrice: { + currency?: { + code?: string, + scale?: number, + symbol?: string, + }, + value?: number, + }, + benefits: List<{ + text?: string, + }>, billingProviders: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country: { code?: string, id?: number, }, defaultTrial: { units?: 'day', value?: number, }, + delayBillingDays: number, description: string, + family: { + brands?: List<'echelon' | 'fitnation' | 'fitquest'>, + code?: 'premier' | 'select' | 'flex' | 'fitpass', + type?: 'connected' | 'disconnected', + }, frequency: { units?: 'month', value?: number, }, + frequencyDays: number, image: {+ data?: string, + filename?: string, }, musicRights: { productId?: string, vendor?: 'audibleMagic', }, name: string,
sku: string, sortOrder: number, sources: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags: List<string>, }
Response Body
{ data: { + basePrice?: { + currency?: { + code?: string, + scale?: number, + symbol?: string, + }, + value?: number, + }, + benefits?: List<{ + text?: string, + }>, billingProviders?: List<{ accountId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', priceId?: string, productId?: string, }>, country?: { code?: string, id?: number, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, defaultTrial?: { units?: 'day', value?: number, }, + delayBillingDays?: number, description?: string, + family?: { + brands?: List<'echelon' | 'fitnation' | 'fitquest'>, + code?: 'premier' | 'select' | 'flex' | 'fitpass', + type?: 'connected' | 'disconnected', + }, frequency?: { units?: 'month', value?: number, }, + frequencyDays?: number, id?: number, image?: { default: string, large: string, medium: string, small: string, url?: string, }, musicRights?: { productId?: string, vendor?: 'audibleMagic', }, name?: string,sku?: string, sortOrder?: number, sources?: List<{ accountId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', productId?: string, }>, tags?: List<string>, updatedBy?: { id?: number, }, }, }
GET /subscriptions/{id}
Get a susbcription
Response Body
{ data: { activation?: { isActivated?: bool, }, billingProvider?: { accountId?: string, customerId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', orderId?: string, }, cancellation?: { dateCancelled?: number, feedback?: string, reason?: string, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, pause?: { dateEnd?: number, dateStart?: number, reason?: string, }, plan?: { id?: number, }, price?: {- currency?: string,value?: number, }, promotion?: { id?: number, }, renewal?: 'auto' | 'paused' | 'cancelled' | 'failed', source?: { accountId?: string, lineItemId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', orderId?: string, productId?: string, }, status?: 'pending' | 'trialing' | 'active' | 'expired', term?: { dateEnd?: number, dateStart?: number, }, token?: string, trial?: { dateEnd?: number, dateStart?: number, }, updatedBy?: { id?: number, }, user?: { id?: number, },
- utm: {campaign?: string, content?: string, medium?: string, source?: string, }, }, }
GET /subscriptions/{id}
Get a susbcription
Response Body
{ data: { activation?: { isActivated?: bool, }, billingProvider?: { accountId?: string, customerId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', orderId?: string, }, cancellation?: { dateCancelled?: number, feedback?: string, reason?: string, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, pause?: { dateEnd?: number, dateStart?: number, reason?: string, }, plan?: { id?: number, }, price?: {+ currency?: { + code?: string, + scale?: number, + symbol?: string, + }, value?: number, }, promotion?: { id?: number, }, renewal?: 'auto' | 'paused' | 'cancelled' | 'failed', source?: { accountId?: string, lineItemId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', orderId?: string, productId?: string, }, status?: 'pending' | 'trialing' | 'active' | 'expired', term?: { dateEnd?: number, dateStart?: number, }, token?: string, trial?: { dateEnd?: number, dateStart?: number, }, updatedBy?: { id?: number, }, user?: { id?: number, },
+ utm?: { campaign?: string, content?: string, medium?: string, source?: string, }, }, }
POST /subscriptions/{id}/activate
create a new subscription in stripe from shopify order, optionally applies a redemption code
Request Body
{ billingAddress?: { city?: string, country?: { code?: string, }, postalCode?: string, region?: { code?: string, }, streetLine1?: string, streetLine2?: string, }, cardTokenId?: string, email?: string, firstName?: string,lastName?: string, phoneNumber?: string, redemptionCode: string, utm: { campaign?: string, content?: string, medium?: string, source?: string, }, }
POST /subscriptions/{id}/activate
create a new subscription in stripe from shopify order, optionally applies a redemption code
Request Body
{ billingAddress?: { city?: string, country?: { code?: string, }, postalCode?: string, region?: { code?: string, }, streetLine1?: string, streetLine2?: string, }, cardTokenId?: string, email?: string, firstName?: string, + isFirstPeriodPrepaid: bool, lastName?: string, phoneNumber?: string, redemptionCode: string, utm: { campaign?: string, content?: string, medium?: string, source?: string, }, }
11 added endpoints Collapse added endpoints
POST /playlists/{playlist}/import
Import all songs from a playlist to another playlist
Request Body
{ sources?: List<{ @type?: 'playlist', id?: number, }>, }
Response Body
{ data: { content?: { countries: List<{ code?: string, }>, createdBy: { id?: number, }, dateCreated: number, dateUpdated: number, description: string, guid: string, image: { default: string, large: string, medium: string, small: string, url?: string, }, instructors: List<{ id?: number, name?: string, }>, keywords: List<string>, name: string, playlist: { id?: number, name?: string, }, schedule: List<{ available?: { end?: number, live?: number, start?: number, }, contentGuid?: string, duration: number, guid?: string, legacy: { hlsUrl?: string, id?: number, liveStreamId?: number, type?: 'reflect' | 'connect', }, type?: 'live' | 'vod' | 'encore', }>, status: 'draft' | 'published', studios: List<{ id?: number, name?: string, }>, tags: List<{ image?: { default: string, large: string, medium: string, small: string, url?: string, }, text?: string, translations: record, type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level', value?: string, }>, updatedBy: { id?: number, }, videoLength: { id?: number, name?: string, }, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, isFlagged?: bool, name?: string, tracks?: List<{ createdBy?: { id?: number, }, dateCreated?: number, flag?: string, playlist?: { id?: number, }, song?: { id?: number, }, trackOrder?: number, }>, }, }
GET /content/library
Search for content in the Library
Response Body
{ data: List<{ countries?: List<{ code?: string, }>, dateLive?: number, description?: string, guid?: string, image?: string, instructors?: List<string>, length?: number, name?: string, studios?: List<string>, tags?: List<{ text?: string, type?: 'category' | 'music' | 'language' | 'closedCaptions' | 'healthFocus' | 'modality' | 'equipment' | 'plan' | 'venue' | 'general' | 'level', value?: string, }>, type?: 'live' | 'vod' | 'encore', }>, }
POST /subscriptions/{id}/quote
create a new subscription in stripe from shopify order, optionally applies a redemption code
Guard: loggedIn
Request Body
{ isFirstPeriodPrepaid: bool, redemptionCode: string, utm: { campaign?: string, content?: string, medium?: string, source?: string, }, }
GET /retailers/{id}/offers
Get a list of offers that this retailer should have.
Response Body
{ data: List<{ createdBy?: { id?: number, }, dateCreated?: number, delayBilling?: { days?: number, text?: string, type?: 'trial' | 'bundle', }, guid?: string, image?: { default: string, large: string, medium: string, small: string, url?: string, }, introductory?: { days?: number, price?: number, stripeCouponId?: string, text?: string, }, name?: string, plan?: { currency?: { code?: string, scale?: number, symbol?: string, }, family?: { brands?: List<'echelon' | 'fitnation' | 'fitquest'>, code?: 'premier' | 'select' | 'flex' | 'fitpass', type?: 'connected' | 'disconnected', }, frequency?: { days?: number, }, id?: number, lineItems: List<{ text?: string, }>, name: string, }, recurring?: { price?: number, stripePriceId?: string, text?: string, }, status?: 'draft' | 'published', }>, }
POST /offers
Create a new offer
Guard: admin
Request Body
{ delayBilling: { days?: number, text?: string, type?: 'trial' | 'bundle', }, image: { data?: string, filename?: string, }, introductory: { days?: number, price?: number, stripeCouponId?: string, text?: string, }, name?: string, plan?: { id?: number, }, planNameOverride: string, recurring?: { price?: number, stripePriceId?: string, text?: string, }, status?: 'draft' | 'published', }
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, delayBilling?: { days?: number, text?: string, type?: 'trial' | 'bundle', }, guid?: string, image?: { default: string, large: string, medium: string, small: string, url?: string, }, introductory?: { days?: number, price?: number, stripeCouponId?: string, text?: string, }, name?: string, plan?: { currency?: { code?: string, scale?: number, symbol?: string, }, family?: { brands?: List<'echelon' | 'fitnation' | 'fitquest'>, code?: 'premier' | 'select' | 'flex' | 'fitpass', type?: 'connected' | 'disconnected', }, frequency?: { days?: number, }, id?: number, lineItems: List<{ text?: string, }>, name: string, }, recurring?: { price?: number, stripePriceId?: string, text?: string, }, status?: 'draft' | 'published', }, }
GET /offers
Get all offers
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, delayBilling?: { days?: number, text?: string, type?: 'trial' | 'bundle', }, guid?: string, image?: { default: string, large: string, medium: string, small: string, url?: string, }, introductory?: { days?: number, price?: number, stripeCouponId?: string, text?: string, }, name?: string, plan?: { currency?: { code?: string, scale?: number, symbol?: string, }, family?: { brands?: List<'echelon' | 'fitnation' | 'fitquest'>, code?: 'premier' | 'select' | 'flex' | 'fitpass', type?: 'connected' | 'disconnected', }, frequency?: { days?: number, }, id?: number, lineItems: List<{ text?: string, }>, name: string, }, recurring?: { price?: number, stripePriceId?: string, text?: string, }, status?: 'draft' | 'published', }, }
GET /offers/{guid}
Get a specific offer
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, delayBilling?: { days?: number, text?: string, type?: 'trial' | 'bundle', }, guid?: string, image?: { default: string, large: string, medium: string, small: string, url?: string, }, introductory?: { days?: number, price?: number, stripeCouponId?: string, text?: string, }, name?: string, plan?: { currency?: { code?: string, scale?: number, symbol?: string, }, family?: { brands?: List<'echelon' | 'fitnation' | 'fitquest'>, code?: 'premier' | 'select' | 'flex' | 'fitpass', type?: 'connected' | 'disconnected', }, frequency?: { days?: number, }, id?: number, lineItems: List<{ text?: string, }>, name: string, }, recurring?: { price?: number, stripePriceId?: string, text?: string, }, status?: 'draft' | 'published', }, }
PATCH /offers/{guid}
Edit an offer
Guard: admin
Request Body
{ delayBilling: { days?: number, text?: string, type?: 'trial' | 'bundle', }, image: { data?: string, filename?: string, }, introductory: { days?: number, price?: number, stripeCouponId?: string, text?: string, }, name: string, plan: { id?: number, }, planNameOverride: string, recurring: { price?: number, stripePriceId?: string, text?: string, }, status: 'draft' | 'published', }
Response Body
{ data: { createdBy?: { id?: number, }, dateCreated?: number, delayBilling?: { days?: number, text?: string, type?: 'trial' | 'bundle', }, guid?: string, image?: { default: string, large: string, medium: string, small: string, url?: string, }, introductory?: { days?: number, price?: number, stripeCouponId?: string, text?: string, }, name?: string, plan?: { currency?: { code?: string, scale?: number, symbol?: string, }, family?: { brands?: List<'echelon' | 'fitnation' | 'fitquest'>, code?: 'premier' | 'select' | 'flex' | 'fitpass', type?: 'connected' | 'disconnected', }, frequency?: { days?: number, }, id?: number, lineItems: List<{ text?: string, }>, name: string, }, recurring?: { price?: number, stripePriceId?: string, text?: string, }, status?: 'draft' | 'published', }, }
GET /users/{userId}/subscriptions
Get a list of a user's subscriptions.
Response Body
{ data: List<{ activation?: { isActivated?: bool, }, billingProvider?: { accountId?: string, customerId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', orderId?: string, }, cancellation?: { dateCancelled?: number, feedback?: string, reason?: string, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, pause?: { dateEnd?: number, dateStart?: number, reason?: string, }, plan?: { id?: number, }, price?: { currency?: { code?: string, scale?: number, symbol?: string, }, value?: number, }, promotion?: { id?: number, }, renewal?: 'auto' | 'paused' | 'cancelled' | 'failed', source?: { accountId?: string, lineItemId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', orderId?: string, productId?: string, }, status?: 'pending' | 'trialing' | 'active' | 'expired', term?: { dateEnd?: number, dateStart?: number, }, token?: string, trial?: { dateEnd?: number, dateStart?: number, }, updatedBy?: { id?: number, }, user?: { id?: number, }, utm?: { campaign?: string, content?: string, medium?: string, source?: string, }, }>, }
GET /users/{userId}/subscriptions/{id}
Get a specific subscription.
Response Body
{ data: { activation?: { isActivated?: bool, }, billingProvider?: { accountId?: string, customerId?: string, name?: 'stripe' | 'ios' | 'android' | 'amazon', orderId?: string, }, cancellation?: { dateCancelled?: number, feedback?: string, reason?: string, }, createdBy?: { id?: number, }, dateCreated?: number, dateUpdated?: number, id?: number, pause?: { dateEnd?: number, dateStart?: number, reason?: string, }, plan?: { id?: number, }, price?: { currency?: { code?: string, scale?: number, symbol?: string, }, value?: number, }, promotion?: { id?: number, }, renewal?: 'auto' | 'paused' | 'cancelled' | 'failed', source?: { accountId?: string, lineItemId?: string, name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', orderId?: string, productId?: string, }, status?: 'pending' | 'trialing' | 'active' | 'expired', term?: { dateEnd?: number, dateStart?: number, }, token?: string, trial?: { dateEnd?: number, dateStart?: number, }, updatedBy?: { id?: number, }, user?: { id?: number, }, utm?: { campaign?: string, content?: string, medium?: string, source?: string, }, }, }