Nest Changelog

1.19.4

3/8/2023

1.20.0 PRE

3/14/2023

14 changed endpoints

GET /users/{userId}/tabs

Gets the tabs for a user based on their equipment

Guard: self

GET /users/{userId}/tabs

Gets the tabs for a user based on their equipment

Guard: family

GET /users/{userId}/reward-codes

Get Reward Codes associated with a user

Guard: customerService, self

GET /users/{userId}/reward-codes

Get Reward Codes associated with a user

Guard: customerService, family

GET /billing-providers

Get a list of billing providers

Guard: none

GET /billing-providers

Get a list of billing providers

Guard: admin, marketing, marketingManager

POST /billing-providers

Create a new billing provider

Guard: none

POST /billing-providers

Create a new billing provider

Guard: admin

GET /billing-providers/{id}

Get a single billing provider by ID

Guard: none

GET /billing-providers/{id}

Get a single billing provider by ID

Guard: admin, marketing, marketingManager

PATCH /billing-providers/{id}

Edit a billing provider

Guard: none

PATCH /billing-providers/{id}

Edit a billing provider

Guard: admin

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,
  },
- events: List<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,
  },

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,
  },
- events: List<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,
  },

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, }, }

GET /workouts/users/{userId}/items

Get a list of workout summaries

Guard: admin, self

GET /workouts/users/{userId}/items

Get a list of workout summaries

Guard: admin, family

GET /workouts/users/{userId}/aggregations

Get workout aggregations for user

Guard: admin, self

GET /workouts/users/{userId}/aggregations

Get workout aggregations for user

Guard: admin, family

GET /workouts/users/{userId}/history

Get aggregations of workout history

Guard: admin, self

GET /workouts/users/{userId}/history

Get aggregations of workout history

Guard: admin, family

GET /favorites/{userId}/items

List users favorite content items.

Guard: admin, customerService, self

GET /favorites/{userId}/items

List users favorite content items.

Guard: admin, customerService, family

DELETE /favorites/{userId}/items/{contentGuid}

Remove a content item from favorites via contentGuid

Guard: admin, customerService, self

DELETE /favorites/{userId}/items/{contentGuid}

Remove a content item from favorites via contentGuid

Guard: admin, customerService, family

PUT /favorites/{userId}/items/{scheduleGuid}

Add content item to favorites via scheduleGuid

Guard: admin, customerService, self

PUT /favorites/{userId}/items/{scheduleGuid}

Add content item to favorites via scheduleGuid

Guard: admin, customerService, family

WORK IN PROGRESS