Nest Changelog
1.0.4
9/15/2021
1.0.5
9/22/2021
37 changed endpoints Collapse changed endpoints
POST /auth
Sign in with email address and password
Response Body
{- data: List<{ - family?: List<{ - id?: number, - image?: { - default?: string, - large?: string, - medium?: string, - small?: string, - }, - nickname?: string, - }>,guid?: string, jwt?: string,
- plan?: {features?: record, id?: number, name?: string, }, userId?: number,
- }>,}
GET /auth/{sessionGuid}
Refresh the token
Response Body
{- data: List<{ - family?: List<{ - id?: number, - image?: { - default?: string, - large?: string, - medium?: string, - small?: string, - }, - nickname?: string, - }>,guid?: string, jwt?: string,
- plan?: {features?: record, id?: number, name?: string, }, userId?: number,
- }>,}
GET /users
Get all users
Response Body
{ data: List<{- createdBy?: record, - dateActivated?: number, - dateBirth?: string, - dateCreated?: number, - dateUpdated?: number, - email?: string, - firstName?: string, - gender?: { - text?: string, - value?: string,},
- height?: record, - id?: number, - image?: {default?: string, large?: string, medium?: string, small?: string, },
- lastName?: string, - nickname?: string, - parentId?: number, - purchased?: record, - roles?: List<string>, - stripe?: record, - updatedBy?: {id?: number, },
- weight?: record,}>, }
GET /users
Get all users
Response Body
{ data: List<{+ createdBy: record, + dateActivated: number, + dateBirth: string, + dateCreated: number, + dateUpdated: number, + email: string, + firstName: string, + gender: { + text: string, + value?: 'm' | 'f', },
+ height: record, + id: number, + image: { default?: string, large?: string, medium?: string, small?: string, },
+ lastName: string, + mongoId?: string, + nickname: string, + parentId: number, + purchased: record, + roles: List<string>, + stripe: record, + updatedBy: { id?: number, },
+ weight: record, }>, }
GET /users/{userId}
Get a specific user by id
Response Body
{- data: List<{ - createdBy?: record, - dateActivated?: number, - dateBirth?: string, - dateCreated?: number, - dateUpdated?: number, - email?: string, - firstName?: string, - gender?: { - text?: string, - value?: string,},
- height?: record, - id?: number, - image?: {default?: string, large?: string, medium?: string, small?: string, },
- lastName?: string, - nickname?: string, - parentId?: number, - purchased?: record, - roles?: List<string>, - stripe?: record, - updatedBy?: {id?: number, },
- weight?: record, - }>,}
GET /users/{userId}
Get a specific user by id
Response Body
{+ data: { + createdBy: record, + dateActivated: number, + dateBirth: string, + dateCreated: number, + dateUpdated: number, + email: string, + firstName: string, + gender: { + text: string, + value?: 'm' | 'f', },
+ height: record, + id: number, + image: { default?: string, large?: string, medium?: string, small?: string, },
+ lastName: string, + mongoId?: string, + nickname: string, + parentId: number, + purchased: record, + roles: List<string>, + stripe: record, + updatedBy: { id?: number, },
+ weight: record, + }, }
PATCH /users/{userId}
Edit this user
Request Body
{ dateBirth: string, email: string, firstName: string, gender: {- text?: string, - value?: string,}, height: {
- units?: string,value?: number, }, lastName: string, nickname: string, weight: {
- units?: string,value?: number, }, }
Response Body
{- data: List<{ - createdBy?: record, - dateActivated?: number, - dateBirth?: string, - dateCreated?: number, - dateUpdated?: number, - email?: string, - firstName?: string, - gender?: { - text?: string, - value?: string,},
- height?: record, - id?: number, - image?: {default?: string, large?: string, medium?: string, small?: string, },
- lastName?: string, - nickname?: string, - parentId?: number, - purchased?: record, - roles?: List<string>, - stripe?: record, - updatedBy?: {id?: number, },
- weight?: record, - }>,}
PATCH /users/{userId}
Edit this user
Request Body
{ dateBirth: string, email: string, firstName: string, gender: {+ text: string, + value?: 'm' | 'f', }, height: {
+ units?: 'in' | 'cm', value?: number, }, lastName: string, nickname: string, weight: {
+ units?: 'lb' | 'kg', value?: number, }, }
Response Body
{+ data: { + createdBy: record, + dateActivated: number, + dateBirth: string, + dateCreated: number, + dateUpdated: number, + email: string, + firstName: string, + gender: { + text: string, + value?: 'm' | 'f', },
+ height: record, + id: number, + image: { default?: string, large?: string, medium?: string, small?: string, },
+ lastName: string, + mongoId?: string, + nickname: string, + parentId: number, + purchased: record, + roles: List<string>, + stripe: record, + updatedBy: { id?: number, },
+ weight: record, + }, }
GET /users/{userId}/family
Get child accounts of this user
Response Body
{ data: List<{- createdBy?: record, - dateActivated?: number, - dateBirth?: string, - dateCreated?: number, - dateUpdated?: number, - email?: string, - firstName?: string, - gender?: { - text?: string, - value?: string,},
- height?: record, - id?: number, - image?: {default?: string, large?: string, medium?: string, small?: string, },
- lastName?: string, - nickname?: string, - parentId?: number, - purchased?: record, - roles?: List<string>, - stripe?: record, - updatedBy?: {id?: number, },
- weight?: record,}>, }
GET /users/{userId}/family
Get child accounts of this user
Response Body
{ data: List<{+ createdBy: record, + dateActivated: number, + dateBirth: string, + dateCreated: number, + dateUpdated: number, + email: string, + firstName: string, + gender: { + text: string, + value?: 'm' | 'f', },
+ height: record, + id: number, + image: { default?: string, large?: string, medium?: string, small?: string, },
+ lastName: string, + mongoId?: string, + nickname: string, + parentId: number, + purchased: record, + roles: List<string>, + stripe: record, + updatedBy: { id?: number, },
+ weight: record, }>, }
POST /users/{userId}/family
Request Body
{ dateBirth?: string, email?: string, firstName?: string, gender: {- text?: string, - value?: string,}, height: {
- units?: string,value?: number, }, lastName?: string, nickname: string, weight: {
- units?: string,value?: number, }, }
Response Body
{- data: List<{ - createdBy?: record, - dateActivated?: number, - dateBirth?: string, - dateCreated?: number, - dateUpdated?: number, - email?: string, - firstName?: string, - gender?: { - text?: string, - value?: string,},
- height?: record, - id?: number, - image?: {default?: string, large?: string, medium?: string, small?: string, },
- lastName?: string, - nickname?: string, - parentId?: number, - purchased?: record, - roles?: List<string>, - stripe?: record, - updatedBy?: {id?: number, },
- weight?: record, - }>,}
POST /users/{userId}/family
Request Body
{ dateBirth?: string, email?: string, firstName?: string, gender: {+ text: string, + value?: 'm' | 'f', }, height: {
+ units?: 'in' | 'cm', value?: number, }, lastName?: string, nickname: string, weight: {
+ units?: 'lb' | 'kg', value?: number, }, }
Response Body
{+ data: { + createdBy: record, + dateActivated: number, + dateBirth: string, + dateCreated: number, + dateUpdated: number, + email: string, + firstName: string, + gender: { + text: string, + value?: 'm' | 'f', },
+ height: record, + id: number, + image: { default?: string, large?: string, medium?: string, small?: string, },
+ lastName: string, + mongoId?: string, + nickname: string, + parentId: number, + purchased: record, + roles: List<string>, + stripe: record, + updatedBy: { id?: number, },
+ weight: record, + }, }
GET /plans
Get all Plans
Response Body
{+ data: List<{ + amazon: { + sku: string, + }, + id?: number, + image: { + url?: string, + }, + name: string, + price: { + currency: string, + units?: number, + }, + shopify: { + productId?: string, + shopId: string, + }, + sku: string, + sortOrder: number, + stripe: { + planId?: string, + productId?: string, + }, + termFrequency: number, + trialDays: number, + }>, }
POST /plans
Create Plan
Request Body
{ amazon: {- sku?: string,}, image: { url?: string, }, name?: string,
shopify: { productId?: string,
- shopId?: string,}, sku: string, sortOrder: number, stripe: { planId?: string, productId?: string, }, termFrequency?: number, trialDays: number, }
Response Body
{}
POST /plans
Create Plan
Request Body
{ amazon: {+ sku: string, }, image: { url?: string, }, name?: string, + price: { + currency: string, + units?: number, + }, shopify: { productId?: string,
+ shopId: string, }, sku: string, sortOrder: number, stripe: { planId?: string, productId?: string, }, termFrequency?: number, trialDays: number, }
Response Body
{+ data: { + amazon: { + sku: string, + }, + id?: number, + image: { + url?: string, + }, + name: string, + price: { + currency: string, + units?: number, + }, + shopify: { + productId?: string, + shopId: string, + }, + sku: string, + sortOrder: number, + stripe: { + planId?: string, + productId?: string, + }, + termFrequency: number, + trialDays: number, + }, }
GET /plans/{id}
Get Plan by id
Response Body
{+ data: { + amazon: { + sku: string, + }, + id?: number, + image: { + url?: string, + }, + name: string, + price: { + currency: string, + units?: number, + }, + shopify: { + productId?: string, + shopId: string, + }, + sku: string, + sortOrder: number, + stripe: { + planId?: string, + productId?: string, + }, + termFrequency: number, + trialDays: number, + }, }
PATCH /plans/{id}
Update Plan
Request Body
{ amazon: {- sku?: string,}, image: { url?: string, }, name: string, price: {
- currency?: string,units?: number, }, shopify: { productId?: string,
- shopId?: string,}, sku: string, sortOrder: number, stripe: { planId?: string, productId?: string, }, termFrequency: number, trialDays: number, }
Response Body
{}
PATCH /plans/{id}
Update Plan
Request Body
{ amazon: {+ sku: string, }, image: { url?: string, }, name: string, price: {
+ currency: string, units?: number, }, shopify: { productId?: string,
+ shopId: string, }, sku: string, sortOrder: number, stripe: { planId?: string, productId?: string, }, termFrequency: number, trialDays: number, }
Response Body
{+ data: { + amazon: { + sku: string, + }, + id?: number, + image: { + url?: string, + }, + name: string, + price: { + currency: string, + units?: number, + }, + shopify: { + productId?: string, + shopId: string, + }, + sku: string, + sortOrder: number, + stripe: { + planId?: string, + productId?: string, + }, + termFrequency: number, + trialDays: number, + }, }
GET /instructors
Get a list of instructors
Response Body
{+ data: List<{ + bio?: string, + flags?: List<'connect' | 'reflect' | 'fitnation' | 'celebrity'>, + id?: number, + image: { + default?: string, + large?: string, + medium?: string, + small?: string, + }, + name?: string, + user: { + id?: number, + }, + }>, }
POST /instructors
Create a new instructor
Request Body
{ bio: string,- flags: List<string>,image: { data?: string, filename?: string, }, name?: string, user: { id?: number, }, }
Response Body
{}
POST /instructors
Create a new instructor
Request Body
{ bio: string,+ flags: List<'connect' | 'reflect' | 'fitnation' | 'celebrity'>, image: { data?: string, filename?: string, }, name?: string, user: { id?: number, }, }
Response Body
{+ data: { + bio?: string, + flags?: List<'connect' | 'reflect' | 'fitnation' | 'celebrity'>, + id?: number, + image: { + default?: string, + large?: string, + medium?: string, + small?: string, + }, + name?: string, + user: { + id?: number, + }, + }, }
GET /instructors/{id}
Get a specific instructor
Response Body
{+ data: { + bio?: string, + flags?: List<'connect' | 'reflect' | 'fitnation' | 'celebrity'>, + id?: number, + image: { + default?: string, + large?: string, + medium?: string, + small?: string, + }, + name?: string, + user: { + id?: number, + }, + }, }
PATCH /instructors/{id}
Update an existing instructor
Request Body
{ bio: string,- flags: List<string>,image: { data?: string, filename?: string, }, name: string, user: { id?: number, }, }
Response Body
{}
PATCH /instructors/{id}
Update an existing instructor
Request Body
{ bio: string,+ flags: List<'connect' | 'reflect' | 'fitnation' | 'celebrity'>, image: { data?: string, filename?: string, }, name: string, user: { id?: number, }, }
Response Body
{+ data: { + bio?: string, + flags?: List<'connect' | 'reflect' | 'fitnation' | 'celebrity'>, + id?: number, + image: { + default?: string, + large?: string, + medium?: string, + small?: string, + }, + name?: string, + user: { + id?: number, + }, + }, }
GET /features
Get a list of all available features
Response Body
{+ data: List<{ + code: string, + defaultValue: record, + description: string, + id?: number, + inputType: 'string' | 'number' | 'boolean' | 'enum', + name: string, + sortOrder: number, + usedBy: List<'client' | 'server'>, + validation: { + isNullable: bool, + maxChoices: number, + maxLength: number, + maxValue: number, + minChoices: number, + minLength: number, + minValue: number, + options: List<string>, + precision: number, + regexPattern: string, + }, + }>, }
POST /features
Create a new feature
Request Body
{- code: string,defaultValue: record, description: string,
- inputType: string, - name: string,sortOrder: number,
- usedBy: List<string>,validation: { isNullable: bool, maxChoices: number, maxLength: number, maxValue: number, minChoices: number, minLength: number, minValue: number, options: List<string>, precision: number, regexPattern: string, }, }
Response Body
{}
POST /features
Create a new feature
Request Body
{+ code?: string, defaultValue: record, description: string,
+ inputType: 'string' | 'number' | 'boolean' | 'enum', + name?: string, sortOrder: number,
+ usedBy: List<'client' | 'server'>, validation: { isNullable: bool, maxChoices: number, maxLength: number, maxValue: number, minChoices: number, minLength: number, minValue: number, options: List<string>, precision: number, regexPattern: string, }, }
Response Body
{+ data: { + code: string, + defaultValue: record, + description: string, + id?: number, + inputType: 'string' | 'number' | 'boolean' | 'enum', + name: string, + sortOrder: number, + usedBy: List<'client' | 'server'>, + validation: { + isNullable: bool, + maxChoices: number, + maxLength: number, + maxValue: number, + minChoices: number, + minLength: number, + minValue: number, + options: List<string>, + precision: number, + regexPattern: string, + }, + }, }
GET /features/{id}
Get a specific feature
Response Body
{+ data: { + code: string, + defaultValue: record, + description: string, + id?: number, + inputType: 'string' | 'number' | 'boolean' | 'enum', + name: string, + sortOrder: number, + usedBy: List<'client' | 'server'>, + validation: { + isNullable: bool, + maxChoices: number, + maxLength: number, + maxValue: number, + minChoices: number, + minLength: number, + minValue: number, + options: List<string>, + precision: number, + regexPattern: string, + }, + }, }
PUT /features/{id}
Update an existing feature
Request Body
{ code: string, defaultValue: record, description: string,- inputType: string,name: string, sortOrder: number,
- usedBy: List<string>,validation: { isNullable: bool, maxChoices: number, maxLength: number, maxValue: number, minChoices: number, minLength: number, minValue: number, options: List<string>, precision: number, regexPattern: string, }, }
Response Body
{}
PUT /features/{id}
Update an existing feature
Request Body
{ code: string, defaultValue: record, description: string,+ inputType: 'string' | 'number' | 'boolean' | 'enum', name: string, sortOrder: number,
+ usedBy: List<'client' | 'server'>, validation: { isNullable: bool, maxChoices: number, maxLength: number, maxValue: number, minChoices: number, minLength: number, minValue: number, options: List<string>, precision: number, regexPattern: string, }, }
Response Body
{+ data: { + code: string, + defaultValue: record, + description: string, + id?: number, + inputType: 'string' | 'number' | 'boolean' | 'enum', + name: string, + sortOrder: number, + usedBy: List<'client' | 'server'>, + validation: { + isNullable: bool, + maxChoices: number, + maxLength: number, + maxValue: number, + minChoices: number, + minLength: number, + minValue: number, + options: List<string>, + precision: number, + regexPattern: string, + }, + }, }
GET /songs
Get a list of songs
Response Body
{+ data: List<{ + album: { + id?: number, + name?: string, + }, + artist: List<List<undefined>>, + coverArtUrl?: string, + duration: { + seconds: number, + text: string, + }, + genres: List<List<undefined>>, + id?: number, + isExplicit?: bool, + isrc?: string, + label: { + id?: number, + name?: string, + }, + labelOwner: { + id?: number, + name?: string, + }, + licenseDetails: { + label: record, + publisher: record, + }, + licensedIn?: List<string>, + name?: string, + yearPublished?: number, + }>, }
GET /songs/{id}
Get a specific song
Response Body
{+ data: { + album: { + id?: number, + name?: string, + }, + artist: List<List<undefined>>, + coverArtUrl?: string, + duration: { + seconds: number, + text: string, + }, + genres: List<List<undefined>>, + id?: number, + isExplicit?: bool, + isrc?: string, + label: { + id?: number, + name?: string, + }, + labelOwner: { + id?: number, + name?: string, + }, + licenseDetails: { + label: record, + publisher: record, + }, + licensedIn?: List<string>, + name?: string, + yearPublished?: number, + }, }
GET /firmware
Get a list of the available firmware updates
Response Body
{+ data: List<{ + appVersions: { + android: { + maxVersion?: string, + minVersion?: string, + }, + ios: { + maxVersion?: string, + minVersion?: string, + }, + screen: { + maxVersion?: string, + minVersion?: string, + }, + }, + dateReleased?: number, + dateRequired?: number, + id?: number, + name?: string, + releaseNotes?: string, + status?: 'draft' | 'published' | 'trash', + supportedModels?: List<string>, + type?: 'hardware' | 'tablet' | 'reflect', + updateFile: { + data?: string, + filename?: string, + }, + url?: string, + version?: string, + }>, }
POST /firmware
Create Firmware Update
Request Body
{- appVersions?: { - android?: {maxVersion?: string, minVersion?: string, },
- ios?: {maxVersion?: string, minVersion?: string, },
- screen?: {maxVersion?: string, minVersion?: string, }, }, dateReleased?: number, dateRequired?: number, name?: string, releaseNotes?: string,
- status?: string,supportedModels?: List<string>,
- type?: string, - updateFile?: {data?: string, filename?: string, }, version?: string, }
Response Body
{}
POST /firmware
Create Firmware Update
Request Body
{+ appVersions: { + android: { maxVersion?: string, minVersion?: string, },
+ ios: { maxVersion?: string, minVersion?: string, },
+ screen: { maxVersion?: string, minVersion?: string, }, }, dateReleased?: number, dateRequired?: number, name?: string, releaseNotes?: string,
+ status?: 'draft' | 'published' | 'trash', supportedModels?: List<string>,
+ type?: 'hardware' | 'tablet' | 'reflect', + updateFile: { data?: string, filename?: string, }, version?: string, }
Response Body
{+ data: { + appVersions: { + android: { + maxVersion?: string, + minVersion?: string, + }, + ios: { + maxVersion?: string, + minVersion?: string, + }, + screen: { + maxVersion?: string, + minVersion?: string, + }, + }, + dateReleased?: number, + dateRequired?: number, + id?: number, + name?: string, + releaseNotes?: string, + status?: 'draft' | 'published' | 'trash', + supportedModels?: List<string>, + type?: 'hardware' | 'tablet' | 'reflect', + updateFile: { + data?: string, + filename?: string, + }, + url?: string, + version?: string, + }, }
GET /firmware/{id}
Get Firmware Update by ID
Response Body
{+ data: { + appVersions: { + android: { + maxVersion?: string, + minVersion?: string, + }, + ios: { + maxVersion?: string, + minVersion?: string, + }, + screen: { + maxVersion?: string, + minVersion?: string, + }, + }, + dateReleased?: number, + dateRequired?: number, + id?: number, + name?: string, + releaseNotes?: string, + status?: 'draft' | 'published' | 'trash', + supportedModels?: List<string>, + type?: 'hardware' | 'tablet' | 'reflect', + updateFile: { + data?: string, + filename?: string, + }, + url?: string, + version?: string, + }, }
PUT /firmware/{id}
Update Firmware Update
Request Body
{- appVersions?: { - android?: {maxVersion?: string, minVersion?: string, },
- ios?: {maxVersion?: string, minVersion?: string, },
- screen?: {maxVersion?: string, minVersion?: string, }, }, dateReleased?: number, dateRequired?: number, name?: string, releaseNotes?: string,
- status?: string,supportedModels?: List<string>,
- type?: string, - updateFile?: {data?: string, filename?: string, }, version?: string, }
Response Body
{}
PUT /firmware/{id}
Update Firmware Update
Request Body
{+ appVersions: { + android: { maxVersion?: string, minVersion?: string, },
+ ios: { maxVersion?: string, minVersion?: string, },
+ screen: { maxVersion?: string, minVersion?: string, }, }, dateReleased?: number, dateRequired?: number, name?: string, releaseNotes?: string,
+ status?: 'draft' | 'published' | 'trash', supportedModels?: List<string>,
+ type?: 'hardware' | 'tablet' | 'reflect', + updateFile: { data?: string, filename?: string, }, version?: string, }
Response Body
{+ data: { + appVersions: { + android: { + maxVersion?: string, + minVersion?: string, + }, + ios: { + maxVersion?: string, + minVersion?: string, + }, + screen: { + maxVersion?: string, + minVersion?: string, + }, + }, + dateReleased?: number, + dateRequired?: number, + id?: number, + name?: string, + releaseNotes?: string, + status?: 'draft' | 'published' | 'trash', + supportedModels?: List<string>, + type?: 'hardware' | 'tablet' | 'reflect', + updateFile: { + data?: string, + filename?: string, + }, + url?: string, + version?: string, + }, }