Nest Changelog
1.42.30
10/9/2023
1.43.0 PRE
10/2/2023
9 changed endpoints Collapse changed endpoints
GET /users 
Get all users
Response Body
{
data: List<{
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
}>,
pagination: {
page?: number,
skip?: number,
take?: number,
total?: {
pages?: number,
rows?: number,
},
},
}GET /users 
Get all users
Response Body
{
data: List<{
+ badges?: {
+ default?: string,
+ selected?: string,
+ },
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
}>,
pagination: {
page?: number,
skip?: number,
take?: number,
total?: {
pages?: number,
rows?: number,
},
},
}POST /users 
Request Body
{
billingAddress: {
city: string,
country: {
code?: string,
},
postalCode: string,
region: {
code?: string,
},
streetLine1: string,
streetLine2: string,
},
birthdate: string,
captcha: {
token?: string,
},
commercial: {
code?: string,
},
dateTosAccepted: number,
dealer: {
id?: number,
},
email?: string,
firstName: string,
forcePasswordChange: bool,
gender: {
value?: 'm' | 'f' | 'o',
},
height: {
units?: 'in' | 'cm',
value?: number,
},
image: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName: string,
mongoId: string,
nickname: string,
parent: {
id?: number,
mongoId?: string,
},
password?: string,
phoneNumber: string,
purchaseHistory: List<{
datePurchased: number,
name: string,
retailer: {
id?: number,
},
serialNumber: string,
}>,
roles: List<string>,
streaks: {
current?: number,
longest?: number,
},
tagline: string,
weight: {
units?: 'lb' | 'kg',
value?: number,
},
}Response Body
{
data: {
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
}POST /users 
Request Body
{
+ badges: {
+ default?: string,
+ selected?: string,
+ },
billingAddress: {
city: string,
country: {
code?: string,
},
postalCode: string,
region: {
code?: string,
},
streetLine1: string,
streetLine2: string,
},
birthdate: string,
captcha: {
token?: string,
},
commercial: {
code?: string,
},
dateTosAccepted: number,
dealer: {
id?: number,
},
email?: string,
firstName: string,
forcePasswordChange: bool,
gender: {
value?: 'm' | 'f' | 'o',
},
height: {
units?: 'in' | 'cm',
value?: number,
},
image: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName: string,
mongoId: string,
nickname: string,
parent: {
id?: number,
mongoId?: string,
},
password?: string,
phoneNumber: string,
purchaseHistory: List<{
datePurchased: number,
name: string,
retailer: {
id?: number,
},
serialNumber: string,
}>,
roles: List<string>,
streaks: {
current?: number,
longest?: number,
},
tagline: string,
weight: {
units?: 'lb' | 'kg',
value?: number,
},
}Response Body
{
data: {
+ badges?: {
+ default?: string,
+ selected?: string,
+ },
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
}GET /users/{userId} 
Get a specific user by id
Response Body
{
data: {
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
}GET /users/{userId} 
Get a specific user by id
Response Body
{
data: {
+ badges?: {
+ default?: string,
+ selected?: string,
+ },
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
}PATCH /users/{userId} 
Edit this user
Request Body
{
billingAddress: {
city: string,
country: {
code?: string,
},
postalCode: string,
region: {
code?: string,
},
streetLine1: string,
streetLine2: string,
},
birthdate: string,
dateTosAccepted: number,
dealer: {
id?: number,
},
email: string,
firstName: string,
forcePasswordChange: bool,
gender: {
value?: 'm' | 'f' | 'o',
},
height: {
units?: 'in' | 'cm',
value?: number,
},
image: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName: string,
mongoId: string,
nickname: string,
parent: {
id?: number,
mongoId?: string,
},
phoneNumber: string,
purchaseHistory: List<{
datePurchased: number,
name: string,
retailer: {
id?: number,
},
serialNumber: string,
}>,
roles: List<string>,
streaks: {
current?: number,
longest?: number,
},
tagline: string,
weight: {
units?: 'lb' | 'kg',
value?: number,
},
}Response Body
{
data: {
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
}PATCH /users/{userId} 
Edit this user
Request Body
{
+ badges: {
+ default?: string,
+ selected?: string,
+ },
billingAddress: {
city: string,
country: {
code?: string,
},
postalCode: string,
region: {
code?: string,
},
streetLine1: string,
streetLine2: string,
},
birthdate: string,
dateTosAccepted: number,
dealer: {
id?: number,
},
email: string,
firstName: string,
forcePasswordChange: bool,
gender: {
value?: 'm' | 'f' | 'o',
},
height: {
units?: 'in' | 'cm',
value?: number,
},
image: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName: string,
mongoId: string,
nickname: string,
parent: {
id?: number,
mongoId?: string,
},
phoneNumber: string,
purchaseHistory: List<{
datePurchased: number,
name: string,
retailer: {
id?: number,
},
serialNumber: string,
}>,
roles: List<string>,
streaks: {
current?: number,
longest?: number,
},
tagline: string,
weight: {
units?: 'lb' | 'kg',
value?: number,
},
}Response Body
{
data: {
+ badges?: {
+ default?: string,
+ selected?: string,
+ },
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
}GET /users/findByEmail/{email} 
Get a specific user by email
Response Body
{
data: {
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
}GET /users/findByEmail/{email} 
Get a specific user by email
Response Body
{
data: {
+ badges?: {
+ default?: string,
+ selected?: string,
+ },
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
}GET /users/{userId}/family 
Get child accounts of this user
Response Body
{
data: List<{
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
}>,
pagination: {
page?: number,
skip?: number,
take?: number,
total?: {
pages?: number,
rows?: number,
},
},
}GET /users/{userId}/family 
Get child accounts of this user
Response Body
{
data: List<{
+ badges?: {
+ default?: string,
+ selected?: string,
+ },
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
}>,
pagination: {
page?: number,
skip?: number,
take?: number,
total?: {
pages?: number,
rows?: number,
},
},
}POST /users/{userId}/family 
Request Body
{
billingAddress: {
city: string,
country: {
code?: string,
},
postalCode: string,
region: {
code?: string,
},
streetLine1: string,
streetLine2: string,
},
birthdate: string,
captcha: {
token?: string,
},
commercial: {
code?: string,
},
dateTosAccepted: number,
dealer: {
id?: number,
},
email?: string,
firstName: string,
forcePasswordChange: bool,
gender: {
value?: 'm' | 'f' | 'o',
},
height: {
units?: 'in' | 'cm',
value?: number,
},
image: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName: string,
mongoId: string,
nickname: string,
parent: {
id?: number,
mongoId?: string,
},
password?: string,
phoneNumber: string,
purchaseHistory: List<{
datePurchased: number,
name: string,
retailer: {
id?: number,
},
serialNumber: string,
}>,
roles: List<string>,
streaks: {
current?: number,
longest?: number,
},
tagline: string,
weight: {
units?: 'lb' | 'kg',
value?: number,
},
}Response Body
{
data: {
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
embedded: {
jwt?: string,
},
}POST /users/{userId}/family 
Request Body
{
+ badges: {
+ default?: string,
+ selected?: string,
+ },
billingAddress: {
city: string,
country: {
code?: string,
},
postalCode: string,
region: {
code?: string,
},
streetLine1: string,
streetLine2: string,
},
birthdate: string,
captcha: {
token?: string,
},
commercial: {
code?: string,
},
dateTosAccepted: number,
dealer: {
id?: number,
},
email?: string,
firstName: string,
forcePasswordChange: bool,
gender: {
value?: 'm' | 'f' | 'o',
},
height: {
units?: 'in' | 'cm',
value?: number,
},
image: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName: string,
mongoId: string,
nickname: string,
parent: {
id?: number,
mongoId?: string,
},
password?: string,
phoneNumber: string,
purchaseHistory: List<{
datePurchased: number,
name: string,
retailer: {
id?: number,
},
serialNumber: string,
}>,
roles: List<string>,
streaks: {
current?: number,
longest?: number,
},
tagline: string,
weight: {
units?: 'lb' | 'kg',
value?: number,
},
}Response Body
{
data: {
+ badges?: {
+ default?: string,
+ selected?: string,
+ },
billingAddress?: {
city?: string,
country?: {
code?: string,
id?: number,
name?: string,
},
postalCode?: string,
region?: {
code?: string,
name?: string,
},
streetLine1?: string,
streetLine2?: string,
},
birthdate: string,
createdBy?: {
id?: number,
},
dateActivated?: number,
dateCreated?: number,
dateTosAccepted: number,
dateUpdated?: number,
dealer?: {
id?: number,
},
email?: string,
firstName?: string,
forcePasswordChange?: bool,
gender?: {
text: string,
value?: 'm' | 'f' | 'o',
},
height?: {
metricValue?: number,
text?: string,
units?: 'in' | 'cm',
value?: number,
},
id?: number,
image?: {
colors?: {
background?: {
hex?: string,
},
foreground?: {
hex?: string,
},
},
default: string,
initials?: string,
isPlaceholder?: bool,
large: string,
medium: string,
small: string,
url?: string,
},
lastName?: string,
mongoId?: string,
nickname?: string,
parent?: {
id?: number,
mongoId?: string,
},
phoneNumber?: string,
purchaseHistory?: List<{
datePurchased?: number,
name?: string,
retailer?: {
id?: number,
name?: string,
},
serialNumber?: string,
}>,
roles?: List<string>,
streaks?: {
current?: number,
longest?: number,
},
stripe?: {
customerId?: string,
},
tagline?: string,
updatedBy?: {
id?: number,
},
weight?: {
metricValue?: number,
text?: string,
units?: 'lb' | 'kg',
value?: number,
},
},
embedded: {
jwt?: string,
},
}POST /collections/items 
Create a new Collection
Request Body
{
available?: {
end?: number,
start?: number,
},
badge?: {
- eventCode?: string,
guid?: string,
- images?: {
- default?: string,
- hd?: string,
- portrait?: string,
- sd?: string,
- square?: string,
- },
- translations?: record,
},
countries?: List<{
code?: string,
}>,
description?: string,
durationDays?: number,
episodeWord?: string,
medium?: 'reflect' | 'standard' | 'strength',
name?: string,
planFamily?: 'spinco' | 'premier' | 'select' | 'flex' | 'fitpass' | 'lite' | 'choice' | 'free',
schedule?: List<{
guid?: string,
sortOrder?: number,
}>,
sortOrder?: number,
tags?: List<{
value?: string,
}>,
totalCount?: number,
type?: 'generic' | 'series' | 'challenge' | 'program' | 'favorite',
visibility?: 'public' | 'unlisted' | 'private' | 'draft' | 'trash',
}POST /collections/items 
Create a new Collection
Request Body
{
available?: {
end?: number,
start?: number,
},
badge?: {
guid?: string,
},
countries?: List<{
code?: string,
}>,
description?: string,
durationDays?: number,
episodeWord?: string,
medium?: 'reflect' | 'standard' | 'strength',
name?: string,
planFamily?: 'spinco' | 'premier' | 'select' | 'flex' | 'fitpass' | 'lite' | 'choice' | 'free',
schedule?: List<{
guid?: string,
sortOrder?: number,
}>,
sortOrder?: number,
tags?: List<{
value?: string,
}>,
totalCount?: number,
type?: 'generic' | 'series' | 'challenge' | 'program' | 'favorite',
visibility?: 'public' | 'unlisted' | 'private' | 'draft' | 'trash',
}PATCH /collections/items/{guid} 
Update a Collection
Request Body
{
available: {
end?: number,
start?: number,
},
badge: {
- eventCode?: string,
guid?: string,
- images?: {
- default?: string,
- hd?: string,
- portrait?: string,
- sd?: string,
- square?: string,
- },
- translations?: record,
},
description: string,
durationDays: number,
episodeWord: string,
name: string,
schedule: List<{
guid?: string,
sortOrder?: number,
}>,
sortOrder: number,
tags: List<{
value?: string,
}>,
totalCount: number,
type: 'generic' | 'series' | 'challenge' | 'program' | 'favorite',
visibility: 'public' | 'unlisted' | 'private' | 'draft' | 'trash',
}PATCH /collections/items/{guid} 
Update a Collection
Request Body
{
available: {
end?: number,
start?: number,
},
badge: {
guid?: string,
},
description: string,
durationDays: number,
episodeWord: string,
name: string,
schedule: List<{
guid?: string,
sortOrder?: number,
}>,
sortOrder: number,
tags: List<{
value?: string,
}>,
totalCount: number,
type: 'generic' | 'series' | 'challenge' | 'program' | 'favorite',
visibility: 'public' | 'unlisted' | 'private' | 'draft' | 'trash',
}Added endpoints