Nest Changelog

1.1.10

3/14/2022

1.1.11

3/21/2022

11 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, }, }, }

POST /auth

Sign in with email address and password

Request Body
{
  commercial: {
-   Commercial Code?: string,

}, email?: string, password?: string, }

POST /auth

Sign in with email address and password

Request Body
{
  commercial: {

+ code?: string, }, email?: string, password?: string, }

POST /auth/commercial

Authenticate a single commercial piece of equipment

Request Body
{
- Commercial Code?: string,

name: string, password?: string, }

POST /auth/commercial

Authenticate a single commercial piece of equipment

Request Body
{

+ code?: string, name: string, password?: 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
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,
}

POST /subscriptions

create a blank subscription for testing

Guard: admin

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,
    },
  },
}

DELETE /partners/{id}

Delete a partner

Guard: admin

WORK IN PROGRESS