Nest Changelog

1.1.55

7/7/2022

1.1.56

7/12/2022

6 changed endpoints

GET /users

Get all users

Response Body
{
  data: List<{
    billingAddress?: {
      city?: string,
      country?: {
        code?: string,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: number,
    dateUpdated?: number,
    dealer?: {
      id?: number,
    },
    email?: string,
    firstName?: string,
    forcePasswordChange?: bool,
    gender?: {
      text: string,
      value?: 'm' | 'f' | 'o',
    },
    height?: {

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>, stripe?: { customerId?: string, }, tagline?: string, updatedBy?: { id?: number, }, weight?: {

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<{
    billingAddress?: {
      city?: string,
      country?: {
        code?: string,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: 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>,
    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

Response Body
{
  data: {
    billingAddress?: {
      city?: string,
      country?: {
        code?: string,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: number,
    dateUpdated?: number,
    dealer?: {
      id?: number,
    },
    email?: string,
    firstName?: string,
    forcePasswordChange?: bool,
    gender?: {
      text: string,
      value?: 'm' | 'f' | 'o',
    },
    height?: {

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>, stripe?: { customerId?: string, }, tagline?: string, updatedBy?: { id?: number, }, weight?: {

text?: string, units?: 'lb' | 'kg', value?: number, }, }, }

POST /users

Response Body
{
  data: {
    billingAddress?: {
      city?: string,
      country?: {
        code?: string,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: 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>,
    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,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: number,
    dateUpdated?: number,
    dealer?: {
      id?: number,
    },
    email?: string,
    firstName?: string,
    forcePasswordChange?: bool,
    gender?: {
      text: string,
      value?: 'm' | 'f' | 'o',
    },
    height?: {

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>, stripe?: { customerId?: string, }, tagline?: string, updatedBy?: { id?: number, }, weight?: {

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,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: 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>,
    stripe?: {
      customerId?: string,
    },
    tagline?: string,
    updatedBy?: {
      id?: number,
    },
    weight?: {
+     metricValue?: number,
      text?: string,
      units?: 'lb' | 'kg',
      value?: number,
    },
  },
}

PATCH /users/{userId}

Edit this user

Response Body
{
  data: {
    billingAddress?: {
      city?: string,
      country?: {
        code?: string,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: number,
    dateUpdated?: number,
    dealer?: {
      id?: number,
    },
    email?: string,
    firstName?: string,
    forcePasswordChange?: bool,
    gender?: {
      text: string,
      value?: 'm' | 'f' | 'o',
    },
    height?: {

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>, stripe?: { customerId?: string, }, tagline?: string, updatedBy?: { id?: number, }, weight?: {

text?: string, units?: 'lb' | 'kg', value?: number, }, }, }

PATCH /users/{userId}

Edit this user

Response Body
{
  data: {
    billingAddress?: {
      city?: string,
      country?: {
        code?: string,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: 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>,
    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,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: number,
    dateUpdated?: number,
    dealer?: {
      id?: number,
    },
    email?: string,
    firstName?: string,
    forcePasswordChange?: bool,
    gender?: {
      text: string,
      value?: 'm' | 'f' | 'o',
    },
    height?: {

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>, stripe?: { customerId?: string, }, tagline?: string, updatedBy?: { id?: number, }, weight?: {

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<{
    billingAddress?: {
      city?: string,
      country?: {
        code?: string,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: 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>,
    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

Response Body
{
  data: {
    billingAddress?: {
      city?: string,
      country?: {
        code?: string,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: number,
    dateUpdated?: number,
    dealer?: {
      id?: number,
    },
    email?: string,
    firstName?: string,
    forcePasswordChange?: bool,
    gender?: {
      text: string,
      value?: 'm' | 'f' | 'o',
    },
    height?: {

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>, stripe?: { customerId?: string, }, tagline?: string, updatedBy?: { id?: number, }, weight?: {

text?: string, units?: 'lb' | 'kg', value?: number, }, }, embedded: { jwt?: string, }, }

POST /users/{userId}/family

Response Body
{
  data: {
    billingAddress?: {
      city?: string,
      country?: {
        code?: string,
        currency?: {
          code?: string,
          scale?: number,
          symbol?: string,
        },
        dateCreated?: number,
        dateUpdated?: number,
        id?: number,
        mediaNet?: {
          code?: string,
          territoryId?: number,
        },
        name?: string,
        numberFormat?: {
          decimalSeparator?: '.' | ',' | ' ',
          thousandsSeparator?: '.' | ',' | ' ',
        },
        stripe?: {
          id?: number,
        },
      },
      postalCode?: string,
      region?: {
        code?: string,
        name?: string,
      },
      streetLine1?: string,
      streetLine2?: string,
    },
    birthdate: string,
    createdBy?: {
      id?: number,
    },
    dateActivated?: number,
    dateCreated?: 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>,
    stripe?: {
      customerId?: string,
    },
    tagline?: string,
    updatedBy?: {
      id?: number,
    },
    weight?: {
+     metricValue?: number,
      text?: string,
      units?: 'lb' | 'kg',
      value?: number,
    },
  },
  embedded: {
    jwt?: string,
  },
}
3 added endpoints
Added endpoints

POST /webhooks/subscription-created

Request Body
{
  billingCycleAnchor?: number,
  dateCancelled?: number,
  dateExpires?: number,
  datePausedUntil?: number,
  dateTrialEnds?: number,
  initiatedBy?: {
    id?: number,
  },
  internalNote?: string,
  planAmount?: number,
  planCurrency?: string,
  planId?: number,
  planInterval?: string,
  planName?: string,
  publicNote?: string,
  reason?: {
    code?: 'competitor' | 'healthIssues' | 'notMetExpectations' | 'pricing' | 'noLongerHaveEquipment' | 'busy' | 'other',
    message?: string,
  },
  renewedAt: number,
  shopifyCustomerId: string,
  sourceId?: number,
  sourceName?: 'stripe' | 'ios' | 'android' | 'amazon',
  status?: string,
  stripeCustomerId?: string,
  subscriptionCreatedAt?: number,
  subscriptionOrderId?: string,
  subscriptionPeriodEnd?: number,
  subscriptionPeriodStart?: number,
  subscriptionTrialEnd?: number,
  subscriptionTrialStart?: number,
}

POST /webhooks/subscription-deleted

Request Body
{
  billingCycleAnchor?: number,
  dateCancelled?: number,
  dateExpires?: number,
  datePausedUntil?: number,
  dateTrialEnds?: number,
  initiatedBy?: {
    id?: number,
  },
  internalNote?: string,
  planAmount?: number,
  planCurrency?: string,
  planId?: number,
  planInterval?: string,
  planName?: string,
  publicNote?: string,
  reason?: {
    code?: 'competitor' | 'healthIssues' | 'notMetExpectations' | 'pricing' | 'noLongerHaveEquipment' | 'busy' | 'other',
    message?: string,
  },
  renewedAt: number,
  shopifyCustomerId: string,
  sourceId?: number,
  sourceName?: 'stripe' | 'ios' | 'android' | 'amazon',
  status?: string,
  stripeCustomerId?: string,
  subscriptionCreatedAt?: number,
  subscriptionOrderId?: string,
  subscriptionPeriodEnd?: number,
  subscriptionPeriodStart?: number,
  subscriptionTrialEnd?: number,
  subscriptionTrialStart?: number,
}

POST /webhooks/subscription-updated

Request Body
{
  billingCycleAnchor?: number,
  dateCancelled?: number,
  dateExpires?: number,
  datePausedUntil?: number,
  dateTrialEnds?: number,
  initiatedBy?: {
    id?: number,
  },
  internalNote?: string,
  planAmount?: number,
  planCurrency?: string,
  planId?: number,
  planInterval?: string,
  planName?: string,
  publicNote?: string,
  reason?: {
    code?: 'competitor' | 'healthIssues' | 'notMetExpectations' | 'pricing' | 'noLongerHaveEquipment' | 'busy' | 'other',
    message?: string,
  },
  renewedAt: number,
  shopifyCustomerId: string,
  sourceId?: number,
  sourceName?: 'stripe' | 'ios' | 'android' | 'amazon',
  status?: string,
  stripeCustomerId?: string,
  subscriptionCreatedAt?: number,
  subscriptionOrderId?: string,
  subscriptionPeriodEnd?: number,
  subscriptionPeriodStart?: number,
  subscriptionTrialEnd?: number,
  subscriptionTrialStart?: number,
}
WORK IN PROGRESS