Nest Changelog
1.28.10
6/8/2023
1.29.0 PRE
6/6/2023
6 changed endpoints Collapse changed endpoints
POST /webhooks/orders
Request Body
{ customer?: { email?: string, firstName?: string, lastName?: string, }, initiatedBy: { id?: number, }, internalNote: string, isFirstPeriodPrepaid?: bool,- offerGuid: string,publicNote: string, reason: { code?: 'competitor' | 'healthIssues' | 'notMetExpectations' | 'pricing' | 'noLongerHaveEquipment' | 'busy' | 'other' | 'planChange', message?: string, }, retailer?: { orderCode?: string, partner?: { id?: number, }, storeCode: string, }, sourceName?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', utm: { campaign: string, content: string, medium: string, source: string, term: string, }, }
POST /webhooks/orders
Request Body
{ customer?: { email?: string, firstName?: string, lastName?: string, }, initiatedBy: { id?: number, }, internalNote: string, isFirstPeriodPrepaid?: bool,+ offerGuid?: string, publicNote: string, reason: { code?: 'competitor' | 'healthIssues' | 'notMetExpectations' | 'pricing' | 'noLongerHaveEquipment' | 'busy' | 'other' | 'planChange', message?: string, }, retailer?: { orderCode?: string, partner?: { id?: number, }, storeCode: string, }, sourceName?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free', utm: { campaign: string, content: string, medium: string, source: string, term: string, }, }
POST /workouts/items
Post a Workout
Request Body
{- content?: {guid?: string, type?: 'live' | 'vod' | 'encore' | 'freestyle', }, device?: { appVersion?: string, model?: string, os?: string, osVersion?: string, }, legacyProduct?: string, localTime?: string, peripherals?: List<{ firmwareVersion?: string, guid?: string, hardwareVersion?: string, modelId?: string, name?: string, serialNO?: string, type?: 'bike' | 'rower' | 'treadmill', }>,
- ranking?: {place?: number, total?: number, }, stats?: List<{ classState?: 'warmup' | 'in-session' | 'overflow' | 'ended', dateLoggedMs?: number, output?: { distance: number, incrementalDistance: number, joules: number, RPM: number, strokesPerMinute: number, time500Meters: number, watts: number, },
- peripheral?: {guid: string, incline: number, resistance: number, speed: number, }, physiology?: { calories: number, heartRate: number, hrPoints: number, }, playbackState?: 'playing' | 'paused' | 'stopped' | 'buffering', }>, user?: { id?: number, }, }
POST /workouts/items
Post a Workout
Request Body
{+ content: { guid?: string, type?: 'live' | 'vod' | 'encore' | 'freestyle', }, device?: { appVersion?: string, model?: string, os?: string, osVersion?: string, }, legacyProduct?: string, localTime?: string, peripherals?: List<{ firmwareVersion?: string, guid?: string, hardwareVersion?: string, modelId?: string, name?: string, serialNO?: string, type?: 'bike' | 'rower' | 'treadmill', }>,
+ ranking: { place?: number, total?: number, }, stats?: List<{ classState?: 'warmup' | 'in-session' | 'overflow' | 'ended', dateLoggedMs?: number, output?: { distance: number, incrementalDistance: number, joules: number, RPM: number, strokesPerMinute: number, time500Meters: number, watts: number, },
+ peripheral: { guid: string, incline: number, resistance: number, speed: number, }, physiology?: { calories: number, heartRate: number, hrPoints: number, }, playbackState?: 'playing' | 'paused' | 'stopped' | 'buffering', }>, user?: { id?: number, }, }
PUT /workouts/items/{guid}
Put a Workout
Request Body
{- content?: {guid?: string, type?: 'live' | 'vod' | 'encore' | 'freestyle', }, device?: { appVersion?: string, model?: string, os?: string, osVersion?: string, }, legacyProduct?: string, localTime?: string, peripherals?: List<{ firmwareVersion?: string, guid?: string, hardwareVersion?: string, modelId?: string, name?: string, serialNO?: string, type?: 'bike' | 'rower' | 'treadmill', }>,
- ranking?: {place?: number, total?: number, }, stats?: List<{ classState?: 'warmup' | 'in-session' | 'overflow' | 'ended', dateLoggedMs?: number, output?: { distance: number, incrementalDistance: number, joules: number, RPM: number, strokesPerMinute: number, time500Meters: number, watts: number, },
- peripheral?: {guid: string, incline: number, resistance: number, speed: number, }, physiology?: { calories: number, heartRate: number, hrPoints: number, }, playbackState?: 'playing' | 'paused' | 'stopped' | 'buffering', }>, user?: { id?: number, }, }
PUT /workouts/items/{guid}
Put a Workout
Request Body
{+ content: { guid?: string, type?: 'live' | 'vod' | 'encore' | 'freestyle', }, device?: { appVersion?: string, model?: string, os?: string, osVersion?: string, }, legacyProduct?: string, localTime?: string, peripherals?: List<{ firmwareVersion?: string, guid?: string, hardwareVersion?: string, modelId?: string, name?: string, serialNO?: string, type?: 'bike' | 'rower' | 'treadmill', }>,
+ ranking: { place?: number, total?: number, }, stats?: List<{ classState?: 'warmup' | 'in-session' | 'overflow' | 'ended', dateLoggedMs?: number, output?: { distance: number, incrementalDistance: number, joules: number, RPM: number, strokesPerMinute: number, time500Meters: number, watts: number, },
+ peripheral: { guid: string, incline: number, resistance: number, speed: number, }, physiology?: { calories: number, heartRate: number, hrPoints: number, }, playbackState?: 'playing' | 'paused' | 'stopped' | 'buffering', }>, user?: { id?: number, }, }
POST /users/{userId}/account/activate
create a new subscription in stripe from shopify order, optionally applies a redemption code
Request Body
{ applyBillingDelay: bool, billingAddress: { city: string, country: { code?: string, }, postalCode: string, region: { code?: string, }, streetLine1: string, streetLine2: string, },- cardTokenId?: string,equipment: { id?: number, }, firstName: string, isFirstPeriodPrepaid: bool, lastName: string, partner: { id?: number, },
phoneNumber: string, redemptionCode: string, serialNumber: string, utm: { campaign: string, content: string, medium: string, source: string, term: string, }, }
POST /users/{userId}/account/activate
create a new subscription in stripe from shopify order, optionally applies a redemption code
Request Body
{ applyBillingDelay: bool, billingAddress: { city: string, country: { code?: string, }, postalCode: string, region: { code?: string, }, streetLine1: string, streetLine2: string, },+ cardTokenId: string, equipment: { id?: number, }, firstName: string, isFirstPeriodPrepaid: bool, lastName: string, partner: { id?: number, }, + paymentMethodId: string, phoneNumber: string, redemptionCode: string, serialNumber: string, utm: { campaign: string, content: string, medium: string, source: string, term: string, }, }
POST /users/{userId}/account/subscribe
Create a new subscription in stripe
Request Body
{ applyBillingDelay: bool, billingAddress: { city: string, country: { code?: string, }, postalCode: string, region: { code?: string, }, streetLine1: string, streetLine2: string, },- cardTokenId?: string,equipment: { id?: number, }, firstName: string, isFirstPeriodPrepaid: bool, lastName: string, offer: { guid?: string, }, partner: { id?: number, },
phoneNumber: string, planId: number, redemptionCode: string, serialNumber: string, utm: { campaign: string, content: string, medium: string, source: string, term: string, }, }
POST /users/{userId}/account/subscribe
Create a new subscription in stripe
Request Body
{ applyBillingDelay: bool, billingAddress: { city: string, country: { code?: string, }, postalCode: string, region: { code?: string, }, streetLine1: string, streetLine2: string, },+ cardTokenId: string, equipment: { id?: number, }, firstName: string, isFirstPeriodPrepaid: bool, lastName: string, offer: { guid?: string, }, partner: { id?: number, }, + paymentMethodId: string, phoneNumber: string, planId: number, redemptionCode: string, serialNumber: string, utm: { campaign: string, content: string, medium: string, source: string, term: string, }, }