Nest Changelog

1.26.12

5/25/2023

1.27.0 PRE

5/22/2023

2 changed endpoints

GET /users/{userId}/badges/milestones

Get list of users milestones

Guard: admin, family

GET /users/{userId}/badges/milestones

Get list of users milestones

Guard: admin, family, service

GET /users/{userId}/account/history

Get the changes that have happened to this account

Response Body
{
  data: List<{
-   action?: 'create' | 'activate' | 'started' | 'ended' | 'pause' | 'unpause' | 'cancel' | 'uncancel' | 'terminate' | 'change' | 'extend' | 'refund' | 'credit' | 'discount' | 'anonymize' | 'ban' | 'join-family' | 'unjoin-family' | 'memo' | 'upcoming' | 'paid' | 'updated' | 'failed',

dateOccurred?: number, guid?: string, initiatedBy: { id?: number, }, internalNote?: string, payload?: record, publicNote?: string, reason?: { code?: 'competitor' | 'healthIssues' | 'notMetExpectations' | 'pricing' | 'noLongerHaveEquipment' | 'busy' | 'other' | 'planChange', message?: string, }, source?: 'webhook' | 'cs' | 'member' | 'app' | 'nest', subscription?: { id?: number, }, user?: { id?: number, }, }>, pagination: { page?: number, skip?: number, take?: number, total?: { pages?: number, rows?: number, }, }, }

GET /users/{userId}/account/history

Get the changes that have happened to this account

Response Body
{
  data: List<{

+ action?: 'create' | 'activate' | 'started' | 'ended' | 'pause' | 'unpause' | 'cancel' | 'uncancel' | 'terminate' | 'change' | 'extend' | 'offer-applied' | 'refund' | 'credit' | 'discount' | 'anonymize' | 'ban' | 'join-family' | 'unjoin-family' | 'memo' | 'upcoming' | 'paid' | 'updated' | 'failed', dateOccurred?: number, guid?: string, initiatedBy: { id?: number, }, internalNote?: string, payload?: record, publicNote?: string, reason?: { code?: 'competitor' | 'healthIssues' | 'notMetExpectations' | 'pricing' | 'noLongerHaveEquipment' | 'busy' | 'other' | 'planChange', message?: string, }, source?: 'webhook' | 'cs' | 'member' | 'app' | 'nest', subscription?: { id?: number, }, user?: { id?: number, }, }>, pagination: { page?: number, skip?: number, take?: number, total?: { pages?: number, rows?: number, }, }, }
4 added endpoints
Added endpoints

GET /content/library/upcoming

Search for upcoming live or encore content in the Library. Cache Policy: No cache.

Guard: loggedIn

Response Body
{
  data: List<{
    catalog?: {
      audio?: 'labelMusic' | 'royaltyFree' | 'userProvided',
      code?: string,
      hasMusic?: bool,
    },
    contentGuid?: string,
    countries?: List<{
      code?: string,
    }>,
    dateLive?: number,
    description?: string,
    format?: {
      code?: string,
    },
    images?: {
      default?: string,
      hd?: string,
      portrait?: string,
      sd?: string,
      square?: string,
    },
    instructors?: List<{
      id?: number,
      images?: {
        default?: string,
        hd?: string,
        portrait?: string,
        sd?: string,
        square?: string,
      },
      name?: string,
    }>,
    legacy?: {
      id?: number,
    },
    length?: number,
    medium?: 'reflect' | 'standard',
    name?: string,
    playback?: {
      type?: 'hls' | 'dash',
      url?: string,
    },
    playlistId?: number,
    scheduleGuid?: string,
    status?: 'draft' | 'published' | 'trash',
    studios?: List<{
      id?: number,
      name?: string,
    }>,
    tags?: List<{
      images?: {
        default?: string,
        hd?: string,
        portrait?: string,
        sd?: string,
        square?: string,
      },
      text?: string,
      type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus',
      value?: string,
    }>,
    type?: 'live' | 'vod' | 'encore' | 'rebroadcast',
    userData?: {
      favorite?: {
        content?: bool,
      },
      workout?: {
        status?: 'finished' | 'DNF',
      },
    },
  }>,
  embedded: {
    aggregations?: {
      durations?: List<{
        count?: number,
        text?: string,
        value?: number,
      }>,
      instructors?: List<{
        id?: number,
        images?: {
          default?: string,
          hd?: string,
          portrait?: string,
          sd?: string,
          square?: string,
        },
        name?: string,
      }>,
      tags?: List<{
        buckets?: List<{
          count?: number,
          images?: {
            default?: string,
            hd?: string,
            portrait?: string,
            sd?: string,
            square?: string,
          },
          text?: string,
          value?: string,
        }>,
        value?: string,
      }>,
    },
  },
  pagination: {
    page?: number,
    skip?: number,
    take?: number,
    total?: {
      pages?: number,
      rows?: number,
    },
  },
}

POST /subscriptions/{id}/uncancel

uncancel a subscription

Guard: customerService, self

Request Body
{
  initiatedBy: {
    id?: number,
  },
  internalNote?: string,
  publicNote?: string,
  reason?: {
    code?: 'competitor' | 'healthIssues' | 'notMetExpectations' | 'pricing' | 'noLongerHaveEquipment' | 'busy' | 'other' | 'planChange',
    message?: string,
  },
}
Response Body
{
  data: {
    activation?: {
      isActivated?: bool,
      isFirstPeriodPrepaid?: bool,
    },
    billing?: {
      customerCode?: string,
      orderCode?: string,
    },
    cancellation?: {
      dateCancelled?: number,
      reason?: {
        code?: 'competitor' | 'healthIssues' | 'notMetExpectations' | 'pricing' | 'noLongerHaveEquipment' | 'busy' | 'other' | 'planChange',
        message?: string,
      },
    },
    createdBy?: {
      id?: number,
    },
    dateCreated?: number,
    dateUpdated?: number,
    id?: number,
    offer?: {
      createdBy?: {
        id?: number,
      },
      dateCreated?: number,
      delayBilling?: {
        days?: number,
        type?: 'trial' | 'bundle',
      },
      discount?: {
        discountStripeCouponCode?: string,
        introDiscount?: number,
        introDiscountPaymentCount?: number,
      },
      guid?: string,
      name?: string,
      plan?: {
        basePrice?: {
          currency?: {
            code?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL',
            scale?: number,
          },
          value?: number,
        },
        benefits?: List<{
          text?: string,
        }>,
        billingProvider?: {
          id?: number,
          metadata?: {
            avaTaxIntegration?: bool,
          },
          name?: string,
          organizationCode?: string,
          priceCode?: string,
          productCode?: string,
          type?: 'stripe' | 'apple' | 'google' | 'amazon',
        },
        country?: {
          code?: string,
          currency?: {
            code?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL',
            scale?: number,
          },
          name?: string,
        },
        createdBy?: {
          id?: number,
        },
        dateCreated?: number,
        dateUpdated?: number,
        defaultTrial?: {
          units?: 'day',
          value?: number,
        },
        delayBillingDays?: number,
        description?: string,
        family?: {
          brands?: List<'echelon' | 'fitnation' | 'fitquest'>,
          code?: 'spinco' | 'premier' | 'select' | 'flex' | 'fitpass' | 'lite' | 'choice' | 'free',
          type?: 'connected' | 'disconnected',
        },
        frequency?: {
          units?: 'month',
          value?: number,
        },
        frequencyDays?: number,
        id?: number,
        legacyPlanFlags?: {
          emailTemplateId?: number,
          isOrderProcessedByHook?: bool,
          showInOldMember?: bool,
        },
        name?: string,
        sku?: string,
        sortOrder?: number,
        source?: {
          accountId?: string,
          productId?: string,
          type?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free',
        },
        tags?: List<'humana' | 'gympass' | 'addon' | 'amazon' | 'popular' | 'directPurchase' | 'csOnly' | 'displayInAdmin'>,
        updatedBy?: {
          id?: number,
        },
      },
      status?: 'draft' | 'published',
    },
    pause?: {
      dateEnd?: number,
      dateStart?: number,
      reason?: string,
    },
    plan?: {
      basePrice?: {
        currency?: {
          code?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL',
          scale?: number,
        },
        value?: number,
      },
      benefits?: List<{
        text?: string,
      }>,
      billingProvider?: {
        id?: number,
        metadata?: {
          avaTaxIntegration?: bool,
        },
        name?: string,
        organizationCode?: string,
        priceCode?: string,
        productCode?: string,
        type?: 'stripe' | 'apple' | 'google' | 'amazon',
      },
      country?: {
        code?: string,
        currency?: {
          code?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL',
          scale?: number,
        },
        name?: string,
      },
      createdBy?: {
        id?: number,
      },
      dateCreated?: number,
      dateUpdated?: number,
      defaultTrial?: {
        units?: 'day',
        value?: number,
      },
      delayBillingDays?: number,
      description?: string,
      family?: {
        brands?: List<'echelon' | 'fitnation' | 'fitquest'>,
        code?: 'spinco' | 'premier' | 'select' | 'flex' | 'fitpass' | 'lite' | 'choice' | 'free',
        type?: 'connected' | 'disconnected',
      },
      frequency?: {
        units?: 'month',
        value?: number,
      },
      frequencyDays?: number,
      id?: number,
      legacyPlanFlags?: {
        emailTemplateId?: number,
        isOrderProcessedByHook?: bool,
        showInOldMember?: bool,
      },
      name?: string,
      sku?: string,
      sortOrder?: number,
      source?: {
        accountId?: string,
        productId?: string,
        type?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free',
      },
      tags?: List<'humana' | 'gympass' | 'addon' | 'amazon' | 'popular' | 'directPurchase' | 'csOnly' | 'displayInAdmin'>,
      updatedBy?: {
        id?: number,
      },
    },
    price?: {
      currency?: {
        code?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL',
        scale?: number,
      },
      value?: number,
    },
    promotion?: {
      id?: number,
    },
    provisional?: {
      isProvisioned?: bool,
    },
    renewal?: 'auto' | 'paused' | 'cancelled' | 'failed',
    source?: {
      accountId?: string,
      lineItemId?: string,
      name?: 'shopify' | 'amazon' | 'ios' | 'android' | 'organic' | 'free',
      orderId?: string,
      productId?: string,
    },
    status?: 'notActivated' | 'onTrialCancelled' | 'onTrialPaused' | 'onTrial' | 'activeCancelled' | 'activePaused' | 'active' | 'expiredPaused' | 'expiredVoluntary' | 'expiredInvoluntary',
    subscriptionAddons?: List<{
      addonOffer?: {
        addon?: {
          createdBy?: {
            id?: number,
          },
          dateCreated?: number,
          dateUpdated?: number,
          featureOverrides?: List<{
            code?: string,
            value?: record,
          }>,
          guid?: string,
          images?: {
            default?: string,
            hd?: string,
            portrait?: string,
            sd?: string,
            square?: string,
          },
          name?: string,
          translations?: record,
          updatedBy?: {
            id?: number,
          },
          video?: {
            url?: string,
          },
        },
        billingProvider?: {
          id?: number,
          metadata?: {
            avaTaxIntegration?: bool,
          },
          name?: string,
          organizationCode?: string,
          type?: 'stripe' | 'apple' | 'google' | 'amazon',
        },
        country?: {
          code?: string,
          currency?: {
            code?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL',
            scale?: number,
          },
          name?: string,
        },
        createdBy?: {
          id?: number,
        },
        dateCreated?: number,
        dateUpdated?: number,
        frequencyDays?: number,
        guid?: string,
        name?: string,
        status?: 'draft' | 'published' | 'trash',
        unitPrice?: {
          priceCode: string,
          value?: number,
        },
        updatedBy?: {
          id?: number,
        },
      },
      dateCancelled?: number,
      dateExpires?: number,
      dateStart?: number,
      guid?: string,
      subscription?: {
        id?: number,
      },
    }>,
    term?: {
      dateEnd?: number,
      dateStart?: number,
    },
    token?: string,
    trial?: {
      dateEnd?: number,
      dateStart?: number,
    },
    updatedBy?: {
      id?: number,
    },
    user?: {
      id?: number,
    },
    utm?: {
      campaign: string,
      content: string,
      medium: string,
      source: string,
      term: string,
    },
  },
}

GET /redemption-codes/promotions

Get a list of all promotion codes

Guard: marketing

Response Body
{
  data: List<{
    code?: string,
  }>,
}

GET /redemption-codes/export

Export a list of redemption-codes belonging to a given promotion

Guard: marketingManager

Response Body
{
  data: List<{
    code?: string,
    dateCreated?: number,
    offerGuid?: string,
    promotionCode?: string,
    status?: 'inactive' | 'active' | 'redeemed' | 'deleted',
    vendor?: 'Incomm',
  }>,
}
2 deleted endpoints

GET /content/library-test

Search for content in the Library. Cache Policy: No cache.

Guard: loggedIn

Response Body
{
  data: List<{
    catalog?: {
      audio?: 'labelMusic' | 'royaltyFree' | 'userProvided',
      code?: string,
      hasMusic?: bool,
    },
    contentGuid?: string,
    countries?: List<{
      code?: string,
    }>,
    dateLive?: number,
    description?: string,
    format?: {
      code?: string,
    },
    images?: {
      default?: string,
      hd?: string,
      portrait?: string,
      sd?: string,
      square?: string,
    },
    instructors?: List<{
      id?: number,
      images?: {
        default?: string,
        hd?: string,
        portrait?: string,
        sd?: string,
        square?: string,
      },
      name?: string,
    }>,
    legacy?: {
      id?: number,
    },
    length?: number,
    medium?: 'reflect' | 'standard',
    name?: string,
    playback?: {
      type?: 'hls' | 'dash',
      url?: string,
    },
    playlistId?: number,
    scheduleGuid?: string,
    status?: 'draft' | 'published' | 'trash',
    studios?: List<{
      id?: number,
      name?: string,
    }>,
    tags?: List<{
      images?: {
        default?: string,
        hd?: string,
        portrait?: string,
        sd?: string,
        square?: string,
      },
      text?: string,
      type?: 'format' | 'category' | 'music' | 'language' | 'closedCaptions' | 'equipment' | 'plan' | 'venue' | 'general' | 'level' | 'accessories' | 'focus',
      value?: string,
    }>,
    type?: 'live' | 'vod' | 'encore' | 'rebroadcast',
    userData?: {
      favorite?: {
        content?: bool,
      },
      workout?: {
        status?: 'finished' | 'DNF',
      },
    },
  }>,
  embedded: {
    aggregations?: {
      durations?: List<{
        count?: number,
        text?: string,
        value?: number,
      }>,
      instructors?: List<{
        id?: number,
        images?: {
          default?: string,
          hd?: string,
          portrait?: string,
          sd?: string,
          square?: string,
        },
        name?: string,
      }>,
      tags?: List<{
        buckets?: List<{
          count?: number,
          images?: {
            default?: string,
            hd?: string,
            portrait?: string,
            sd?: string,
            square?: string,
          },
          text?: string,
          value?: string,
        }>,
        value?: string,
      }>,
    },
  },
  pagination: {
    page?: number,
    skip?: number,
    take?: number,
    total?: {
      pages?: number,
      rows?: number,
    },
  },
}

GET /redemption-codes/campaigns

Get a list of campaign codes (called promotions on ui)

Guard: admin

Response Body
{
  data: List<{
    code?: string,
  }>,
}
Deleted endpoints
WORK IN PROGRESS