openapi: 3.1.0
info:
  title: OfferCatalog RateTable (2025-10-15)
  description: GET and POST offer searches
  version: '2025-10-15'
  contact:
    name: Offers Team
    email: baco@moneylion.com
    url: >-
      https://engine-by-ml.atlassian.net/wiki/spaces/ENG/pages/12124290/Offers+Team
servers:
  - url: 'https://api.engine.tech'
    description: Prod
  - url: 'https://dev-api.engine.tech'
    description: Dev
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string
  parameters:
    uuid:
      name: uuid
      in: query
      description: A comma separated list of uuids
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          format: uuid
          minimum: 1
  schemas:
    OfferSearch: &ref_0
      type: object
      description: >-
        An `OfferSearch` sourced from generic offers customized to a `Lead`
        input. Formerly Known As - RateTable
      required:
        - uuid
        - leadUuid
        - offers
      properties:
        uuid:
          type: string
          format: uuid
          description: Primary UUID for an `OfferSearch`
        leadUuid:
          type: string
          format: uuid
          description: UUID of the associated `Lead`
        partnerPageUrl:
          type: string
          description: Link to the PartnerPage if one exists
        offers:
          type: array
          items:
            $ref: '#/components/schemas/GenericOffer'
        pendingResponses:
          type: array
          description: >-
            List of demand partners which have been queried, but have not
            responded yet. It is a guarantee that no offers will be added to the
            rate table after this list is empty
          items:
            $ref: '#/components/schemas/basicRateTablePendingResponse'
    ProductType:
      type: string
      title: ProductType
      description: Available product types from the Offer Catalog
      enum:
        - AlternativeInvestments
        - AutoInsurance
        - AutomobileInsurance
        - AutomobileLoan
        - AutomobileRefinance
        - AutoServices
        - BankingAccount
        - BrokerageAccount
        - BudgetingTools
        - BusinessLendingMarketplace
        - BusinessLineOfCredit
        - CancellationServices
        - CashAdvance
        - CashManagementAccount
        - CashRewards
        - CertificateOfDeposit
        - CheckingAccount
        - CommercialAutoLoan
        - CreditBuilderDebitCard
        - CreditBuilderLoan
        - CreditBuilderSecuredCreditCard
        - CreditMonitoring
        - CreditRepair
        - CryptoBrokerage
        - DebtSettlement
        - EarnedWageAccess
        - EducationOffers
        - Freebies
        - GigEconomy
        - HomeEquityLineOfCredit
        - HomeEquityLoan
        - IncomeOpportunities
        - IncomeProtection
        - InstallmentLoanMarketplace
        - MoneyMarketAccount
        - MortgageCashOutRefinance
        - MortgagePurchase
        - MortgageRefinance
        - OverdraftProtection
        - RentersInsurance
        - RentUtilityBillReporting
        - RevenueBasedFinancing
        - RoboInvesting
        - SavingsAccount
        - SecuredCreditCard
        - SecuredPersonalLoan
        - SpecialtyVehicleInsurance
        - StudentLoan
        - StudentLoanRefinance
        - TaxFiling
        - TermLifeInsurance
        - TravelOffers
        - UnsecuredCreditCard
        - UnsecuredLineOfCredit
        - UnsecuredPersonalLoan
        - UtilitiesDiscounts
    ApiVersion:
      type: string
      enum:
        - draft
        - '2026-01-01'
    LeadRequestOfferCatalog: &ref_1
      type: object
      properties:
        productTypes:
          type: array
          description: Product types in which the `Lead` is interested
          items:
            $ref: '#/components/schemas/ProductType'            
        uuid:
          type: string
          format: uuid
          description: Primary UUID for a `Lead`
        sessionUuid:
          type: string
          format: uuid
          description: >-
            UUID used to link leads across verticals, unique per user per supply
            sub-account
        deviceId:
          type: string
          format: uuid
          description: Unique identifier for the lead's device.
        profileUuid:
          type: string
          format: uuid
          description: The UUID of the profile that this lead belongs to.
        loanInformation:
          $ref: '#/components/schemas/loanInformation'
        personalInformation:
          $ref: '#/components/schemas/personalInformationRequest'
        personalReferenceInformation:
          $ref: '#/components/schemas/personalReferenceInformation'
        mortgageInformation:
          $ref: '#/components/schemas/mortgageInformation'
        creditCardInformation:
          $ref: '#/components/schemas/creditCardInformation'
        savingsInformation:
          $ref: '#/components/schemas/savingsInformation'
        creditInformation:
          $ref: '#/components/schemas/creditInformation'
        financialInformation:
          $ref: '#/components/schemas/financialInformationRequest'
        employmentInformation:
          $ref: '#/components/schemas/employmentInformation'
        legalInformation:
          $ref: '#/components/schemas/legalInformation'
        educationInformation:
          $ref: '#/components/schemas/educationInformation'
        coApplicantInformation:
          $ref: '#/components/schemas/coApplicantInformation'
        healthInformation:
          $ref: '#/components/schemas/healthInformation'
        vehicleInformation:
          $ref: '#/components/schemas/vehicleInformation'
        autoInsuranceInformation:
          $ref: '#/components/schemas/autoInsuranceInformation'
        lifeInsuranceInformation:
          $ref: '#/components/schemas/lifeInsuranceInformation'
        refinanceLoans:
          type: array
          items:
            $ref: '#/components/schemas/refinanceLoanInformation'
          description: One or more loans that the lead wishes to refinance or consolidate
        identificationInformation:
          $ref: '#/components/schemas/identificationInformation'
        clientTags:
          $ref: '#/components/schemas/clientTags'
        sessionInformation:
          $ref: '#/components/schemas/sessionInformation'
    AlternativeInvestments:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: AlternativeInvestments
    AutoServices:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: AutoServices
    AutomobileInsurance:
      required:
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      title: AutomobileInsurance
    AutomobileLoan:
      required:
        - amountCentsMax
        - amountCentsMin
        - annualPercentageRateBasisPointsMax
        - annualPercentageRateBasisPointsMin
        - annualPercentageRateType
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - termLengthMonthsMax
        - termLengthMonthsMin
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - prequalified
            - preapproved
          type: string
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        termLengthMonthsMax:
          type: integer
        termLengthMonthsMin:
          type: integer
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
        monthlyPaymentCentsMin:
          type: integer
        annualPercentageRateType:
          enum:
            - fixed
            - variable
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPointsMax:
          type: integer
        annualPercentageRateBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: AutomobileLoan
    AutomobileRefinance:
      required:
        - amountCentsMax
        - amountCentsMin
        - annualPercentageRateBasisPointsMax
        - annualPercentageRateBasisPointsMin
        - annualPercentageRateType
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - termLengthMonthsMax
        - termLengthMonthsMin
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - prequalified
            - preapproved
          type: string
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        termLengthMonthsMax:
          type: integer
        termLengthMonthsMin:
          type: integer
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
        monthlyPaymentCentsMin:
          type: integer
        annualPercentageRateType:
          enum:
            - fixed
            - variable
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPointsMax:
          type: integer
        annualPercentageRateBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: AutomobileRefinance
    BankingAccount:
      required:
        - annualPercentageYieldBasisPoints
        - checkWriting
        - createdAt
        - depositToEarnApyCentsMin
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - outOfNetworkAtmUsageFeeCents
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        description:
          type: string
        productType:
          type: string
          readOnly: true
        checkWriting:
          type: boolean
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        federalInsuranceType:
          enum:
            - fdic
            - ncua
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        depositToEarnApyCentsMin:
          type: integer
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        outOfNetworkAtmUsageFeeCents:
          type: integer
          minItems: 0
        annualPercentageYieldBasisPoints:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: BankingAccount
    BrokerageAccount:
      required:
        - createdAt
        - domesticOnlineStockTradingFeeCents
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - minAmountToOpenCents
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        minAmountToOpenCents:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        domesticOnlineStockTradingFeeCents:
          type: integer
          minimum: 0
      additionalProperties: false
      x-dependentRequired: {}
      title: BrokerageAccount
    BudgetingTools:
      required:
        - annualFeeCents
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - freeTrialDays
        - freeVersion
        - headline
        - monthlyFeeCents
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        freeVersion:
          type: boolean
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        freeTrialDays:
          type: integer
          minimum: 0
        legalLanguage:
          type: string
        annualFeeCents:
          type: integer
          minimum: 0
        monthlyFeeCents:
          type: integer
          minimum: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        monthlyFeeCentsMax:
          type: integer
          minItems: 0
        monthlyFeeCentsMin:
          type: integer
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: BudgetingTools
    BusinessLendingMarketplace:
      required:
        - amountCentsMax
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
          minItems: 0
        amountCentsMin:
          type: integer
          minItems: 0
        minCreditScore:
          type: integer
          minimum: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        minMonthlyRevenueCents:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: BusinessLendingMarketplace
    BusinessLineOfCredit:
      required:
        - amountCentsMax
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
          minItems: 0
        amountCentsMin:
          type: integer
          minItems: 0
        minCreditScore:
          type: integer
          minimum: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        minMonthlyRevenueCents:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: BusinessLineOfCredit
    CancellationServices:
      required:
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyPaymentCentsMax
        - monthlyPaymentCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - supportedPlatforms
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        freeTrialDays:
          type: integer
          minimum: 0
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        supportedPlatforms:
          type: array
          items:
            enum:
              - Web
              - iOS
              - Android
            type: string
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
          minimum: 0
        monthlyPaymentCentsMin:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: CancellationServices
    CashAdvance:
      required:
        - amountCentsMax
        - amountCentsMin
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
          minimum: 0
        amountCentsMin:
          type: integer
          minimum: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        acceptanceRequirements:
          type: string
        fastTransferFeeCentsMax:
          type: integer
          minimum: 0
        fastTransferFeeCentsMin:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        fastTransferFeeBasisPointsMax:
          type: integer
          minimum: 0
        fastTransferFeeBasisPointsMin:
          type: integer
          minimum: 0
      additionalProperties: false
      title: CashAdvance
    CashManagementAccount:
      required:
        - annualPercentageYieldBasisPoints
        - checkWriting
        - createdAt
        - depositToEarnApyCentsMin
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        productType:
          type: string
          readOnly: true
        checkWriting:
          type: boolean
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        federalInsuranceType:
          enum:
            - fdic
            - ncua
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        depositToEarnApyCentsMin:
          type: integer
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageYieldBasisPoints:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: CashManagementAccount
    CashRewards:
      required:
        - categories
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - payoutMethod
        - productDisplayName
        - productType
        - productVersions
        - status
        - supportedPlatforms
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        categories:
          type: array
          items:
            enum:
              - Fashion
              - Travel
              - Entertainment
              - Food
              - Groceries
              - Electronics
              - Hotels
              - Travel
              - Other
            type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        payoutMethod:
          type: array
          items:
            enum:
              - Merchant Gift Cards
              - Cash Gift Cards
              - PayPal
              - American Express Points
              - Bank Deposits
              - Investment Deposits
            type: string
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        supportedPlatforms:
          type: array
          items:
            enum:
              - Web
              - iOS
              - Android
            type: string
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: CashRewards
    CertificateOfDeposit:
      required:
        - annualPercentageYieldBasisPoints
        - checkWriting
        - createdAt
        - depositToEarnApyCentsMin
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - termLengthMonthsMax
        - termLengthMonthsMin
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        description:
          type: string
        productType:
          type: string
          readOnly: true
        checkWriting:
          type: boolean
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        termLengthMonthsMax:
          type: integer
        termLengthMonthsMin:
          type: integer
        financialInstitutionUuid:
          type: string
          format: uuid
        federalInsuranceType:
          enum:
            - fdic
            - ncua
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        depositToEarnApyCentsMin:
          type: integer
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageYieldBasisPoints:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: CertificateOfDeposit
    CheckingAccount:
      required:
        - annualPercentageYieldBasisPoints
        - checkWriting
        - createdAt
        - depositToEarnApyCentsMin
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - outOfNetworkAtmUsageFeeCents
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        description:
          type: string
        productType:
          type: string
          readOnly: true
        checkWriting:
          type: boolean
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        federalInsuranceType:
          enum:
            - fdic
            - ncua
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        depositToEarnApyCentsMin:
          type: integer
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        outOfNetworkAtmUsageFeeCents:
          type: integer
          minItems: 0
        annualPercentageYieldBasisPoints:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: CheckingAccount
    CreditBuilderDebitCard:
      required:
        - createdAt
        - creditBureauReporting
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyPaymentCentsMax
        - monthlyPaymentCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        creditBureauReporting:
          type: array
          items:
            enum:
              - Experian
              - Equifax
              - TransUnion
            type: string
        acceptanceRequirements:
          type: string
        monthlyPaymentCentsMax:
          type: integer
          minimum: 0
        monthlyPaymentCentsMin:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      title: CreditBuilderDebitCard
    CreditBuilderLoan:
      required:
        - createdAt
        - creditBureauReporting
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyPaymentCentsMax
        - monthlyPaymentCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        newOptField7:
          type: string
          minItems: 0
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        creditBureauReporting:
          type: array
          items:
            enum:
              - Experian
              - Equifax
              - TransUnion
            type: string
        acceptanceRequirements:
          type: string
        monthlyPaymentCentsMax:
          type: integer
          minimum: 0
        monthlyPaymentCentsMin:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      title: CreditBuilderLoan
    CreditBuilderSecuredCreditCard:
      required:
        - createdAt
        - creditBureauReporting
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyPaymentCentsMax
        - monthlyPaymentCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        creditBureauReporting:
          type: array
          items:
            enum:
              - Experian
              - Equifax
              - TransUnion
            type: string
        acceptanceRequirements:
          type: string
        monthlyPaymentCentsMax:
          type: integer
          minimum: 0
        monthlyPaymentCentsMin:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        averageCreditScoreIncrease:
          type: integer
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: CreditBuilderSecuredCreditCard
    CreditMonitoring:
      required:
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyPaymentCentsMax
        - monthlyPaymentCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - supportedCreditBureaus
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
          minimum: 0
        monthlyPaymentCentsMin:
          type: integer
          minimum: 0
        supportedCreditBureaus:
          type: array
          items:
            enum:
              - Experian
              - Equifax
              - TransUnion
            type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: CreditMonitoring
    CreditRepair:
      required:
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - setupFeeCentsMax
        - setupFeeCentsMin
        - status
        - unlimitedDisputes
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        setupFeeCentsMax:
          type: integer
          minimum: 0
        setupFeeCentsMin:
          type: integer
          minimum: 0
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        unlimitedDisputes:
          type: boolean
          minItems: 0
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: CreditRepair
    CryptoBrokerage:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      title: CryptoBrokerage
    DebtSettlement:
      required:
        - createdAt
        - debtAmountCentsMin
        - descriptionPoints
        - enrollmentFeeBasisPointsMax
        - enrollmentFeeBasisPointsMin
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        badges:
          type: array
          items:
            type: string
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        stateExclusions:
          type: array
          items:
            type: string
            maxLength: 2
            minLength: 2
        descriptionPoints:
          type: array
          items:
            type: string
        debtAmountCentsMin:
          type: integer
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        enrollmentFeeBasisPointsMax:
          type: integer
        enrollmentFeeBasisPointsMin:
          type: integer
          description: basis points
      additionalProperties: false
      title: DebtSettlement
    EarnedWageAccess:
      required:
        - amountCentsMax
        - amountCentsMin
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
          minimum: 0
        amountCentsMin:
          type: integer
          minimum: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        acceptanceRequirements:
          type: string
        fastTransferFeeCentsMax:
          type: integer
          minimum: 0
        fastTransferFeeCentsMin:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        fastTransferFeeBasisPointsMax:
          type: integer
          minimum: 0
        fastTransferFeeBasisPointsMin:
          type: integer
          minimum: 0
      additionalProperties: false
      title: EarnedWageAccess
    EducationOffers:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: EducationOffers
    Freebies:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: Freebies
    GigEconomy:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: GigEconomy
    HomeEquityLineOfCredit:
      required:
        - amountCentsMax
        - amountCentsMin
        - annualPercentageRateBasisPointsMax
        - annualPercentageRateBasisPointsMin
        - annualPercentageRateType
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - minCreditScore
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - prequalified
            - preapproved
          type: string
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        minCreditScore:
          type: integer
          minItems: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        termLengthMonthsMax:
          type: integer
          minItems: 0
        termLengthMonthsMin:
          type: integer
          minItems: 0
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
        monthlyPaymentCentsMin:
          type: integer
        termLengthMonthsOptions:
          type: array
          items:
            type: number
          minItems: 0
        annualPercentageRateType:
          enum:
            - fixed
            - variable
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPointsMax:
          type: integer
        annualPercentageRateBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: HomeEquityLineOfCredit
    HomeEquityLoan:
      required:
        - amountCentsMax
        - amountCentsMin
        - annualPercentageRateBasisPointsMax
        - annualPercentageRateBasisPointsMin
        - annualPercentageRateType
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - minCreditScore
        - productDisplayName
        - productType
        - productVersions
        - status
        - termLengthMonthsMax
        - termLengthMonthsMin
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - prequalified
            - preapproved
          type: string
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        minCreditScore:
          type: integer
          minItems: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        termLengthMonthsMax:
          type: integer
        termLengthMonthsMin:
          type: integer
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
        monthlyPaymentCentsMin:
          type: integer
        annualPercentageRateType:
          enum:
            - fixed
            - variable
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPointsMax:
          type: integer
        annualPercentageRateBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: HomeEquityLoan
    IncomeOpportunities:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        features:
          type: array
          items:
            enum:
              - Cash Rewards
              - Play to Earn
              - Paid Surveys
            type: string
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: IncomeOpportunities
    IncomeProtection:
      required:
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      title: IncomeProtection
    InstallmentLoanMarketplace:
      required:
        - amountCentsMax
        - amountCentsMin
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        badges:
          type: array
          items:
            type: string
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: InstallmentLoanMarketplace
    MoneyMarketAccount:
      required:
        - annualPercentageYieldBasisPoints
        - checkWriting
        - createdAt
        - depositToEarnApyCentsMin
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        description:
          type: string
        productType:
          type: string
          readOnly: true
        checkWriting:
          type: boolean
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        federalInsuranceType:
          enum:
            - fdic
            - ncua
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        depositToEarnApyCentsMin:
          type: integer
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageYieldBasisPoints:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: MoneyMarketAccount
    MortgagePurchase:
      type: object
      allOf:
        - oneOf:
            - allOf:
                - properties:
                    firmness:
                      not:
                        enum:
                          - none
                - required:
                    - annualPercentageRateBasisPoints
                    - monthlyPaymentCents
                    - lenderFeesAndCredits
                    - loanProgram
                    - loanTerm
                    - rateBasisPoints
                    - nmlsId
            - allOf:
                - not:
                    properties:
                      firmness:
                        not:
                          enum:
                            - none
        - oneOf:
            - allOf:
                - properties:
                    firmness:
                      enum:
                        - none
                - required:
                    - minCreditScore
                    - minDownPaymentBasisPoints
            - allOf:
                - not:
                    properties:
                      firmness:
                        enum:
                          - none
      required:
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - productType
        - productVersions
        - status
        - updatedAt
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        nmlsId:
          type: integer
          description: >-
            The lender's official NMLS ID. Can be sourced online or from the
            lender.
        status:
          enum:
            - active
            - inactive
          type: string
          description: >-
            Should be set to active. Deactivate offers via the subaccount or
            offer rules.
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - rate_quote
          type: string
          default: none
          description: >-
            Refers to the level of qualification for an offer. 'None' refers to
            static (aka Thin Verticals) type offers with no decisioning. 'Rate
            Quote' offers are Mortech-created dynamic offers with a higher level
            of decisioning. Only 'None' should be used for static offers in
            Offer Catalog.
        headline:
          type: string
          description: >-
            In some placements / UX (e.g. Offer Carousel), we display a headline
            above marketing bullets. For example, this could be 'Get cash
            advances up to $250* and build smart spending habits'.
        keywords:
          type: array
          items:
            type: string
        loanTerm:
          enum:
            - ten_year_fixed
            - fifteen_year_fixed
            - twenty_year_fixed
            - thirty_year_fixed
            - forty_year_fixed
            - three_year_intro_30_year_adjustable
            - five_year_intro_30_year_adjustable
            - seven_year_intro_30_year_adjustable
            - ten_year_intro_30_year_adjustable
          type: string
          description: >-
            Represents the length of the mortgage (typically 30 year fixed).
            This should NOT be set for static offers.
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        draftParent:
          type: object
          readOnly: true
          properties:
            uuid:
              type: string
              format: uuid
            version:
              type: integer
        loanProgram:
          enum:
            - conforming
            - nonconforming
            - fha
            - va
            - agency
            - fhaJumbo
            - harp
            - harpJumbo
            - vaJumbo
            - usda
          type: string
          description: >-
            Represents the specific type of mortgage; 'conforming' refers to a
            standard mortgage type. This should NOT be set for static offers.
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
          description: >-
            Optional legal language to be included in the 'More Info' modal of
            an offer. Only set this if requested by the partner.
        minCreditScore:
          type: integer
          description: Displayed only on 'Thin Vertical' type offer walls.
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        rateBasisPoints:
          type: integer
          description: >-
            Similar to annualPercentageRateBasisPoints, but is a rate instead of
            APR so excludes specific fees in the calculation. This should NOT be
            set for static offers.
        descriptionPoints:
          type: array
          items:
            type: string
          description: Marketing bullets displayed in the 'More Info' section of the offer.
        productDisplayName:
          type: string
          readOnly: true
        monthlyPaymentCents:
          type: integer
          description: >-
            Only used for dynamically created offers. Do NOT set for static
            offers.
        financialInstitutionUuid:
          type: string
          format: uuid
        lenderFeesAndCredits:
          type: object
          required:
            - totalFeesCents
            - lenderCreditsCents
          properties:
            totalFeesCents:
              type: integer
              description: >-
                Represents the total amount of lender fees in cents (e.g. 200000
                instead of $2000). This should NOT be set for static offers.
            lenderCreditsCents:
              type: integer
              description: >-
                Represents the total credits from the lender in cents (e.g.
                200000 instead of $2000). This should NOT be set for static
                offers.
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        minDownPaymentBasisPoints:
          type: integer
          description: >-
            Displayed only on 'Thin Vertical' type offer walls. This is in basis
            points, so enter 200 instead of 2%.
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPoints:
          type: integer
          description: >-
            Represents the APR of an offer in basis points (e.g. 200 instead of
            2.00%). It should NOT be set for static offers; it is used for
            dynamic offers only.
      title: MortgagePurchase
    MortgageRefinance:
      type: object
      allOf:
        - oneOf:
            - allOf:
                - properties:
                    firmness:
                      not:
                        enum:
                          - none
                - required:
                    - annualPercentageRateBasisPoints
                    - monthlyPaymentCents
                    - lenderFeesAndCredits
                    - loanProgram
                    - loanTerm
                    - rateBasisPoints
                    - nmlsId
            - allOf:
                - not:
                    properties:
                      firmness:
                        not:
                          enum:
                            - none
        - oneOf:
            - allOf:
                - properties:
                    firmness:
                      enum:
                        - none
                - required:
                    - minCreditScore
                    - minDownPaymentBasisPoints
            - allOf:
                - not:
                    properties:
                      firmness:
                        enum:
                          - none
      required:
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - productType
        - productVersions
        - status
        - updatedAt
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        nmlsId:
          type: integer
          description: >-
            The lender's official NMLS ID. Can be sourced online or from the
            lender.
        status:
          enum:
            - active
            - inactive
          type: string
          description: >-
            Should be set to active. Deactivate offers via the subaccount or
            offer rules.
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - rate_quote
          type: string
          default: none
          description: >-
            Refers to the level of qualification for an offer. 'None' refers to
            static (aka Thin Verticals) type offers with no decisioning. 'Rate
            Quote' offers are Mortech-created dynamic offers with a higher level
            of decisioning. Only 'None' should be used for static offers in
            Offer Catalog.
        headline:
          type: string
          description: >-
            In some placements / UX (e.g. Offer Carousel), we display a headline
            above marketing bullets. For example, this could be 'Get cash
            advances up to $250* and build smart spending habits'.
        keywords:
          type: array
          items:
            type: string
        loanTerm:
          enum:
            - ten_year_fixed
            - fifteen_year_fixed
            - twenty_year_fixed
            - thirty_year_fixed
            - forty_year_fixed
            - three_year_intro_30_year_adjustable
            - five_year_intro_30_year_adjustable
            - seven_year_intro_30_year_adjustable
            - ten_year_intro_30_year_adjustable
          type: string
          description: >-
            Represents the length of the mortgage (typically 30 year fixed).
            This should NOT be set for static offers.
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        draftParent:
          type: object
          readOnly: true
          properties:
            uuid:
              type: string
              format: uuid
            version:
              type: integer
        loanProgram:
          enum:
            - conforming
            - nonconforming
            - fha
            - va
            - agency
            - fhaJumbo
            - harp
            - harpJumbo
            - vaJumbo
            - usda
          type: string
          description: >-
            Represents the specific type of mortgage; 'conforming' refers to a
            standard mortgage type. This should NOT be set for static offers.
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
          description: >-
            Optional legal language to be included in the 'More Info' modal of
            an offer. Only set this if requested by the partner.
        minCreditScore:
          type: integer
          description: Displayed only on 'Thin Vertical' type offer walls.
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        rateBasisPoints:
          type: integer
          description: >-
            Similar to annualPercentageRateBasisPoints, but is a rate instead of
            APR so excludes specific fees in the calculation. This should NOT be
            set for static offers.
        descriptionPoints:
          type: array
          items:
            type: string
          description: Marketing bullets displayed in the 'More Info' section of the offer.
        productDisplayName:
          type: string
          readOnly: true
        monthlyPaymentCents:
          type: integer
          description: >-
            Only used for dynamically created offers. Do NOT set for static
            offers.
        financialInstitutionUuid:
          type: string
          format: uuid
        lenderFeesAndCredits:
          type: object
          required:
            - totalFeesCents
            - lenderCreditsCents
          properties:
            totalFeesCents:
              type: integer
              description: >-
                Represents the total amount of lender fees in cents (e.g. 200000
                instead of $2000). This should NOT be set for static offers.
            lenderCreditsCents:
              type: integer
              description: >-
                Represents the total credits from the lender in cents (e.g.
                200000 instead of $2000). This should NOT be set for static
                offers.
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        minDownPaymentBasisPoints:
          type: integer
          description: >-
            Displayed only on 'Thin Vertical' type offer walls. This is in basis
            points, so enter 200 instead of 2%.
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPoints:
          type: integer
          description: >-
            Represents the APR of an offer in basis points (e.g. 200 instead of
            2.00%). It should NOT be set for static offers; it is used for
            dynamic offers only.
      title: MortgageRefinance
    OverdraftProtection:
      required:
        - amountCentsMax
        - amountCentsMin
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
          minimum: 0
        amountCentsMin:
          type: integer
          minimum: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        acceptanceRequirements:
          type: string
        fastTransferFeeCentsMax:
          type: integer
          minimum: 0
        fastTransferFeeCentsMin:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        fastTransferFeeBasisPointsMax:
          type: integer
          minimum: 0
        fastTransferFeeBasisPointsMin:
          type: integer
          minimum: 0
      additionalProperties: false
      title: OverdraftProtection
    RentUtilityBillReporting:
      required:
        - createdAt
        - creditBureauReporting
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyPaymentCentsMax
        - monthlyPaymentCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        creditBureauReporting:
          type: array
          items:
            enum:
              - Experian
              - Equifax
              - TransUnion
            type: string
        acceptanceRequirements:
          type: string
        monthlyPaymentCentsMax:
          type: integer
          minimum: 0
        monthlyPaymentCentsMin:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      title: RentUtilityBillReporting
    RentersInsurance:
      required:
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: RentersInsurance
    RevenueBasedFinancing:
      required:
        - amountCentsMax
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          default: ''
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
          minItems: 0
        amountCentsMin:
          type: integer
          minItems: 0
        minCreditScore:
          type: integer
          minimum: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        minMonthlyRevenueCents:
          type: integer
          minimum: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: RevenueBasedFinancing
    RoboInvesting:
      required:
        - annualAdvisoryFeeBasisPointsMax
        - annualAdvisoryFeeBasisPointsMin
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - minAmountToOpenCents
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        monthlyFeeCentsMax:
          type: integer
        monthlyFeeCentsMin:
          type: integer
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        minAmountToOpenCents:
          type: integer
          minItems: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualAdvisoryFeeBasisPointsMax:
          type: integer
        annualAdvisoryFeeBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: RoboInvesting
    SavingsAccount:
      required:
        - annualPercentageYieldBasisPoints
        - checkWriting
        - createdAt
        - depositToEarnApyCentsMin
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - monthlyFeeCentsMax
        - monthlyFeeCentsMin
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        name:
          type: string
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        description:
          type: string
        productType:
          type: string
          readOnly: true
        checkWriting:
          type: boolean
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        monthlyFeeCentsMax:
          type: integer
          minimum: 0
        monthlyFeeCentsMin:
          type: integer
          minimum: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        federalInsuranceType:
          enum:
            - fdic
            - ncua
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        depositToEarnApyCentsMin:
          type: integer
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageYieldBasisPoints:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: SavingsAccount
    SecuredCreditCard:
      required:
        - annualPercentageRateType
        - cardBenefits
        - cardImageUrl
        - cardName
        - cardNetwork
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - minDepositCents
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        badges:
          type: array
          items:
            type: string
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        cardName:
          type: string
          description: >-
            Name of the card that will be displayed on the offer card (Ex: Amex
            Platinum Credit Card)
        firmness:
          enum:
            - none
            - preapproved
            - prequalified
            - preselected
          type: string
          minItems: 0
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        cardNetwork:
          enum:
            - discover
            - visa
            - mastercard
            - american_express
          type: string
          minItems: 0
        draftParent:
          type: object
          readOnly: true
          required:
            - uuid
            - version
          properties:
            uuid:
              type: string
              format: uuid
            version:
              type: integer
        productType:
          type: string
          readOnly: true
        cardBenefits:
          type: array
          items:
            enum:
              - balance_transfer
              - cash_back
              - earning_rewards
              - improve_credit
              - low_interest
              - new_to_credit
              - student
              - travel_incentives
            type: string
          description: You can select multiple options for a credit card
        cardImageUrl:
          type: string
          format: uri
          description: This is the URL that host the card image for the offer card
        isMonetized:
          type: boolean
        rewardsTitle:
          type: string
          minItems: 0
        legalLanguage:
          type: string
        ratesTermsUrl:
          type: string
          format: uri
          description: Optional URL that will link to partner provided Rates and Terms
        introOfferUnit:
          enum:
            - miles
            - points
            - statement_credit_cents
          type: string
          minItems: 0
        introOfferTitle:
          type: string
          minItems: 0
        minDepositCents:
          type: integer
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        introOfferAmount:
          type: integer
          minItems: 0
        annualFeeCentsMax:
          type: integer
          minItems: 0
        annualFeeCentsMin:
          type: integer
          minItems: 0
        descriptionPoints:
          type: array
          items:
            type: string
        rewardsDisclaimer:
          type: string
          minItems: 0
        annualFeeIntroTerm:
          type: integer
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        rewardsDescription:
          type: string
          minItems: 0
        annualFeeDisclaimer:
          type: string
          default: tooltip
          minItems: 0
        annualFeeIntroCents:
          type: integer
          minItems: 0
        annualFeeDescription:
          type: string
          minItems: 0
        financialInstitutionUuid:
          type: string
          format: uuid
        introOfferDisclaimer:
          type: string
          minItems: 0
          description: Goes in tooltip
        minDepositDisclaimer:
          type: string
        introOfferDescription:
          type: string
          minItems: 0
        annualPercentageRateType:
          enum:
            - variable
            - fixed
            - regular
          type: string
          minItems: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        previewDescriptionPoints:
          type: array
          items:
            type: object
            required:
              - description
            properties:
              disclaimer:
                type: string
              description:
                type: string
          minItems: 0
        recommendedCreditRatings:
          type: array
          items:
            enum:
              - excellent
              - good
              - fair
              - poor
              - limited
              - unknown
            type: string
        additionalDescriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        balanceTransferFeeDisclaimer:
          type: string
          minItems: 0
        balanceTransferFeeBasisPoints:
          type: integer
          minItems: 0
        recommendedCreditRatingsDisclaimer:
          type: string
          minItems: 0
          description: Goes in the tooltip
        regularIntroAprCombinedDescription:
          type: string
          minItems: 0
        recommendedCreditRatingsDescription:
          type: string
          minItems: 0
        purchaseIntroAnnualPercentageRateTerm:
          type: integer
          minimum: 0
        purchaseAnnualPercentageRateDisclaimer:
          type: string
          description: This will go in tooltip
        purchaseAnnualPercentageRateDescription:
          type: string
        cashAdvanceIntroAnnualPercentageRateTerm:
          type: integer
          minimum: 0
        purchaseIntroAnnualPercentageRateTermUnit:
          enum:
            - day
            - month
            - year
            - open
          type: string
        cashAdvanceAnnualPercentageRateDescription:
          type: string
        purchaseAnnualPercentageRateBasisPointsMax:
          type: integer
          minimum: 0
        purchaseAnnualPercentageRateBasisPointsMin:
          type: integer
          minimum: 0
        balanceTransferIntroAnnualPercentageRateTerm:
          type: integer
          minItems: 0
        cashAdvanceIntroAnnualPercentageRateTermUnit:
          enum:
            - day
            - month
            - year
            - open
          type: string
        purchaseIntroAnnualPercentageRateDescription:
          type: string
        cashAdvanceAnnualPercentageRateBasisPointsMax:
          type: integer
          minimum: 0
        cashAdvanceAnnualPercentageRateBasisPointsMin:
          type: integer
          minimum: 0
        balanceTransferAnnualPercentageRateDescription:
          type: string
          minItems: 0
        cashAdvanceIntroAnnualPercentageRateDescription:
          type: string
        purchaseIntroAnnualPercentageRateBasisPointsMax:
          type: integer
          minimum: 0
        purchaseIntroAnnualPercentageRateBasisPointsMin:
          type: integer
          minimum: 0
        balanceTransferIntroAnnualPercentageRateTermUnit:
          enum:
            - day
            - month
            - year
            - open
          type: string
          minItems: 0
        balanceTransferAnnualPercentageRateBasisPointsMax:
          type: integer
          minItems: 0
        balanceTransferAnnualPercentageRateBasisPointsMin:
          type: integer
          minItems: 0
        cashAdvanceIntroAnnualPercentageRateBasisPointsMax:
          type: integer
          minimum: 0
        cashAdvanceIntroAnnualPercentageRateBasisPointsMin:
          type: integer
          minimum: 0
        balanceTransferIntroAnnualPercentageRateDescription:
          type: string
          minItems: 0
        balanceTransferIntroAnnualPercentageRateBasisPointsMax:
          type: integer
          minItems: 0
        balanceTransferIntroAnnualPercentageRateBasisPointsMin:
          type: integer
          minItems: 0
      additionalProperties: false
      x-dependentRequired: {}
      title: SecuredCreditCard
    SecuredPersonalLoan:
      required:
        - amountCentsMax
        - amountCentsMin
        - annualPercentageRateBasisPointsMax
        - annualPercentageRateBasisPointsMin
        - annualPercentageRateType
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - termLengthMonthsMax
        - termLengthMonthsMin
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - prequalified
            - preapproved
          type: string
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        termLengthMonthsMax:
          type: integer
        termLengthMonthsMin:
          type: integer
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
        monthlyPaymentCentsMin:
          type: integer
        annualPercentageRateType:
          enum:
            - fixed
            - variable
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPointsMax:
          type: integer
        annualPercentageRateBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: SecuredPersonalLoan
    SpecialtyVehicleInsurance:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: SpecialtyVehicleInsurance
    StudentLoan:
      required:
        - amountCentsMax
        - amountCentsMin
        - annualPercentageRateBasisPointsMax
        - annualPercentageRateBasisPointsMin
        - annualPercentageRateType
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - termLengthMonthsMax
        - termLengthMonthsMin
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - prequalified
            - preapproved
          type: string
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        termLengthMonthsMax:
          type: integer
        termLengthMonthsMin:
          type: integer
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
        monthlyPaymentCentsMin:
          type: integer
        annualPercentageRateType:
          enum:
            - fixed
            - variable
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPointsMax:
          type: integer
        annualPercentageRateBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: StudentLoan
    StudentLoanRefinance:
      required:
        - amountCentsMax
        - amountCentsMin
        - annualPercentageRateBasisPointsMax
        - annualPercentageRateBasisPointsMin
        - annualPercentageRateType
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - termLengthMonthsMax
        - termLengthMonthsMin
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - prequalified
            - preapproved
          type: string
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        termLengthMonthsMax:
          type: integer
        termLengthMonthsMin:
          type: integer
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
        monthlyPaymentCentsMin:
          type: integer
        annualPercentageRateType:
          enum:
            - fixed
            - variable
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPointsMax:
          type: integer
        annualPercentageRateBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: StudentLoanRefinance
    TaxFiling:
      required:
        - createdAt
        - federalFilingFeeCentsMax
        - federalFilingFeeCentsMin
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - stateFilingFeeCentsMax
        - stateFilingFeeCentsMin
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        freeTier:
          type: array
          items:
            enum:
              - IRS Free File
              - Free 1040
            type: string
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        stateFilingFeeCentsMax:
          type: integer
          minItems: 0
        stateFilingFeeCentsMin:
          type: integer
          minItems: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        federalFilingFeeCentsMax:
          type: integer
          minItems: 0
        federalFilingFeeCentsMin:
          type: integer
          minItems: 0
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: TaxFiling
    TermLifeInsurance:
      required:
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      title: TermLifeInsurance
    TravelOffers:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: TravelOffers
    UnsecuredCreditCard:
      required:
        - annualPercentageRateType
        - cardBenefits
        - cardImageUrl
        - cardName
        - cardNetwork
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        badges:
          type: array
          items:
            type: string
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        cardName:
          type: string
          description: >-
            Name of the card that will be displayed on the offer card (Ex: Amex
            Platinum Credit Card)
        firmness:
          enum:
            - none
            - preapproved
            - prequalified
            - preselected
          type: string
          minItems: 0
        headline:
          type: string
          minItems: 0
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        cardNetwork:
          enum:
            - discover
            - visa
            - mastercard
            - american_express
          type: string
          minItems: 0
        draftParent:
          type: object
          readOnly: true
          required:
            - uuid
            - version
          properties:
            uuid:
              type: string
              format: uuid
            version:
              type: integer
        productType:
          type: string
          readOnly: true
        cardBenefits:
          type: array
          items:
            enum:
              - balance_transfer
              - cash_back
              - earning_rewards
              - improve_credit
              - low_interest
              - new_to_credit
              - student
              - travel_incentives
            type: string
          description: You can select multiple options for a credit card
        cardImageUrl:
          type: string
          format: uri
          description: This is the URL that host the card image for the offer card
        isMonetized:
          type: boolean
        rewardsTitle:
          type: string
          minItems: 0
        legalLanguage:
          type: string
        ratesTermsUrl:
          type: string
          format: uri
          description: Optional URL that will link to partner provided Rates and Terms
        introOfferUnit:
          enum:
            - miles
            - points
            - statement_credit_cents
          type: string
          minItems: 0
        introOfferTitle:
          type: string
          minItems: 0
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        introOfferAmount:
          type: integer
          minItems: 0
        annualFeeCentsMax:
          type: integer
          minItems: 0
        annualFeeCentsMin:
          type: integer
          minItems: 0
        descriptionPoints:
          type: array
          items:
            type: string
        rewardsDisclaimer:
          type: string
          minItems: 0
        annualFeeIntroTerm:
          type: integer
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        rewardsDescription:
          type: string
          minItems: 0
        annualFeeDisclaimer:
          type: string
          default: toolltip
          minItems: 0
        annualFeeIntroCents:
          type: integer
          minItems: 0
        annualFeeDescription:
          type: string
          minItems: 0
        financialInstitutionUuid:
          type: string
          format: uuid
        introOfferDisclaimer:
          type: string
          minItems: 0
          description: Goes in tooltip
        introOfferDescription:
          type: string
          minItems: 0
        annualPercentageRateType:
          enum:
            - variable
            - fixed
            - regular
          type: string
          minItems: 0
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        previewDescriptionPoints:
          type: array
          items:
            type: object
            required:
              - description
            properties:
              disclaimer:
                type: string
              description:
                type: string
          minItems: 0
        recommendedCreditRatings:
          type: array
          items:
            enum:
              - excellent
              - good
              - fair
              - poor
              - limited
              - unknown
            type: string
        additionalDescriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        balanceTransferFeeDisclaimer:
          type: string
          minItems: 0
        balanceTransferFeeBasisPoints:
          type: integer
          minItems: 0
        recommendedCreditRatingsDisclaimer:
          type: string
          minItems: 0
          description: Goes in the tooltip
        regularIntroAprCombinedDescription:
          type: string
          minItems: 0
        recommendedCreditRatingsDescription:
          type: string
          minItems: 0
        purchaseIntroAnnualPercentageRateTerm:
          type: integer
          minimum: 0
        purchaseAnnualPercentageRateDisclaimer:
          type: string
          description: This will go in tooltip
        purchaseAnnualPercentageRateDescription:
          type: string
        cashAdvanceIntroAnnualPercentageRateTerm:
          type: integer
          minimum: 0
        purchaseIntroAnnualPercentageRateTermUnit:
          enum:
            - day
            - month
            - year
            - open
          type: string
        cashAdvanceAnnualPercentageRateDescription:
          type: string
        purchaseAnnualPercentageRateBasisPointsMax:
          type: integer
          minimum: 0
        purchaseAnnualPercentageRateBasisPointsMin:
          type: integer
          minimum: 0
        balanceTransferIntroAnnualPercentageRateTerm:
          type: integer
          minItems: 0
        cashAdvanceIntroAnnualPercentageRateTermUnit:
          enum:
            - day
            - month
            - year
            - open
          type: string
        purchaseIntroAnnualPercentageRateDescription:
          type: string
        cashAdvanceAnnualPercentageRateBasisPointsMax:
          type: integer
          minimum: 0
        cashAdvanceAnnualPercentageRateBasisPointsMin:
          type: integer
          minimum: 0
        balanceTransferAnnualPercentageRateDescription:
          type: string
          minItems: 0
        cashAdvanceIntroAnnualPercentageRateDescription:
          type: string
        purchaseIntroAnnualPercentageRateBasisPointsMax:
          type: integer
          minimum: 0
        purchaseIntroAnnualPercentageRateBasisPointsMin:
          type: integer
          minimum: 0
        balanceTransferIntroAnnualPercentageRateTermUnit:
          enum:
            - day
            - month
            - year
            - open
          type: string
          minItems: 0
        balanceTransferAnnualPercentageRateBasisPointsMax:
          type: integer
          minItems: 0
        balanceTransferAnnualPercentageRateBasisPointsMin:
          type: integer
          minItems: 0
        cashAdvanceIntroAnnualPercentageRateBasisPointsMax:
          type: integer
          minimum: 0
        cashAdvanceIntroAnnualPercentageRateBasisPointsMin:
          type: integer
          minimum: 0
        balanceTransferIntroAnnualPercentageRateDescription:
          type: string
          minItems: 0
        balanceTransferIntroAnnualPercentageRateBasisPointsMax:
          type: integer
          minItems: 0
        balanceTransferIntroAnnualPercentageRateBasisPointsMin:
          type: integer
          minItems: 0
      additionalProperties: false
      x-dependentRequired: {}
      title: UnsecuredCreditCard
    UnsecuredLineOfCredit:
      required:
        - amountCentsMax
        - amountCentsMin
        - annualPercentageRateBasisPointsMax
        - annualPercentageRateBasisPointsMin
        - annualPercentageRateType
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - prequalified
            - preapproved
          type: string
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
        monthlyPaymentCentsMin:
          type: integer
        annualPercentageRateType:
          enum:
            - fixed
            - variable
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPointsMax:
          type: integer
        annualPercentageRateBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: UnsecuredLineOfCredit
    UnsecuredPersonalLoan:
      required:
        - amountCentsMax
        - amountCentsMin
        - annualPercentageRateBasisPointsMax
        - annualPercentageRateBasisPointsMin
        - annualPercentageRateType
        - createdAt
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - firmness
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - termLengthMonthsMax
        - termLengthMonthsMin
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        firmness:
          enum:
            - none
            - prequalified
            - preapproved
          type: string
        headline:
          type: string
          format: string
          minItems: 0
          description: Headline
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        disclaimer:
          type: string
        description:
          type: string
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        amountCentsMax:
          type: integer
        amountCentsMin:
          type: integer
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
          minItems: 0
        productDisplayName:
          type: string
          readOnly: true
        termLengthMonthsMax:
          type: integer
        termLengthMonthsMin:
          type: integer
        financialInstitutionUuid:
          type: string
          format: uuid
        monthlyPaymentCentsMax:
          type: integer
        monthlyPaymentCentsMin:
          type: integer
        annualPercentageRateType:
          enum:
            - fixed
            - variable
          type: string
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
        annualPercentageRateBasisPointsMax:
          type: integer
        annualPercentageRateBasisPointsMin:
          type: integer
      additionalProperties: false
      x-dependentRequired: {}
      title: UnsecuredPersonalLoan
    UtilitiesDiscounts:
      required:
        - createdAt
        - descriptionPoints
        - financialInstitutionDisplayName
        - financialInstitutionImageUrl
        - financialInstitutionUuid
        - headline
        - productDisplayName
        - productType
        - productVersions
        - status
        - updatedAt
        - url
        - uuid
        - version
      properties:
        recommendationScore:
          type: number
        url:
          type: string
          format: uri
          readOnly: true
        tags:
          type: object
        uuid:
          type: string
          format: uuid
          readOnly: true
        status:
          enum:
            - active
            - inactive
          type: string
        version:
          type: integer
          readOnly: true
        headline:
          type: string
        keywords:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        productType:
          type: string
          readOnly: true
        isMonetized:
          type: boolean
        legalLanguage:
          type: string
        productVersions:
          type: array
          items:
            type: number
            readOnly: true
          readOnly: true
        descriptionPoints:
          type: array
          items:
            type: string
        productDisplayName:
          type: string
          readOnly: true
        financialInstitutionUuid:
          type: string
          format: uuid
        financialInstitutionImageUrl:
          type: string
          format: uri
          readOnly: true
        financialInstitutionDisplayName:
          type: string
          readOnly: true
      additionalProperties: false
      x-dependentRequired: {}
      title: UtilitiesDiscounts
    GenericOffer:
      oneOf:
        - $ref: '#/components/schemas/AlternativeInvestments'
        - $ref: '#/components/schemas/AutoServices'
        - $ref: '#/components/schemas/AutomobileInsurance'
        - $ref: '#/components/schemas/AutomobileLoan'
        - $ref: '#/components/schemas/AutomobileRefinance'
        - $ref: '#/components/schemas/BankingAccount'
        - $ref: '#/components/schemas/BrokerageAccount'
        - $ref: '#/components/schemas/BudgetingTools'
        - $ref: '#/components/schemas/BusinessLendingMarketplace'
        - $ref: '#/components/schemas/BusinessLineOfCredit'
        - $ref: '#/components/schemas/CancellationServices'
        - $ref: '#/components/schemas/CashAdvance'
        - $ref: '#/components/schemas/CashManagementAccount'
        - $ref: '#/components/schemas/CashRewards'
        - $ref: '#/components/schemas/CertificateOfDeposit'
        - $ref: '#/components/schemas/CheckingAccount'
        - $ref: '#/components/schemas/CreditBuilderDebitCard'
        - $ref: '#/components/schemas/CreditBuilderLoan'
        - $ref: '#/components/schemas/CreditBuilderSecuredCreditCard'
        - $ref: '#/components/schemas/CreditMonitoring'
        - $ref: '#/components/schemas/CreditRepair'
        - $ref: '#/components/schemas/CryptoBrokerage'
        - $ref: '#/components/schemas/DebtSettlement'
        - $ref: '#/components/schemas/EarnedWageAccess'
        - $ref: '#/components/schemas/EducationOffers'
        - $ref: '#/components/schemas/Freebies'
        - $ref: '#/components/schemas/GigEconomy'
        - $ref: '#/components/schemas/HomeEquityLineOfCredit'
        - $ref: '#/components/schemas/HomeEquityLoan'
        - $ref: '#/components/schemas/IncomeOpportunities'
        - $ref: '#/components/schemas/IncomeProtection'
        - $ref: '#/components/schemas/InstallmentLoanMarketplace'
        - $ref: '#/components/schemas/MoneyMarketAccount'
        - $ref: '#/components/schemas/MortgagePurchase'
        - $ref: '#/components/schemas/MortgageRefinance'
        - $ref: '#/components/schemas/OverdraftProtection'
        - $ref: '#/components/schemas/RentUtilityBillReporting'
        - $ref: '#/components/schemas/RentersInsurance'
        - $ref: '#/components/schemas/RevenueBasedFinancing'
        - $ref: '#/components/schemas/RoboInvesting'
        - $ref: '#/components/schemas/SavingsAccount'
        - $ref: '#/components/schemas/SecuredCreditCard'
        - $ref: '#/components/schemas/SecuredPersonalLoan'
        - $ref: '#/components/schemas/SpecialtyVehicleInsurance'
        - $ref: '#/components/schemas/StudentLoan'
        - $ref: '#/components/schemas/StudentLoanRefinance'
        - $ref: '#/components/schemas/TaxFiling'
        - $ref: '#/components/schemas/TermLifeInsurance'
        - $ref: '#/components/schemas/TravelOffers'
        - $ref: '#/components/schemas/UnsecuredCreditCard'
        - $ref: '#/components/schemas/UnsecuredLineOfCredit'
        - $ref: '#/components/schemas/UnsecuredPersonalLoan'
        - $ref: '#/components/schemas/UtilitiesDiscounts'
      discriminator:
        propertyName: productType
    demandPartner:
      type: object
      required:
        - uuid
        - name
        - description
        - disclaimer
        - supportsPreSelect
        - shouldDisplayPreSelect
        - supportsPersonalizedOffers
        - imageUrl
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
        description:
          type: string
        disclaimer:
          type: string
        supportsPreSelect:
          type: boolean
        shouldDisplayPreSelect:
          type: boolean
        supportsPersonalizedOffers:
          type: boolean
          description: >-
            Whether the partner supports returning pre-qualified or pre-approved
            offers
        imageUrl:
          type: string
          format: url
        subtextOverride:
          type: string
        brandName:
          type: string
          description: >-
            The external-facing name that will appear on offer cards, marketing
            materials, and other end user touchpoints
    basicRateTablePendingResponse:
      type: object
      required:
        - partner
        - offerCatalogProductTypes
      properties:
        partner:
          $ref: '#/components/schemas/demandPartner'
        offerCatalogProductTypes:
          type: array
          items:
            type: string
          description: >-
            Limits results to leads that have the specified productTypes from
            the Product catalog
    apiErrorDetails:
      type: object
      additionalProperties:
        type: string
    apiError:
      type: object
      properties:
        attribute:
          type: string
          description: >
            The attribute that this error applies to. Omitted if this error is
            not in the context of a resource, or cannot be isolated to a single
            attribute.
        type:
          type: string
          description: >
            A classification for this error, which can be used to render the
            appropriate custom error template, or take other programmatic
            actions.
        details:
          description: >
            Variables associated with this error that can be injected into a
            custom error template, or used to parameterize any other programatic
            actions.
          allOf:
            - $ref: '#/components/schemas/apiErrorDetails'
        message:
          type: string
          description: |
            A human-readable, English description of the error.
    purpose:
      type: string
      enum:
        - auto
        - auto_purchase
        - auto_refinance
        - baby
        - boat
        - business
        - car_repair
        - cosmetic
        - credit_card_refi
        - debt_consolidation
        - emergency
        - engagement
        - green
        - home_improvement
        - home_purchase
        - home_refi
        - household_expenses
        - large_purchases
        - life_event
        - medical_dental
        - motorcycle
        - moving_relocation
        - other
        - rv
        - special_occasion
        - student_loan
        - student_loan_refi
        - taxes
        - unknown
        - vacation
        - wedding
    loanInformation:
      type: object
      properties:
        purpose:
          $ref: '#/components/schemas/purpose'
        loanAmount:
          type: integer
          format: int32
    email:
      type: string
      format: email
      pattern: >-
        ^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
    state-lead:
      type: string
      format: state
      title: state
      description: >-
        A two character upper case state, Puerto Rico, or District of Columbia
        code
      enum:
        - AK
        - AL
        - AR
        - AZ
        - CA
        - CO
        - CT
        - DC
        - DE
        - FL
        - GA
        - HI
        - IA
        - ID
        - IL
        - IN
        - KS
        - KY
        - LA
        - MA
        - MD
        - ME
        - MI
        - MN
        - MO
        - MS
        - MT
        - NC
        - ND
        - NE
        - NH
        - NJ
        - NM
        - NV
        - NY
        - OH
        - OK
        - OR
        - PA
        - PR
        - RI
        - SC
        - SD
        - TN
        - TX
        - UT
        - VA
        - VI
        - VT
        - WA
        - WI
        - WV
        - WY
    bestTimeToCall:
      type: string
      enum:
        - morning
        - afternoon
        - evening
        - night
    educationLevel:
      type: string
      enum:
        - high_school
        - associate
        - bachelors
        - masters
        - doctorate
        - other_grad_degree
        - certificate
        - did_not_graduate
        - still_enrolled
        - other
    ssn:
      type: string
      pattern: >-
        ^(?!\b(\d)\1+-(\d)\1+-(\d)\1+\b)(?!123-45-6789|219-09-9999|078-05-1120)(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}$
    citizenshipStatus:
      type: string
      description: Citizenship status
      enum:
        - citizen
        - permanent_resident
        - other
    personalInformationRequest:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        aliasFirstName:
          type: string
          description: The first name the lead uses as an alias
        aliasLastName:
          type: string
          description: The last name the lead uses as an alias
        email:
          $ref: '#/components/schemas/email'
        city:
          type: string
        state:
          $ref: '#/components/schemas/state-lead'
        workPhone:
          type: string
          pattern: '^1?\d{10}$'
        primaryPhone:
          type: string
          pattern: '^1?\d{10}$'
        bestTimeToCall:
          $ref: '#/components/schemas/bestTimeToCall'
        address1:
          type: string
          description: Street address (primary address line)
        address2:
          type: string
          description: Secondary address line
        addressMoveInDate:
          type: string
          format: date
          description: The date the lead moved into their current address
        zipcode:
          type: string
          pattern: '^\d{5}([-\s]\d{4})?$'
        monthsAtAddress:
          type: integer
          format: int32
          description: >-
            Number of months the provided address has been the lead's primary
            residence
        driversLicenseNumber:
          type: string
        driversLicenseState:
          type: string
          description: State in which the driver's license was issued
        ipAddress:
          type: string
          format: ip
          description: IP address
        activeMilitary:
          type: boolean
          description: Whether the lead is currently in the military (not a veteran)
        militaryVeteran:
          type: boolean
          description: >-
            Whether the lead is a veteran (should not be used if the lead is
            active in the military)
        dateOfBirth:
          type: string
          format: date
        educationLevel:
          deprecated: true
          allOf:
            - $ref: '#/components/schemas/educationLevel'
        ssn:
          $ref: '#/components/schemas/ssn'
        citizenshipStatus:
          $ref: '#/components/schemas/citizenshipStatus'
    personalReferenceRelationType:
      type: string
      enum:
        - parent
        - employer
        - spouse
        - guardian
        - sibling
        - relative
        - friend
        - other
    personalReferenceInformation:
      type: object
      properties:
        firstName:
          type: string
          description: The first name of the personal reference supplied by the lead
        lastName:
          type: string
          description: The last name of the personal reference supplied by the lead
        primaryPhone:
          type: string
          pattern: '^1?\d{10}$'
          description: The phone number of the personal reference supplied by the lead
        relationType:
          $ref: '#/components/schemas/personalReferenceRelationType'
          description: The relation of the personal reference supplied by the lead
    propertyType:
      type: string
      enum:
        - rent
        - condo
        - multi_unit
        - single_family
        - townhouse
    propertyStatus:
      type: string
      enum:
        - own_outright
        - own_with_mortgage
        - rent
    mortgageType:
      type: string
      enum:
        - purchase
        - refinance
    occupancyType:
      type: string
      enum:
        - primary
        - secondary
        - investment
    refinanceType:
      type: string
      enum:
        - cash_out
        - rate_term
    propertySearchStatus:
      type: string
      enum:
        - found
        - not_found
    purchaseStatus:
      type: string
      enum:
        - no_offer
        - offer_accepted
        - offer_pending
        - under_contract
    mortgageLoanType:
      type: string
      enum:
        - ten_year_fixed
        - fifteen_year_fixed
        - twenty_year_fixed
        - thirty_year_fixed
        - forty_year_fixed
        - three_year_intro_30_year_adjustable
        - five_year_intro_30_year_adjustable
        - seven_year_intro_30_year_adjustable
        - ten_year_intro_30_year_adjustable
    mortechCreditRating:
      type: string
      enum:
        - Excellent (780-850)
        - Excellent (760-779)
        - Excellent (740-759)
        - Good (720-739)
        - Good (700-719)
        - Fair (680-699)
        - Fair (660-679)
        - Poor (640-659)
        - Poor (620-639)
        - Poor (580-619)
        - Poor (Under 580)
    mortgageInformation:
      type: object
      properties:
        propertyType:
          $ref: '#/components/schemas/propertyType'
        propertyValue:
          type: integer
          format: int32
        mortgageBalance:
          type: integer
          format: int32
        lenderName:
          type: string
        hasFHALoan:
          type: boolean
        currentWithLoan:
          type: boolean
        propertyStatus:
          $ref: '#/components/schemas/propertyStatus'
        mortgageType:
          $ref: '#/components/schemas/mortgageType'
        mortgageAmount:
          type: integer
          format: int32
          description: Amount the lead will borrow
        downPaymentAmount:
          type: integer
          format: int32
        propertyState:
          type: string
        propertyCounty:
          type: string
        propertyAddress1:
          type: string
          description: Street address (primary address line)
        propertyAddress2:
          type: string
          description: Secondary address line
        propertyZipcode:
          type: string
        propertyCity:
          type: string
        refinanceAmount:
          type: integer
          format: int32
          description: Amount the lead will borrow for refinancing an existing mortgage
        cashOutAmount:
          type: integer
          format: int32
          description: >-
            Additional amount the lead will borrow against existing home equity
            in the case of refinance
        occupancyType:
          $ref: '#/components/schemas/occupancyType'
        refinanceType:
          $ref: '#/components/schemas/refinanceType'
        propertySearchStatus:
          $ref: '#/components/schemas/propertySearchStatus'
        numUnits:
          type: integer
          format: int32
          description: The number of legal units on the property
        closingDate:
          type: string
          format: date
        purchaseStatus:
          $ref: '#/components/schemas/purchaseStatus'
        purchaseDate:
          type: string
          format: date
        monthlyHoaFee:
          type: number
          format: float
          description: The amount of the HOA fee for the lead
        mortgageCompany:
          type: string
          description: The name of the company holding the lead's mortgage
        mortgageEscrowAmount:
          type: number
          format: float
          description: The amount of escrow the lead pays
        includeFhaLoans:
          type: boolean
          description: >
            If true, the lead will receive FHA loan offers; if false, they will
            not.
        includeVaLoans:
          type: boolean
          description: >
            If true, the lead will receive VA loan offers; if false, they will
            not.
        requestedLoanTerms:
          type: array
          items:
            $ref: '#/components/schemas/mortgageLoanType'
        mortechCreditRating:
          $ref: '#/components/schemas/mortechCreditRating'
    cardPurposes:
      type: string
      description: Purposes or categories related to a credit card
      enum:
        - balance_transfer
        - cash_back
        - earning_rewards
        - improve_credit
        - low_interest
        - new_to_credit
        - student
        - travel_incentives
    creditCardInformation:
      type: object
      properties:
        allowAnnualFee:
          type: boolean
        cardPurposes:
          type: array
          items:
            $ref: '#/components/schemas/cardPurposes'
          description: A list of card purposes in which the lead is interested
    savingsInformation:
      type: object
      properties:
        minDepositAmount:
          type: integer
          format: int64
          description: >-
            The minimum amount a `Lead` is interested in depositing when opening
            a new savings account
        maxDepositAmount:
          type: integer
          format: int64
          description: >-
            The maximum amount a `Lead` is interested in depositing when opening
            a new savings account
    providedCreditRating:
      type: string
      enum:
        - excellent
        - good
        - fair
        - poor
        - limited
        - unknown
    creditInformation:
      type: object
      description: Credit history information relating to a `Lead`
      properties:
        providedCreditRating:
          $ref: '#/components/schemas/providedCreditRating'
        providedNumericCreditScore:
          type: integer
          format: int32
          description: FICO credit score provided by a `Lead`
    employmentStatus:
      type: string
      enum:
        - employed
        - employed_full_time
        - employed_part_time
        - military
        - not_employed
        - self_employed
        - retired
        - other
    employmentPayFrequency:
      type: string
      enum:
        - weekly
        - biweekly
        - twice_monthly
        - monthly
    bankAccountType:
      type: string
      enum:
        - checking
        - savings
        - other
    financialInformationRequest:
      type: object
      properties:
        employmentStatus:
          $ref: '#/components/schemas/employmentStatus'
        employmentPayFrequency:
          $ref: '#/components/schemas/employmentPayFrequency'
        annualIncome:
          type: integer
          format: int32
        monthlyNetIncome:
          type: integer
          format: int32
        bankName:
          type: string
        bankRoutingNumber:
          type: string
        bankAccountType:
          $ref: '#/components/schemas/bankAccountType'
        creditCardDebt:
          type: integer
          format: int32
        monthsAtBank:
          type: integer
          format: int32
        bankAccountNumber:
          type: string
        monthlyDebt:
          type: integer
          format: int32
        totalAssets:
          type: integer
          format: int32
        monthlyHousingPayment:
          type: integer
          format: int32
        availableAssets:
          type: integer
          format: int32
        additionalIncome:
          type: integer
          format: int32
          description: The amount of additional income the lead recieves
        additionalIncomeFrequency:
          $ref: '#/components/schemas/employmentPayFrequency'
          description: The frequency the lead recieves additional income
        hasDirectDeposit:
          type: boolean
          description: Do you have a direct deposit?
        totalUnsecuredDebt:
          type: integer
          format: int32
          description: Approximate total unsecured debt in dollars
    employmentInformation:
      type: object
      properties:
        employerName:
          type: string
        employerAddress:
          type: string
        employerAddress2:
          type: string
        employerCity:
          type: string
        employerPhone:
          type: string
        employerState:
          type: string
        employerZip:
          type: string
        jobTitle:
          type: string
        monthsEmployed:
          type: integer
          format: int32
        directDeposit:
          type: boolean
          description: Whether a `Lead` uses direct deposit for their salary
        payDate1:
          type: string
          format: date
        payDate2:
          type: string
          format: date
        startDate:
          type: string
          format: date
          description: >-
            The date the lead started working at their current employer
            (YYYY-MM-DD)
    batchConsentVersion:
      type: string
      enum:
        - v1
        - v2
    legalInformation:
      type: object
      description: Information regarding a `Lead`'s communication consent
      properties:
        consentsToFcra:
          type: boolean
          description: >-
            Whether the lead was shown, and consented to a Fair Credit Reporting
            Act notice
        consentsToSms:
          type: boolean
          description: >-
            The lead agrees to recieve SMS text messages from the Financial
            Institution
        consentsToTcpa:
          type: boolean
          description: >-
            Whether the lead was shown, and consented to a Telephone Consumer
            Protection Act notice
        batchConsentVersion:
          $ref: '#/components/schemas/batchConsentVersion'
        fcraLanguage:
          type: string
          description: The exact FCRA language to which the lead consented
        tcpaLanguage:
          type: string
          description: The exact TCPA language to which the lead consented
        batchConsentLanguage:
          type: string
          description: The exact batch consent language to which the lead consented
    graduateDegreeType:
      type: string
      enum:
        - doctor_of_medicine
        - doctor_of_osteopathic_medicine
        - doctor_of_optometry
        - doctor_of_dental_medicine
        - dentariae_medicinae_doctoris
        - doctor_of_dental_surgery
        - doctor_of_veterinary_medicine
        - doctor_of_pharmacy
        - veterinariae_medicinae_doctoris
        - master_of_arts
        - master_of_science
        - master_of_research
        - master_of_research_project
        - master_of_studies
        - master_of_business_administration
        - master_of_library_science
        - master_of_public_administration
        - master_of_public_health
        - master_of_laws
        - master_of_arts_liberal_studies
        - master_of_fine_arts
        - master_of_music
        - master_of_education
        - master_of_engineering
        - master_of_architecture
        - juris_doctor
        - other
    opeId:
      type: string
      pattern: '^\d{6}[A-Za-z\d]{2}$'
      description: >-
        identification number used by the U.S. Department of Education's Office
        of Postsecondary Education (OPE) to identify schools that have Program
        Participation Agreements (PPA) so that its students are eligible to
        participate in Federal Student Financial Assistance programs under Title
        IV regulations. This is a 6-digit number followed by a 2-digit suffix
        used to identify branches, additional locations, and other entities that
        are part of the eligible institution.
    educationInformation:
      type: object
      properties:
        educationLevel:
          $ref: '#/components/schemas/educationLevel'
        graduateDegreeType:
          $ref: '#/components/schemas/graduateDegreeType'
        universityAttended:
          type: string
          description: >
            Name of university where a lead received their undergraduate degree.

            A lookup service for possible universities is available from using
            the /leads/universities endpoint.

            To maximize returned offers, this string must match one of the names
            returned from the lookup.
          deprecated: true
        universityOpeId:
          type: string
          $ref: '#/components/schemas/opeId'
        graduationDate:
          type: string
          format: date
          description: Date the lead graudated from undergrad (YYYY-MM-DD)
          deprecated: true
        graduateGraduationDate:
          type: string
          format: date
          description: Lead's graduate school graduation date (YYYY-MM-DD)
        graduateLastAttendedDate:
          type: string
          format: date
          description: Lead's last attended month/year for graduate school (YYYY-MM-DD)
        graduateUniversityAttended:
          type: string
          description: >
            Name of university where a lead received their graduate degree.

            A lookup service for possible universities is available from using
            the /leads/universities endpoint.

            To maximize returned offers, this string must match one of the names
            returned from the lookup.
        graduateUniversityOpeId:
          $ref: '#/components/schemas/opeId'
        undergraduateGraduationDate:
          type: string
          format: date
          description: Date the lead graduated from undergrad (YYYY-MM-DD).
        undergraduateLastAttendedDate:
          type: string
          format: date
          description: Lead's last attended month/year for undergrad (YYYY-MM-DD)
        undergraduateUniversityAttended:
          type: string
          description: >
            Name of university where a lead received their undergraduate degree.

            A lookup service for possible universities is available from using
            the /leads/universities endpoint.

            To maximize returned offers, this string must match one of the names
            returned from the lookup.
        undergraduateUniversityOpeId:
          type: string
          $ref: '#/components/schemas/opeId'
    coApplicantInformation:
      type: object
      description: |
        The personal information of a co-applicant that may be considered in the
        underwriting and approval of a loan.
      properties:
        firstName:
          type: string
        lastName:
          type: string
        dateOfBirth:
          type: string
          format: date
        annualIncome:
          type: integer
          format: int32
        streetAddress1:
          type: string
          description: Street address (primary address line)
        streetAddress2:
          type: string
          description: Secondary address line
        city:
          type: string
        state:
          $ref: '#/components/schemas/state-lead'
        zipcode:
          type: string
          pattern: '^\d{5}([-\s]\d{4})?$'
    gender:
      type: string
      enum:
        - male
        - female
    healthInformation:
      type: object
      properties:
        gender:
          $ref: '#/components/schemas/gender'
        heightInInches:
          type: integer
          format: int32
        weightInPounds:
          type: integer
          format: int32
        tobaccoSmoker:
          type: boolean
    vehicleInformation:
      type: object
      title: Vehicle information
      properties:
        monthlyPayment:
          type: number
          format: int32
          description: The lead's monthly auto loan payment
        estimatedMileage:
          type: number
          format: integer
          description: The vehicle's estimated number of miles driven
        vehicleIdentificationNumber:
          type: string
          description: The vehicle identification number (VIN) of the financed vehicle
        vehicleUuid:
          type: string
          format: uuid
          description: >-
            The UUID representing the unique Year/Make/Model/Trim of the
            financed vehicle
    priorCarrierInformation:
      type: object
      title: Prior Carrier Information
      properties:
        carrierName:
          type: string
          description: Name of the prior insurance carrier
        timeInsuredMonths:
          type: integer
          format: int32
          description: Duration in months the lead was insured with the prior carrier
    coverageInformation:
      type: object
      title: Coverage Information
      properties:
        bodilyInjuryAmount:
          type: integer
          format: int32
          description: Bodily injury coverage amount
        propertyDamageAmount:
          type: integer
          format: int32
          description: Property damage coverage amount
        collisionAmount:
          type: integer
          format: int32
          description: Collision coverage amount
    garageInformation:
      type: object
      title: Garage Information
      properties:
        address1:
          type: string
          description: Street address line 1 of the garage location
        address2:
          type: string
          description: Street address line 2 of the garage location (optional)
        city:
          type: string
          description: City where the vehicle is garaged
        state:
          type: string
          description: State where the vehicle is garaged
        zipCode:
          type: string
          description: ZIP code of the garage address
    driverRole:
      type: string
      enum:
        - primary
        - secondary
        - unlisted
    personalInformation:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        aliasFirstName:
          type: string
          description: The first name the lead uses as an alias
        aliasLastName:
          type: string
          description: The last name the lead uses as an alias
        email:
          $ref: '#/components/schemas/email'
        city:
          type: string
        state:
          $ref: '#/components/schemas/state-lead'
        workPhone:
          type: string
          pattern: '^1?\d{10}$'
        primaryPhone:
          type: string
          pattern: '^1?\d{10}$'
        bestTimeToCall:
          $ref: '#/components/schemas/bestTimeToCall'
        address1:
          type: string
          description: Street address (primary address line)
        address2:
          type: string
          description: Secondary address line
        addressMoveInDate:
          type: string
          format: date
          description: The date the lead moved into their current address
        zipcode:
          type: string
          pattern: '^\d{5}([-\s]\d{4})?$'
        monthsAtAddress:
          type: integer
          format: int32
          description: >-
            Number of months the provided address has been the lead's primary
            residence
        driversLicenseNumber:
          type: string
        driversLicenseState:
          type: string
          description: State in which the driver's license was issued
        ipAddress:
          type: string
          format: ip
          description: IP address
        activeMilitary:
          type: boolean
          description: Whether the lead is currently in the military (not a veteran)
        militaryVeteran:
          type: boolean
          description: >-
            Whether the lead is a veteran (should not be used if the lead is
            active in the military)
        dateOfBirth:
          type: string
          format: date
        educationLevel:
          deprecated: true
          allOf:
            - $ref: '#/components/schemas/educationLevel'
        ssn:
          $ref: '#/components/schemas/ssn'
        citizenshipStatus:
          $ref: '#/components/schemas/citizenshipStatus'
    driverInformation:
      type: object
      title: Driver Information
      properties:
        role:
          $ref: '#/components/schemas/driverRole'
          description: 'Role of the driver (e.g., primary, secondary)'
        gender:
          $ref: '#/components/schemas/gender'
          description: Driver's gender
        personalInformation:
          $ref: '#/components/schemas/personalInformation'
          description: Personal information of the driver
    autoInsuranceInformation:
      type: object
      properties:
        numberOfVehicles:
          type: integer
          format: int32
        hasAutoInsurance:
          type: boolean
        priorCarrierInformation:
          $ref: '#/components/schemas/priorCarrierInformation'
        policyEffectiveDate:
          type: string
          format: date
        coverageInformation:
          $ref: '#/components/schemas/coverageInformation'
        garageInformation:
          $ref: '#/components/schemas/garageInformation'
        vehiclesInformation:
          type: array
          items:
            $ref: '#/components/schemas/vehicleInformation'
        driversInformation:
          type: array
          items:
            $ref: '#/components/schemas/driverInformation'
    packageType:
      type: string
      description: Life insurance package types
      enum:
        - basic
        - essential
        - elite
    lifeInsuranceInformation:
      type: object
      title: Life insurance information
      description: Life insurance information
      properties:
        carrierUuid:
          type: string
          format: uuid
          description: |
            Carrier UUID of the policy
        duration:
          type: integer
          format: int32
          description: |
            Duration, in years
        policyAmount:
          type: integer
          format: int32
          description: 'Policy amount, in dollars'
        packageTypes:
          type: array
          items:
            $ref: '#/components/schemas/packageType'
    refinanceLoanType:
      type: string
      enum:
        - federal_student_loan
        - private_student_loan
    refinanceLoanInformation:
      type: object
      title: Refinance loan information
      properties:
        accountNumber:
          type: string
          description: The account number for a loan the lead is refinancing
        incomeBasedRepayment:
          type: boolean
          description: If the repayment is income-based for a loan the lead is refinancing
        interestRate:
          type: number
          format: float
          description: The interest rate for a loan the lead is refinancing
        loanAmount:
          type: integer
          format: int32
          description: The loan amount for a loan the lead is refinancing
        loanServicer:
          type: string
          description: The name of a loan servicer of a loan the lead is refinancing
        loanType:
          $ref: '#/components/schemas/refinanceLoanType'
          description: The loan type for a loan the lead is refinancing
        nextPaymentAmount:
          type: number
          format: float
          description: >-
            The amount the next payment will be on a loan the lead is
            refinancing
        nextPaymentDate:
          type: string
          format: date
          description: The next payment date for a loan the lead is refinancing
    idType:
      type: string
      enum:
        - driver_license
        - state_id
        - passport
    identificationInformation:
      type: object
      properties:
        idNumber:
          type: string
          description: The ID number supplied by the lead
        idState:
          type: string
          description: The state of issue of the supplied ID
        idType:
          $ref: '#/components/schemas/idType'
          description: The form of the ID number supplied by the lead
    clientTags:
      type: object
      description: >-
        Arbitrary key-values mappings to associate with a `Lead`. This field can
        be use to attach `subid`s to a `Lead`
      additionalProperties:
        type: array
        items:
          type: string
      maxProperties: 1
      minProperties: 1
      example:
        subid:
          - '123'
    sessionInformation:
      type: object
      description: Browsing session information accociated with a `Lead`
      properties:
        ipAddress:
          type: string
        userAgent:
          type: string
        browserFingerprint:
          type: string
    offerSearch: *ref_0
    leadRequestOfferCatalogJson: *ref_1
  responses:
    InvalidRequest:
      $ref: '#/components/responses/invalidRequest'
    MalformedRequest: &ref_2
      description: Malformed request
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/apiError'
          examples:
            invalidUuidPathParameter:
              $ref: '#/components/examples/invalidUuidPathParameter'
    UnauthorizedRequest: &ref_3
      description: Unauthorized request
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/apiError'
          examples:
            missingAccessToken:
              $ref: '#/components/examples/missingAccessToken'
    UnknownId:
      $ref: '#/components/responses/unknownId'
    invalidRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/apiError'
    malformedRequest: *ref_2
    unauthorizedRequest: *ref_3
    unknownId:
      description: Unknown ID
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/apiError'
  examples:
    missingAccessToken:
      summary: Access token was not specified
      value:
        - message: Access token is missing
    invalidUuidPathParameter:
      summary: Invalid UUID in path parameter
      value:
        - message: Bad request.
          details: 'Cannot parse parameter uuid as UUID: Invalid UUID string: 123'
tags:
  - name: OfferSearches
    description: >-
      The `OfferSearch` contains generic offers relating to one or more product
      types customized for a specific `Lead`. Formerly Known As - RateTable 
paths:
  '/offerSearches/{uuid}':
    get:
      summary: Get an offer search by UUID
      description: Get an offer search by UUID
      operationId: getOfferSearch
      tags:
        - OfferSearches
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: Api-Version
          in: header
          required: false
          schema:
            $ref: '#/components/schemas/ApiVersion'
      security:
        - bearerAuth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferSearch'
        '400':
          description: Malformed UUID
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/apiError'
              example:
                - message: >-
                    Cannot parse parameter uuid as UUID: Invalid UUID string:
                    123
        '401':
          $ref: '#/components/responses/UnauthorizedRequest'
        '404':
          description: Unknown UUID
  /offerSearches:
    post:
      summary: Create an `OfferSearch` of offers
      description: Create an `OfferSearch` of offers
      operationId: createOfferSearch
      parameters:
        - name: Api-Version
          in: header
          required: false
          schema:
            $ref: '#/components/schemas/ApiVersion'
      tags:
        - OfferSearches
      security:
        - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LeadRequestOfferCatalog'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferSearch'
        '400':
          $ref: '#/components/responses/MalformedRequest'
        '401':
          $ref: '#/components/responses/UnauthorizedRequest'

