Nest Changelog

1.44.2 PRE

10/11/2023

1.44.3 PRE

10/11/2023

2 changed endpoints

POST /workouts/items

Documentation only - Look at description for the actual endpoints

Request Body
{
  appSource: 'echelon' | 'worlds' | 'fitos',
  content: {
    guid?: string,
    type?: 'live' | 'vod' | 'encore' | 'freestyle',
  },
  device?: {
    appVersion?: string,
    model?: string,
    os?: string,
    osVersion?: string,
  },
  legacyProduct?: string,
  localTime?: string,
  percentile: number,
  peripherals?: List<{
    firmwareVersion?: string,
    guid?: string,
    hardwareVersion?: string,
    modelId?: string,
    name?: string,
    serialNO?: string,
-   type?: 'bike' | 'rower' | 'treadmill' | 'elliptical' | 'reflect',

}>, 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: { direction: 'forward' | 'backward', 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

Documentation only - Look at description for the actual endpoints

Request Body
{
  appSource: 'echelon' | 'worlds' | 'fitos',
  content: {
    guid?: string,
    type?: 'live' | 'vod' | 'encore' | 'freestyle',
  },
  device?: {
    appVersion?: string,
    model?: string,
    os?: string,
    osVersion?: string,
  },
  legacyProduct?: string,
  localTime?: string,
  percentile: number,
  peripherals?: List<{
    firmwareVersion?: string,
    guid?: string,
    hardwareVersion?: string,
    modelId?: string,
    name?: string,
    serialNO?: string,

+ type?: 'bike' | 'rower' | 'treadmill' | 'elliptical' | 'reflect' | 'stairClimber', }>, ranking: { place?: number, total?: number, }, stats?: List<{ classState?: 'warmup' | 'in-session' | 'overflow' | 'ended', dateLoggedMs?: number, output?: { distance: number, incrementalDistance: number, + incrementalSteps: number, joules: number, RPM: number, + stairsPerMinute: number, + steps: number, strokesPerMinute: number, time500Meters: number, watts: number, }, peripheral: { direction: 'forward' | 'backward', 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/process

Process workout - Internal use only

Request Body
{
  rideIndex?: {
    appversion: string,
    avgcadence: number,
    avgresistance: number,
    classimage: string,
    classname: string,
    datecreated: string,
    device: string,
    distancetype?: string,
    dnf: bool,
    finalrank: number,
    incline: number,
    instanceuuid?: string,
    instructorname: string,
    iscomplete: bool,
    osversion: string,
    product?: string,
    rideid: number,
    ridetype?: string,
    source: string,
    totalcalories: number,
    totaldistance: number,
    totalhrpoints: number,
    totaloutput: number,
    totalriders: number,
    totalrpmspm: number,
    userid?: number,
  },
  rideIndexById?: {
    appversion: string,
    avgcadence: number,
    avgheartrate: number,
    avgresistance: number,
    classimage: string,
    classname: string,
    datecreated: string,
    device: string,
    distancetype?: string,
    dnf: bool,
    duration: number,
    encore: bool,
    finalrank: number,
    incline: number,
    instanceuuid?: string,
    instructorname: string,
    iscomplete: bool,
    osversion: string,
    product?: string,
    rideid: number,
    ridetype: string,
    source: string,
    totalcalories: number,
    totaldistance: number,
    totalhrpoints: number,
    totaloutput: number,
    totalriders: number,
    totalrpmspm: number,
    userid: number,
  },
  segment?: {
    activity_type: string,
    bike_statistics: {
      cadence?: number,
      calories?: number,
      distance?: number,
      output?: {
        average?: number,
        best?: number,
        total?: number,
      },
      resistance?: {
        average?: number,
        maximum?: number,
      },
      speed?: number,
    },
    class_length: number,
    class_name: string,
    content_id: string,
    content_type: 'live' | 'vod' | 'encore' | 'freestyle',
    email?: string,
-   equipment_type: 'bike' | 'fitpass' | 'reflect' | 'row' | 'stride' | 'ellipse',

first_name?: string, fitpass_statistics: { calories?: number, heart_rate_points?: number, }, instructor_id: number, instructor_name: string, last_name?: string, metric_preference?: 'imperial' | 'metric', music_genre: string, place: number, platform?: string, reflect_statistics: { calories?: number, heart_rate_points?: number, }, rowing_statistics: { calories?: number, distance?: number, output?: { average?: number, best?: number, total?: number, }, resistance?: { average?: number, maximum?: number, }, speed?: number, stroke?: { average?: number, maximum?: number, }, }, stride_statistics: { calories?: number, distance?: number, incline?: { average?: number, maximum?: number, }, output?: { average?: number, best?: number, total?: number, }, speed?: { average?: number, maximum?: number, }, }, user_id?: number, }, workoutEntity?: { appSource: 'echelon' | 'worlds' | 'fitos', buffering?: number, commercialCode?: string, completion?: number, contentDuration?: number, contentGuid?: string, dateDeleted?: number, dateEnd?: number, dateStart?: number, duration?: number, format?: string, guid?: string, output?: number, percentile?: number, rankingPlace?: number, rankingTotal?: number, stats?: record, timeOffset?: number, type?: 'live' | 'vod' | 'encore' | 'freestyle', userId?: number, }, }

POST /workouts/process

Process workout - Internal use only

Request Body
{
  rideIndex?: {
    appversion: string,
    avgcadence: number,
    avgresistance: number,
    classimage: string,
    classname: string,
    datecreated: string,
    device: string,
    distancetype?: string,
    dnf: bool,
    finalrank: number,
    incline: number,
    instanceuuid?: string,
    instructorname: string,
    iscomplete: bool,
    osversion: string,
    product?: string,
    rideid: number,
    ridetype?: string,
    source: string,
    totalcalories: number,
    totaldistance: number,
    totalhrpoints: number,
    totaloutput: number,
    totalriders: number,
    totalrpmspm: number,
    userid?: number,
  },
  rideIndexById?: {
    appversion: string,
    avgcadence: number,
    avgheartrate: number,
    avgresistance: number,
    classimage: string,
    classname: string,
    datecreated: string,
    device: string,
    distancetype?: string,
    dnf: bool,
    duration: number,
    encore: bool,
    finalrank: number,
    incline: number,
    instanceuuid?: string,
    instructorname: string,
    iscomplete: bool,
    osversion: string,
    product?: string,
    rideid: number,
    ridetype: string,
    source: string,
    totalcalories: number,
    totaldistance: number,
    totalhrpoints: number,
    totaloutput: number,
    totalriders: number,
    totalrpmspm: number,
    userid: number,
  },
  segment?: {
    activity_type: string,
    bike_statistics: {
      cadence?: number,
      calories?: number,
      distance?: number,
      output?: {
        average?: number,
        best?: number,
        total?: number,
      },
      resistance?: {
        average?: number,
        maximum?: number,
      },
      speed?: number,
    },
    class_length: number,
    class_name: string,
    content_id: string,
    content_type: 'live' | 'vod' | 'encore' | 'freestyle',
    email?: string,

+ equipment_type: 'bike' | 'fitpass' | 'reflect' | 'row' | 'stride' | 'ellipse' | 'climb', first_name?: string, fitpass_statistics: { calories?: number, heart_rate_points?: number, }, instructor_id: number, instructor_name: string, last_name?: string, metric_preference?: 'imperial' | 'metric', music_genre: string, place: number, platform?: string, reflect_statistics: { calories?: number, heart_rate_points?: number, }, rowing_statistics: { calories?: number, distance?: number, output?: { average?: number, best?: number, total?: number, }, resistance?: { average?: number, maximum?: number, }, speed?: number, stroke?: { average?: number, maximum?: number, }, }, stride_statistics: { calories?: number, distance?: number, incline?: { average?: number, maximum?: number, }, output?: { average?: number, best?: number, total?: number, }, speed?: { average?: number, maximum?: number, }, }, user_id?: number, }, workoutEntity?: { appSource: 'echelon' | 'worlds' | 'fitos', buffering?: number, commercialCode?: string, completion?: number, contentDuration?: number, contentGuid?: string, dateDeleted?: number, dateEnd?: number, dateStart?: number, duration?: number, format?: string, guid?: string, output?: number, percentile?: number, rankingPlace?: number, rankingTotal?: number, stats?: record, timeOffset?: number, type?: 'live' | 'vod' | 'encore' | 'freestyle', userId?: number, }, }
WORK IN PROGRESS