Nest Changelog

1.39.3 PRE

8/11/2023

1.39.5 PRE

8/14/2023

6 changed endpoints

GET /strength-routine/admin/library

Producer and above only. Search the library with elevated access.

Response Body
{
  data: List<{
    circuit?: bool,
    createdByEchelon?: bool,
    dateCreated?: number,
    description?: string,
    duration?: number,
    guid?: string,

language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr', level?: { images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, modality?: 'ride' | 'row' | 'run' | 'off' | 'all', translations?: record, type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup', value?: string, },

name?: string,

}>, pagination: { page?: number, skip?: number, take?: number, total?: { pages?: number, rows?: number, }, }, }

GET /strength-routine/admin/library

Producer and above only. Search the library with elevated access.

Response Body
{
  data: List<{
    circuit?: bool,
    createdByEchelon?: bool,
    dateCreated?: number,
    description?: string,
    duration?: number,
    guid?: string,
+   images?: {
+     default?: string,
+     hd?: string,
+     portrait?: string,
+     sd?: string,
+     square?: string,
+   },
    language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr',
    level?: {
      images?: {
        default?: string,
        hd?: string,
        portrait?: string,
        sd?: string,
        square?: string,
      },
      modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
      translations?: record,
      type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
      value?: string,
    },
+   movements?: List<string>,
    name?: string,
+   tags?: List<{
+     createdBy?: {
+       id?: number,
+     },
+     dateCreated?: number,
+     dateModified?: number,
+     description?: string,
+     guid?: string,
+     images?: {
+       default?: string,
+       hd?: string,
+       portrait?: string,
+       sd?: string,
+       square?: string,
+     },
+     name?: string,
+     playback?: {
+       type?: 'hls' | 'dash',
+       url?: string,
+     },
+     status?: 'draft' | 'published',
+     tags?: List<{
+       description?: string,
+       images?: {
+         default?: string,
+         hd?: string,
+         portrait?: string,
+         sd?: string,
+         square?: string,
+       },
+       modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
+       text?: string,
+       type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
+       value?: string,
+     }>,
+     translations?: record,
+     videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted' | 'processingFailed',
+   }>,
  }>,
  pagination: {
    page?: number,
    skip?: number,
    take?: number,
    total?: {
      pages?: number,
      rows?: number,
    },
  },
}

GET /strength-routine/items/{guid}

Load an individual strength routine by guid.

Response Body
{
  data: {
    circuit?: bool,
    createdBy?: {
      id?: number,
    },
    createdByEchelon?: bool,
    dateCreated?: number,
    dateModified?: number,
    description?: string,
    duration?: number,
    guid?: string,

language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr', level?: { images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, modality?: 'ride' | 'row' | 'run' | 'off' | 'all', translations?: record, type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup', value?: string, }, modifiedBy?: number, name?: string, routineMovements?: List<{ duration?: number, mode?: 'standard' | 'interval', movement?: { createdBy?: { id?: number, }, dateCreated?: number, dateModified?: number, description?: string, guid?: string, images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, name?: string, playback?: { type?: 'hls' | 'dash', url?: string, }, status?: 'draft' | 'published', tags?: List<{ description?: string, images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, modality?: 'ride' | 'row' | 'run' | 'off' | 'all', text?: string, type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup', value?: string, }>, translations?: record, videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted' | 'processingFailed', }, restAfter?: number, restBetweenSets?: number, sets?: List<{ description?: string, interval?: { duration?: number, }, reps?: List<{ description?: string, restAfter?: number, weight?: number, }>, }>, }>, visibility?: 'public' | 'private', }, }

GET /strength-routine/items/{guid}

Load an individual strength routine by guid.

Response Body
{
  data: {
    circuit?: bool,
    createdBy?: {
      id?: number,
    },
    createdByEchelon?: bool,
    dateCreated?: number,
    dateModified?: number,
    description?: string,
    duration?: number,
    guid?: string,
+   images?: {
+     default?: string,
+     hd?: string,
+     portrait?: string,
+     sd?: string,
+     square?: string,
+   },
    language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr',
    level?: {
      images?: {
        default?: string,
        hd?: string,
        portrait?: string,
        sd?: string,
        square?: string,
      },
      modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
      translations?: record,
      type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
      value?: string,
    },
    modifiedBy?: number,
    name?: string,
    routineMovements?: List<{
      duration?: number,
      mode?: 'standard' | 'interval',
      movement?: {
        createdBy?: {
          id?: number,
        },
        dateCreated?: number,
        dateModified?: number,
        description?: string,
        guid?: string,
        images?: {
          default?: string,
          hd?: string,
          portrait?: string,
          sd?: string,
          square?: string,
        },
        name?: string,
        playback?: {
          type?: 'hls' | 'dash',
          url?: string,
        },
        status?: 'draft' | 'published',
        tags?: List<{
          description?: string,
          images?: {
            default?: string,
            hd?: string,
            portrait?: string,
            sd?: string,
            square?: string,
          },
          modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
          text?: string,
          type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
          value?: string,
        }>,
        translations?: record,
        videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted' | 'processingFailed',
      },
      restAfter?: number,
      restBetweenSets?: number,
      sets?: List<{
        description?: string,
        interval?: {
          duration?: number,
        },
        reps?: List<{
          description?: string,
          restAfter?: number,
          weight?: number,
        }>,
      }>,
    }>,
    visibility?: 'public' | 'private',
  },
}

PATCH /strength-routine/items/{guid}

Edit a strength routine.

Response Body
{
  data: {
    circuit?: bool,
    createdBy?: {
      id?: number,
    },
    createdByEchelon?: bool,
    dateCreated?: number,
    dateModified?: number,
    description?: string,
    duration?: number,
    guid?: string,

language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr', level?: { images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, modality?: 'ride' | 'row' | 'run' | 'off' | 'all', translations?: record, type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup', value?: string, }, modifiedBy?: number, name?: string, routineMovements?: List<{ duration?: number, mode?: 'standard' | 'interval', movement?: { createdBy?: { id?: number, }, dateCreated?: number, dateModified?: number, description?: string, guid?: string, images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, name?: string, playback?: { type?: 'hls' | 'dash', url?: string, }, status?: 'draft' | 'published', tags?: List<{ description?: string, images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, modality?: 'ride' | 'row' | 'run' | 'off' | 'all', text?: string, type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup', value?: string, }>, translations?: record, videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted' | 'processingFailed', }, restAfter?: number, restBetweenSets?: number, sets?: List<{ description?: string, interval?: { duration?: number, }, reps?: List<{ description?: string, restAfter?: number, weight?: number, }>, }>, }>, visibility?: 'public' | 'private', }, }

PATCH /strength-routine/items/{guid}

Edit a strength routine.

Response Body
{
  data: {
    circuit?: bool,
    createdBy?: {
      id?: number,
    },
    createdByEchelon?: bool,
    dateCreated?: number,
    dateModified?: number,
    description?: string,
    duration?: number,
    guid?: string,
+   images?: {
+     default?: string,
+     hd?: string,
+     portrait?: string,
+     sd?: string,
+     square?: string,
+   },
    language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr',
    level?: {
      images?: {
        default?: string,
        hd?: string,
        portrait?: string,
        sd?: string,
        square?: string,
      },
      modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
      translations?: record,
      type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
      value?: string,
    },
    modifiedBy?: number,
    name?: string,
    routineMovements?: List<{
      duration?: number,
      mode?: 'standard' | 'interval',
      movement?: {
        createdBy?: {
          id?: number,
        },
        dateCreated?: number,
        dateModified?: number,
        description?: string,
        guid?: string,
        images?: {
          default?: string,
          hd?: string,
          portrait?: string,
          sd?: string,
          square?: string,
        },
        name?: string,
        playback?: {
          type?: 'hls' | 'dash',
          url?: string,
        },
        status?: 'draft' | 'published',
        tags?: List<{
          description?: string,
          images?: {
            default?: string,
            hd?: string,
            portrait?: string,
            sd?: string,
            square?: string,
          },
          modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
          text?: string,
          type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
          value?: string,
        }>,
        translations?: record,
        videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted' | 'processingFailed',
      },
      restAfter?: number,
      restBetweenSets?: number,
      sets?: List<{
        description?: string,
        interval?: {
          duration?: number,
        },
        reps?: List<{
          description?: string,
          restAfter?: number,
          weight?: number,
        }>,
      }>,
    }>,
    visibility?: 'public' | 'private',
  },
}

GET /content/categories

Get a list of all categories.

Response Body
{
  data: {
    reflect?: List<{
      id?: number,
      name?: string,
      sortOrder?: number,
    }>,
    standard?: List<{
      id?: number,
      name?: string,
      sortOrder?: number,
    }>,

}, }

GET /content/categories

Get a list of all categories.

Response Body
{
  data: {
    reflect?: List<{
      id?: number,
      name?: string,
      sortOrder?: number,
    }>,
    standard?: List<{
      id?: number,
      name?: string,
      sortOrder?: number,
    }>,
+   strength?: List<{
+     id?: number,
+     name?: string,
+     sortOrder?: number,
+   }>,
  },
}

POST /users/{userId}/strength-routines/import

Copy a strength routine.

Response Body
{
  data: {
    circuit?: bool,
    createdBy?: {
      id?: number,
    },
    createdByEchelon?: bool,
    dateCreated?: number,
    dateModified?: number,
    description?: string,
    duration?: number,
    guid?: string,

language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr', level?: { images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, modality?: 'ride' | 'row' | 'run' | 'off' | 'all', translations?: record, type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup', value?: string, }, modifiedBy?: number, name?: string, routineMovements?: List<{ duration?: number, mode?: 'standard' | 'interval', movement?: { createdBy?: { id?: number, }, dateCreated?: number, dateModified?: number, description?: string, guid?: string, images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, name?: string, playback?: { type?: 'hls' | 'dash', url?: string, }, status?: 'draft' | 'published', tags?: List<{ description?: string, images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, modality?: 'ride' | 'row' | 'run' | 'off' | 'all', text?: string, type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup', value?: string, }>, translations?: record, videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted' | 'processingFailed', }, restAfter?: number, restBetweenSets?: number, sets?: List<{ description?: string, interval?: { duration?: number, }, reps?: List<{ description?: string, restAfter?: number, weight?: number, }>, }>, }>, visibility?: 'public' | 'private', }, }

POST /users/{userId}/strength-routines/import

Copy a strength routine.

Response Body
{
  data: {
    circuit?: bool,
    createdBy?: {
      id?: number,
    },
    createdByEchelon?: bool,
    dateCreated?: number,
    dateModified?: number,
    description?: string,
    duration?: number,
    guid?: string,
+   images?: {
+     default?: string,
+     hd?: string,
+     portrait?: string,
+     sd?: string,
+     square?: string,
+   },
    language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr',
    level?: {
      images?: {
        default?: string,
        hd?: string,
        portrait?: string,
        sd?: string,
        square?: string,
      },
      modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
      translations?: record,
      type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
      value?: string,
    },
    modifiedBy?: number,
    name?: string,
    routineMovements?: List<{
      duration?: number,
      mode?: 'standard' | 'interval',
      movement?: {
        createdBy?: {
          id?: number,
        },
        dateCreated?: number,
        dateModified?: number,
        description?: string,
        guid?: string,
        images?: {
          default?: string,
          hd?: string,
          portrait?: string,
          sd?: string,
          square?: string,
        },
        name?: string,
        playback?: {
          type?: 'hls' | 'dash',
          url?: string,
        },
        status?: 'draft' | 'published',
        tags?: List<{
          description?: string,
          images?: {
            default?: string,
            hd?: string,
            portrait?: string,
            sd?: string,
            square?: string,
          },
          modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
          text?: string,
          type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
          value?: string,
        }>,
        translations?: record,
        videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted' | 'processingFailed',
      },
      restAfter?: number,
      restBetweenSets?: number,
      sets?: List<{
        description?: string,
        interval?: {
          duration?: number,
        },
        reps?: List<{
          description?: string,
          restAfter?: number,
          weight?: number,
        }>,
      }>,
    }>,
    visibility?: 'public' | 'private',
  },
}

POST /users/{userId}/strength-routines/items

Create a new strength routine.

Response Body
{
  data: {
    circuit?: bool,
    createdBy?: {
      id?: number,
    },
    createdByEchelon?: bool,
    dateCreated?: number,
    dateModified?: number,
    description?: string,
    duration?: number,
    guid?: string,

language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr', level?: { images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, modality?: 'ride' | 'row' | 'run' | 'off' | 'all', translations?: record, type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup', value?: string, }, modifiedBy?: number, name?: string, routineMovements?: List<{ duration?: number, mode?: 'standard' | 'interval', movement?: { createdBy?: { id?: number, }, dateCreated?: number, dateModified?: number, description?: string, guid?: string, images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, name?: string, playback?: { type?: 'hls' | 'dash', url?: string, }, status?: 'draft' | 'published', tags?: List<{ description?: string, images?: { default?: string, hd?: string, portrait?: string, sd?: string, square?: string, }, modality?: 'ride' | 'row' | 'run' | 'off' | 'all', text?: string, type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup', value?: string, }>, translations?: record, videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted' | 'processingFailed', }, restAfter?: number, restBetweenSets?: number, sets?: List<{ description?: string, interval?: { duration?: number, }, reps?: List<{ description?: string, restAfter?: number, weight?: number, }>, }>, }>, visibility?: 'public' | 'private', }, }

POST /users/{userId}/strength-routines/items

Create a new strength routine.

Response Body
{
  data: {
    circuit?: bool,
    createdBy?: {
      id?: number,
    },
    createdByEchelon?: bool,
    dateCreated?: number,
    dateModified?: number,
    description?: string,
    duration?: number,
    guid?: string,
+   images?: {
+     default?: string,
+     hd?: string,
+     portrait?: string,
+     sd?: string,
+     square?: string,
+   },
    language?: 'en' | 'fr' | 'es' | 'de' | 'ko' | 'tr',
    level?: {
      images?: {
        default?: string,
        hd?: string,
        portrait?: string,
        sd?: string,
        square?: string,
      },
      modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
      translations?: record,
      type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
      value?: string,
    },
    modifiedBy?: number,
    name?: string,
    routineMovements?: List<{
      duration?: number,
      mode?: 'standard' | 'interval',
      movement?: {
        createdBy?: {
          id?: number,
        },
        dateCreated?: number,
        dateModified?: number,
        description?: string,
        guid?: string,
        images?: {
          default?: string,
          hd?: string,
          portrait?: string,
          sd?: string,
          square?: string,
        },
        name?: string,
        playback?: {
          type?: 'hls' | 'dash',
          url?: string,
        },
        status?: 'draft' | 'published',
        tags?: List<{
          description?: string,
          images?: {
            default?: string,
            hd?: string,
            portrait?: string,
            sd?: string,
            square?: string,
          },
          modality?: 'ride' | 'row' | 'run' | 'off' | 'all',
          text?: string,
          type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus' | 'muscleGroup',
          value?: string,
        }>,
        translations?: record,
        videoStatus?: 'uninitiated' | 'uploadStarted' | 'uploadCompleted' | 'processingStarted' | 'processingCompleted' | 'processingFailed',
      },
      restAfter?: number,
      restBetweenSets?: number,
      sets?: List<{
        description?: string,
        interval?: {
          duration?: number,
        },
        reps?: List<{
          description?: string,
          restAfter?: number,
          weight?: number,
        }>,
      }>,
    }>,
    visibility?: 'public' | 'private',
  },
}
WORK IN PROGRESS