Nest Changelog
1.1.10
3/14/2022
1.1.11
3/21/2022
11 changed endpoints Collapse changed endpoints
GET /preferences 
Get a list of possible preferences
Response Body
{
data: List<{
code?: string,
defaultValue: record,
description?: string,
group?: {
id?: number,
},
id?: number,
- inputType?: 'string' | 'number' | 'boolean' | 'enum',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
}>,
}GET /preferences 
Get a list of possible preferences
Response Body
{
data: List<{
code?: string,
defaultValue: record,
description?: string,
group?: {
id?: number,
},
id?: number,
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
}>,
}POST /preferences 
Add a new preference
Request Body
{
code?: string,
defaultValue: record,
description?: string,
group?: {
id?: number,
},
- inputType?: 'string' | 'number' | 'boolean' | 'enum',
name?: string,
sortOrder?: number,
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,
group?: {
id?: number,
},
id?: number,
- inputType?: 'string' | 'number' | 'boolean' | 'enum',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
},
}POST /preferences 
Add a new preference
Request Body
{
code?: string,
defaultValue: record,
description?: string,
group?: {
id?: number,
},
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
name?: string,
sortOrder?: number,
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,
group?: {
id?: number,
},
id?: number,
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
},
}GET /preferences/{id} 
Get a specific preference
Response Body
{
data: {
code?: string,
defaultValue: record,
description?: string,
group?: {
id?: number,
},
id?: number,
- inputType?: 'string' | 'number' | 'boolean' | 'enum',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
},
}GET /preferences/{id} 
Get a specific preference
Response Body
{
data: {
code?: string,
defaultValue: record,
description?: string,
group?: {
id?: number,
},
id?: number,
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
},
}PUT /preferences/{id} 
Edit a preference as a replacement for previous value.
Request Body
{
code?: string,
defaultValue: record,
description?: string,
group?: {
id?: number,
},
- inputType?: 'string' | 'number' | 'boolean' | 'enum',
name?: string,
sortOrder?: number,
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,
group?: {
id?: number,
},
id?: number,
- inputType?: 'string' | 'number' | 'boolean' | 'enum',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
},
}PUT /preferences/{id} 
Edit a preference as a replacement for previous value.
Request Body
{
code?: string,
defaultValue: record,
description?: string,
group?: {
id?: number,
},
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
name?: string,
sortOrder?: number,
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,
group?: {
id?: number,
},
id?: number,
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
},
}PATCH /preferences/{id} 
Edit a preference as an overlay of the previous value.
Request Body
{
code: string,
defaultValue: record,
description: string,
group: {
id?: number,
},
- inputType: 'string' | 'number' | 'boolean' | 'enum',
name: string,
sortOrder: number,
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,
group?: {
id?: number,
},
id?: number,
- inputType?: 'string' | 'number' | 'boolean' | 'enum',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
},
}PATCH /preferences/{id} 
Edit a preference as an overlay of the previous value.
Request Body
{
code: string,
defaultValue: record,
description: string,
group: {
id?: number,
},
+ inputType: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
name: string,
sortOrder: number,
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,
group?: {
id?: number,
},
id?: number,
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
name?: string,
sortOrder?: number,
validation?: {
isNullable: bool,
maxChoices: number,
maxLength: number,
maxValue: number,
minChoices: number,
minLength: number,
minValue: number,
options: List<string>,
precision: number,
regexPattern: string,
},
},
}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,
},
}>,
}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' | 'multiSelect',
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' | '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,
},
},
}POST /features 
Create a new feature
Request Body
{
code?: string,
defaultValue: record,
description?: string,
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
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' | 'multiSelect',
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,
},
},
}GET /features/{id} 
Get a specific feature
Response Body
{
data: {
code?: string,
defaultValue: record,
description?: string,
id?: number,
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
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' | '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,
},
},
}PUT /features/{id} 
Update an existing feature
Request Body
{
code?: string,
defaultValue: record,
description?: string,
+ inputType?: 'string' | 'number' | 'boolean' | 'enum' | 'multiSelect',
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' | 'multiSelect',
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,
},
},
}7 added endpoints Collapse added endpoints
POST /subscriptions/{id}/activate 
create a new subscription in stripe from shopify order, optionally applies a redemption code
Guard: loggedIn
Request Body
{
billingAddress?: {
city?: string,
country?: {
code?: string,
},
postalCode?: string,
region?: {
code?: string,
},
streetLine1?: string,
streetLine2?: string,
},
cardTokenId?: string,
email?: string,
firstName?: string,
lastName?: string,
phoneNumber?: string,
redemptionCode: string,
}GET /partners 
Get a list of partners
Guard: loggedIn
Response Body
{
data: List<{
brand?: {
id?: number,
name?: string,
},
bundleDays?: number,
country?: {
code?: string,
id?: number,
},
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
name?: string,
type?: 'retailer' | 'dealer' | 'affiliate' | 'employer',
updatedBy?: {
id?: number,
},
}>,
}POST /partners 
Create Partner
Guard: admin
Request Body
{
brand: {
id?: number,
name?: string,
},
bundleDays: number,
country?: {
code?: string,
id?: number,
},
image: {
data?: string,
filename?: string,
},
name?: string,
type?: 'retailer' | 'dealer' | 'affiliate' | 'employer',
}Response Body
{
data: {
brand?: {
id?: number,
name?: string,
},
bundleDays?: number,
country?: {
code?: string,
id?: number,
},
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
name?: string,
type?: 'retailer' | 'dealer' | 'affiliate' | 'employer',
updatedBy?: {
id?: number,
},
},
}GET /partners/{id} 
Get an individual partner
Guard: service
Response Body
{
data: {
brand?: {
id?: number,
name?: string,
},
bundleDays?: number,
country?: {
code?: string,
id?: number,
},
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
name?: string,
type?: 'retailer' | 'dealer' | 'affiliate' | 'employer',
updatedBy?: {
id?: number,
},
},
}PATCH /partners/{id} 
Edit a partner (overlay)
Guard: admin
Request Body
{
brand: {
id?: number,
name?: string,
},
bundleDays: number,
country: {
code?: string,
id?: number,
},
image: {
data?: string,
filename?: string,
},
name: string,
type: 'retailer' | 'dealer' | 'affiliate' | 'employer',
}Response Body
{
data: {
brand?: {
id?: number,
name?: string,
},
bundleDays?: number,
country?: {
code?: string,
id?: number,
},
createdBy?: {
id?: number,
},
dateCreated?: number,
dateUpdated?: number,
id?: number,
image?: {
default: string,
large: string,
medium: string,
small: string,
url?: string,
},
name?: string,
type?: 'retailer' | 'dealer' | 'affiliate' | 'employer',
updatedBy?: {
id?: number,
},
},
}