HELOC Inquiries

Manage the full HELOC inquiry lifecycle — start an inquiry, add borrower SSN, income and property estimates, verify liens, select matching property and offer, fetch borrower costs, and list/download documents.

OpenAPI Specification

figure-heloc-inquiries-openapi-original.yml Raw ↑
openapi: 3.1.0
info:
  title: HELOC Inquiries
  version: v1
servers:
  - url: https://api.test.figure.com
    description: Test environment
  - url: https://api.figure.com
    description: Production environment
security:
  - apikey: []
paths:
  /products/heloc/v1/inquiry/{appUuid}/verify-liens:
    put:
      tags:
        - HELOC application requests
      summary: Verify liens for a HELOC inquiry
      operationId: verifyInquiryLiens
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VerifyLiensRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VerifyLiensResponse"
  /products/heloc/v1/inquiry/{appUuid}/select-property:
    put:
      tags:
        - HELOC application requests
      summary: Select matching property on HELOC inquiry where multiple properties were returned for a single address
      operationId: selectProperty
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SelectMatchingPropertyRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/SelectingMatchingPropertyResponse"
  /products/heloc/v1/inquiry/{appUuid}/select-offer:
    put:
      tags:
        - HELOC application requests
      summary: Select an offer for a HELOC inquiry
      operationId: selectInquiryOffer
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SelectOfferRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SelectOfferResponse"
  /products/heloc/v1/inquiry/{appUuid}/cancel:
    put:
      tags:
        - HELOC application requests
      summary: Cancel HELOC inquiry
      operationId: cancelInquiry
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CancelInquiryRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CancelInquiryResponse"
  /products/heloc/v1/inquiry/{appUuid}/asset-depletion:
    put:
      tags:
        - HELOC application requests
      summary: Add income and liability payoff to a HELOC inquiry
      operationId: assetDepletion
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddIncomeAndLiabilityRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AddIncomeResponse"
  /products/heloc/v1/inquiry/{appUuid}/add-ssn:
    put:
      tags:
        - HELOC application requests
      summary: Add a borrower SSN to a HELOC inquiry
      operationId: addInquirySsn
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddSsnRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AddSsnResponse"
  /products/heloc/v1/inquiry/{appUuid}/add-property-estimate:
    put:
      tags:
        - HELOC application requests
      summary: Add borrower property estimate to a HELOC inquiry
      operationId: addInquiryPropertyEstimate
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddPropertyEstimateRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AddPropertyEstimateResponse"
  /products/heloc/v1/inquiry/{appUuid}/add-income:
    put:
      tags:
        - HELOC application requests
      summary: Add income to a HELOC inquiry
      operationId: addInquiryIncome
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddIncomeRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AddIncomeResponse"
  /products/heloc/v1/inquiry/{appUuid}/repull-credit:
    post:
      tags:
        - HELOC application requests
      summary: Repull Credit for Inquiry
      operationId: repullCredit
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/RepullCreditForHelocInquiryRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RepullCreditForInquiryResponse"
  /products/heloc/v1/inquiry/start:
    post:
      tags:
        - HELOC application requests
      summary: Starts a new inquiry for a HELOC application
      operationId: startInquiry
      parameters:
        - name: User-Agent
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/StartInquiryRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StartInquiryResponse"
  /encryption/v1/encrypt:
    post:
      tags:
        - Encryption
      summary: Encrypt a JSON payload using Figure's public key
      operationId: encryptPayload
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EncryptPayloadResponse"
  /products/heloc/v1/lead/{appUuid}/reassign:
    patch:
      tags:
        - HELOC application requests
      summary: Reassign a HELOC lead to a different loan originator
      operationId: reassignLead
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ReassignLeadRequest"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ReassignLeadResponse"
  /products/heloc/v1/inquiry/{appUuid}/attributions:
    patch:
      tags:
        - HELOC application requests
      summary: Update Attributions to a HELOC inquiry
      operationId: updateInquiryAttributions
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateHelocInquiryAttributionsRequest"
        required: true
      responses:
        "200":
          description: OK
          content: {}
  /products/heloc/v1/inquiry/{appUuid}/properties:
    get:
      tags:
        - HELOC application requests
      summary: Fetch matching properties on HELOC inquiry where multiple properties were returned for a single address
      operationId: fetchMatchingProperties
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: OK
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/MatchingPropertiesResponse"
  /products/heloc/v1/inquiry/{appUuid}/direct-debt-payoff-offers:
    get:
      tags:
        - HELOC application requests
      summary: Fetch direct debt payoff details on HELOC inquiry if applicable
      operationId: fetchDirectDebtPayoffDetails
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
        - name: accountId
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
      responses:
        "200":
          description: OK
          content:
            '*/*':
              schema:
                $ref: "#/components/schemas/FetchDirectDebtPayoffDetailsResponse"
  /products/heloc/v1/inquiry/{appUuid}/borrower-costs:
    get:
      tags:
        - HELOC application requests
      summary: Get borrower costs for an application
      operationId: getBorrowerCosts
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
        - name: offerUuid
          in: query
          required: true
          schema:
            type: string
        - name: selectedOfferAmount
          in: query
          required: true
          schema:
            type: number
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BorrowerCostsResponse"
  /products/heloc/v1/document/{appUuid}/list:
    get:
      tags:
        - HELOC application requests
      summary: List documents for an application
      operationId: listDocuments
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocumentListResponse"
  /products/heloc/v1/document/{appUuid}/download:
    get:
      tags:
        - HELOC application requests
      summary: Download all documents for an application
      operationId: downloadAllDocuments
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: OK
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /products/heloc/v1/document/{appUuid}/download/{documentUuid}:
    get:
      tags:
        - HELOC application requests
      summary: Download a document for an application
      operationId: downloadDocument
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
        - name: documentUuid
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: OK
          content:
            '*/*':
              schema:
                type: string
                format: binary
  /products/heloc/v1/details/{appUuid}:
    get:
      tags:
        - HELOC application requests
      summary: Fetch details about an application
      operationId: fetchAppDetails
      parameters:
        - name: appUuid
          in: path
          required: true
          schema:
            type: string
        - name: include
          in: query
          required: false
          schema:
            type: string
            enum:
              - CONDITIONS
              - FUNDING_REPORT
              - BORROWER_DETAILS
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/FetchHelocDetailsResponse"
  /management/v1/loan-originator:
    get:
      tags:
        - Loan Originator requests
      summary: Fetch loan originators by email or with pagination
      operationId: fetchLoanOriginators
      parameters:
        - name: email
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            format: int32
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/FetchLoanOriginatorsResponse"
components:
  schemas:
    CommonHelocPayloadRequest:
      properties:
        loanOriginatorUuid:
          type: string
        async:
          type: boolean
          deprecated: true
          description: Will be removed from all requests in a future release. This is no longer an option on some requests. Async will be the only option.
      required:
        - async
        - loanOriginatorUuid
    LienRequest:
      properties:
        lienUuid:
          type: string
        originationDate:
          type: string
          format: date
        lenderName:
          type: string
          pattern: "^[a-zA-Z0-9\\s\\-']+$"
        originalBalance:
          type: number
        currentBalance:
          type: number
        monthlyPayment:
          type: number
      required:
        - lenderName
        - lienUuid
        - originalBalance
        - originationDate
    VerifyLiensRequest:
      properties:
        request:
          $ref: "#/components/schemas/CommonHelocPayloadRequest"
        liens:
          type: array
          items:
            $ref: "#/components/schemas/LienRequest"
      required:
        - liens
        - request
    MessageResponse:
      properties:
        level:
          type: string
        message:
          type: string
      required:
        - level
        - message
    VerifyLiensResponse:
      properties:
        messages:
          type: array
          items:
            $ref: "#/components/schemas/MessageResponse"
    MatchingPropertyRequest:
      properties:
        propertyId:
          type: string
      required:
        - propertyId
    SelectMatchingPropertyRequest:
      properties:
        request:
          $ref: "#/components/schemas/CommonHelocPayloadRequest"
        property:
          $ref: "#/components/schemas/MatchingPropertyRequest"
      required:
        - property
        - request
    SelectingMatchingPropertyResponse:
      properties:
        messages:
          type: array
          items:
            $ref: "#/components/schemas/MessageResponse"
    OfferRequest:
      properties:
        offerUuid:
          type: string
        selectedOfferAmount:
          type: number
        selectedDiscounts:
          type: array
          items:
            type: string
        selectedAccountsToPayoff:
          type: array
          items:
            type: string
      required:
        - offerUuid
        - selectedAccountsToPayoff
        - selectedDiscounts
        - selectedOfferAmount
    SelectOfferRequest:
      properties:
        request:
          $ref: "#/components/schemas/CommonHelocPayloadRequest"
        offer:
          $ref: "#/components/schemas/OfferRequest"
      required:
        - offer
        - request
    AppDataResponse:
      properties:
        isInquiry:
          type: boolean
        isBridgeLoan:
          type: boolean
        startedAsInquiry:
          type: boolean
        autopay:
          type: boolean
        status:
          type: string
        overallStatus:
          type: string
        nextInquiryStep:
          type: string
          enum:
            - UNKNOWN
            - NO_OFFERS
            - REFINANCE_OFFER
            - OFFERS_AVAILABLE
            - BORROWER_AUTH_REQUIRED
            - BROKER_DOC_SIGNING_REQUIRED
            - INQUIRY_COMPLETE
            - INQUIRY_CLOSED
            - INQUIRY_WITHDRAWN
            - CREDIT_MATCH_REQUIRED
            - MORE_ASSETS_REQUIRED
            - LIEN_MATCHING_REQUIRED
            - PROPERTY_VALUE_REQUIRED
            - PAYOFF_REQUIRED
            - UNFREEZE_CREDIT
            - SELECT_PROPERTY
        keyDates:
          $ref: "#/components/schemas/KeyDatesResponse"
        propertyAddress:
          $ref: "#/components/schemas/USAddress"
        statusReasons:
          type: array
          items:
            type: string
        ownershipType:
          type: string
          enum:
            - UNKNOWN
            - SOLE
            - JOINT
            - TRUST
            - LLC
            - OTHER
        financingPurpose:
          type: string
          enum:
            - UNKNOWN
            - DEBT_CONSOLIDATION
            - HOME_IMPROVEMENT
            - MAJOR_PURCHASE
            - TRAVEL
            - EDUCATION
            - HEALTH_MEDICAL
            - CARING_FOR_FAMILY
            - RETIREMENT
            - SMALL_BUSINESS
            - HOME_IMPROVEMENT_SMALL_BUSINESS
            - SOLAR_ENERGY_EFFICIENT_INSTALLATION
            - OTHER
        propertyLiens:
          type: array
          items:
            $ref: "#/components/schemas/PropertyLienResponse"
        underwriting:
          $ref: "#/components/schemas/UnderwritingResponse"
        propertyValue:
          $ref: "#/components/schemas/PropertyValueResponse"
        manualNotary:
          $ref: "#/components/schemas/ManualNotaryResponse"
          deprecated: true
          description: use notary instead
        notary:
          $ref: "#/components/schemas/NotaryResponse"
        costs:
          $ref: "#/components/schemas/CostsResponse"
        ddpDetails:
          $ref: "#/components/schemas/DdpDetails"
        utmParameters:
          $ref: "#/components/schemas/UtmParametersResponse"
        statusHistory:
          type: array
          items:
            $ref: "#/components/schemas/StatusHistoryResponse"
        propertyDetails:
          $ref: "#/components/schemas/PropertyDetailsResponse"
        borrowerDetails:
          $ref: "#/components/schemas/BorrowerDetailsResponse"
        assignedUsers:
          type: array
          items:
            $ref: "#/components/schemas/AssignedUserResponse"
        conditions:
          type: array
          items:
            $ref: "#/components/schemas/ConditionResponse"
        demographics:
          $ref: "#/components/schemas/DemographicsResponse"
        thirdPartyIntegrations:
          $ref: "#/components/schemas/ThirdPartyIntegrationsResponse"
        fundingTransactionReport:
          $ref: "#/components/schemas/FundingTransactionReportResponse"
        businessInfo:
          $ref: "#/components/schemas/BusinessInfoResponse"
      required:
        - autopay
        - isBridgeLoan
        - isInquiry
        - overallStatus
        - startedAsInquiry
        - status
    AssignedUserResponse:
      properties:
        userUuid:
          type: string
          format: uuid
      required:
        - userUuid
    BorrowerDetailsResponse:
      properties:
        primary:
          $ref: "#/components/schemas/BorrowerResponse"
        additionalSigners:
          type: array
          items:
            $ref: "#/components/schemas/BorrowerResponse"
      required:
        - primary
    BorrowerResponse:
      properties:
        identityUuid:
          type: string
          format: uuid
        email:
          type: string
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        suffix:
          type: string
        prefix:
          type: string
        dob:
          type: string
          format: date
        address:
          $ref: "#/components/schemas/USAddress"
        phoneNumber:
          type: string
    BusinessInfoResponse:
      properties:
        entityName:
          type: string
        entityType:
          type: string
          enum:
            - SOLE_PROPRIETORSHIP
            - SINGLE_OWNER_LLC
            - PARTNERSHIP
            - MULTI_OWNER_LLC
            - S_CORP
            - PARTNERSHIP_OR_LLC
        ownershipPercentage:
          type: number
        totalMonthlyRevenue:
          type: number
        ein:
          type: string
        stateOfIncorporation:
          type: string
        address:
          $ref: "#/components/schemas/USAddress"
      required:
        - entityName
        - entityType
    ConditionResponse:
      properties:
        active:
          type: boolean
        name:
          type: string
        createdDate:
          type: string
          format: date-time
        lastUpdateDate:
          type: string
          format: date-time
      required:
        - active
        - name
    CostResponse:
      properties:
        type:
          type: string
          enum:
            - NOTARY_FEE
            - RECORDING_TAX
            - RECORDING_FEE
            - TITLE_FEE
            - BPO_FEE
            - DRIVE_BY_VALUATION_FEE
            - ONSITE_APPRAISAL_FEE
        borrowerPaidAmount:
          type: number
      required:
        - type
    CostsResponse:
      properties:
        fixedCosts:
          type: array
          items:
            $ref: "#/components/schemas/CostResponse"
        dynamicCosts:
          type: array
          items:
            $ref: "#/components/schemas/CostResponse"
        totalPaidByBorrower:
          type: number
    DdpDetails:
      properties:
        paidLiabilityPayoffAmount:
          type: number
        totalLiabilityPayoffAmount:
          type: number
        liabilityPayoffAllocatedAmountDtiImpacting:
          type: number
        liabilityPayoffAllocatedAmountNonDtiImpacting:
          type: number
        lienPositionAfterPayoff:
          type: integer
          format: int32
        existingLiabilities:
          $ref: "#/components/schemas/ExistingLiabilitiesResponse"
    DemographicsResponse:
      properties:
        hispanicOrLatinoEthnicityType:
          type: boolean
        ethnicityRefusal:
          type: boolean
        otherEthnicityDescription:
          type: string
        genderRefusal:
          type: boolean
        raceRefusal:
          type: boolean
        raceAsianAdditionalDescription:
          type: string
        racePacificIslanderAdditionalDescription:
          type: string
        ethnicityCollectedBasedOnVisualObservationOrSurname:
          type: boolean
        genderCollectedBasedOnVisualObservationOrName:
          type: boolean
        raceCollectedBasedOnVisualObservationOrSurname:
          type: boolean
        tribeName:
          type: string
        notHispanicOrLatino:
          type: boolean
        ethnicityOriginTypes:
          type: array
          items:
            type: string
            enum:
              - CUBAN
              - MEXICAN
              - PUERTO_RICAN
              - OTHER
        genderTypes:
          type: array
          items:
            type: string
            enum:
              - BOTH_MALE_AND_FEMALE
              - FEMALE
              - MALE
        raceTypes:
          type: array
          items:
            type: string
            enum:
              - AMERICAN_INDIAN_OR_ALASKA_NATIVE
              - ASIAN
              - BLACK_OR_AFRICAN_AMERICAN
              - NATIVE_HAWAIIAN_OR_OTHER_ISLANDER
              - WHITE
        raceDesignationTypes:
          type: array
          items:
            type: string
            enum:
              - ASIAN_INDIAN
              - CHINESE
              - FILIPINO
              - GUAMANIAN_OR_CHAMORRO
              - JAPANESE
              - KOREAN
              - NATIVE_HAWAIIAN
              - OTHER_ASIAN
              - OTHER_PACIFIC_ISLANDER
              - SAMOAN
              - VIETNAMESE
    ExistingLiabilitiesResponse:
      properties:
        eligible:
          type: array
          items:
            $ref: "#/components/schemas/LiabilityResponse"
        ineligible:
          type: array
          items:
            $ref: "#/components/schemas/LiabilityResponse"
      required:
        - eligible
        - ineligible
    FundingTransactionReportResponse:
      properties:
        transactions:
          type: array
          items:
            $ref: "#/components/schemas/FundingTransactionResponse"
    FundingTransactionResponse:
      properties:
        id:
          type: string
        amount:
          type: number
        initiatedAt:
          type: string
          format: date-time
        effectiveDate:
          type: string
        paymentRail:
          type: string
          enum:
            - ACH
            - WIRE
        status:
          type: string
          enum:
            - PENDING
            - SENT
            - COMPLETE
            - CANCELLED
            - EXCEPTION
            - RETURNED
            - NOC
            - REQUIRES_APPROVAL
            - REJECTED
        messageUuid:
          type: string
          format: uuid
        sentAt:
          type: string
          format: date-time
        batchingCategory:
          type: string
    HelocDetailsResponseData:
      properties:
        organization:
          type: string
        appUuid:
          type: string
          format: uuid
        appShortId:
          type: string
        borrowerAppLink:
          type: string
        appData:
          $ref: "#/components/schemas/AppDataResponse"
        loanOriginatorData:
          $ref: "#/components/schemas/LoanOriginatorDataResponse"
        testVariants:
          $ref: "#/components/schemas/TestVariantsResponse"
      required:
        - appData
        - appUuid
        - organization
        - testVariants
    KeyDatesResponse:
      properties:
        createdDate:
          type: string
          format: date-time
        expirationDate:
          type: string
          format: date-time
        rescissionEndDate:
          type: string
          format: date-time
        signingDate:
          type: string
          format: date-time
        completedDate:
          type: string
          format: date-time
        canceledDate:
          type: string
          format: date-time
        declinedDate:
          type: string
          format: date-time
        summaryDisclosureDate:
          type: string
          format: date-time
        productAgreementESignedTimestamp:
          type: string
          format: date-time
        firstPaymentDueDate:
          type: string
          format: date-time
        expectedPayoffDate:
          type: string
          format: date-time
        lastStatusUpdateDate:
          type: string
          format: date-time
    LiabilityResponse:
      properties:
        id:
          type: string
        rateType:
          type: string
          enum:
            - VARIABLE
            - FIXED
        liabilitySubType:
          type: string
          enum:
            - LEASE
            - LOAN_SUB_TYPE
            - FEDERAL
            - PRIVATE
            - HELOC
            - LINE_OF_CREDIT
            - FLEXIBLE_SPENDING
            - CHARGE
            - SECURED
            - UNSECURED
            - PURCHASE
            - BUSINESS
        lastDigitsOfAccountNumber:
          type: string
        monetaryBalance:
          type: number
        interestRatePercentage:
          type: number
        interestRatePercentageMax:
          type: number
        interestRatePercentageMin:
          type: number
        payOffStatus:
          type: string
          enum:
            - MARKED_FOR_PAYOFF
            - PAID_OFF
            - PAYOFF_REQUESTED
            - PAYOFF_FAILED
            - PAYOFF_REVERSAL
            - PAYOFF_REVERSAL_PROCESSING
        creditorName:
          type: string
        liabilityType:
          type: string
          enum:
            - AUTO
            - PERSONAL
            - FIGURE_SERVICING_HELOC
            - HOME_IMPROVEMENT
            - CREDIT_CARD
            - MORTGAGE
            - HELOC
        reasons:
          type: array
          items:
            $ref: "#/components/schemas/ReasonResponse"
        providesDtiCredit:
          type: boolean
        providesCltvCredit:
          type: boolean
        providesLienPositionCredit:
          type: boolean
      required:
        - creditorName
        - id
        - monetaryBalance
        - providesCltvCredit
        - providesDtiCredit
        - providesLienPositionCredit
    LicenseHolderResponse:
      properties:
        type:
          type: string
          enum:
            - UNKNOWN
            - LENDER
            - BROKER
            - LOAN_OFFICER
        uuid:
          type: string
          format: uuid
        name:
          type: string
        nmls:
          type: string
      required:
        - type
        - uuid
    LicenseResponse:
      properties:
        licenseHolder:
          $ref: "#/components/schemas/LicenseHolderResponse"
        stateLicense:
          $ref: "#/components/schemas/LicenseStateResponse"
    LicenseStateResponse:
      properties:
        type:
          type: string
          enum:
            - UNKNOWN
            - UNSPECIFIED
            - FEDERAL_LICENSE
            - CA_RMLA_STATE_LICENSE
            - CA_CFL_STATE_LICENSE
            - CA_DRE_STATE_LICENSE
        uuid:
          type: string
          format: uuid
        licenseNumber:
          type: string
        licenseName:
          type: string
        state:
          type: string
      required:
        - type
        - uuid
    LicensesResponse:
      properties:
        lenderLicense:
          $ref: "#/components/schemas/LicenseResponse"
        loanOriginatorLicense:
          $ref: "#/components/schemas/LicenseResponse"
        brokerLicense:
          $ref: "#/components/schemas/LicenseResponse"
    LoanOriginatorDataResponse:
      properties:
        loanOriginatorUuid:
          type: string
          format: uuid
        brokerUuid:
          type: string
          format: uuid
        externalId:
          type: string
        nmls:
          type: string
        companyNmls:
          type: string
        licenses:
          $ref: "#/components/schemas/LicensesResponse"
        companyDbaName:
          type: string
        email:
          type: string
    ManualNotaryResponse:
      properties:
        manualNotaryDate:
          type: string
          format: date-time
        manualNotaryFee:
          type: number
    NotaryResponse:
      properties:
        type:
          type: string
          enum:
            - NOT_APPLICABLE
            - ELECTRONIC
            - MANUAL
        fee:
          type: number
        appointmentDate:
          type: string
          format: date-time
        completedDate:
          type: string
          format: date-time
    OfferDiscountResponse:
      properties:
        type:
          type: 

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/figure/refs/heads/main/openapi/figure-heloc-inquiries-openapi-original.yml