Figure Technology Solutions HELOC application requests API

The HELOC application requests API from Figure Technology Solutions — 19 operation(s) for heloc application requests.

Operations 19

PUT /products/heloc/v1/inquiry/{appUuid}/verify-liens Verify liens for a HELOC inquiry #
PUT /products/heloc/v1/inquiry/{appUuid}/select-property Select matching property on HELOC inquiry where multiple properties were returned for a single address #
PUT /products/heloc/v1/inquiry/{appUuid}/select-offer Select an offer for a HELOC inquiry #
PUT /products/heloc/v1/inquiry/{appUuid}/cancel Cancel HELOC inquiry #
PUT /products/heloc/v1/inquiry/{appUuid}/asset-depletion Add income and liability payoff to a HELOC inquiry #
PUT /products/heloc/v1/inquiry/{appUuid}/add-ssn Add a borrower SSN to a HELOC inquiry #
PUT /products/heloc/v1/inquiry/{appUuid}/add-property-estimate Add borrower property estimate to a HELOC inquiry #
PUT /products/heloc/v1/inquiry/{appUuid}/add-income Add income to a HELOC inquiry #
POST /products/heloc/v1/inquiry/{appUuid}/repull-credit Repull Credit for Inquiry #
POST /products/heloc/v1/inquiry/start Starts a new inquiry for a HELOC application #
PATCH /products/heloc/v1/lead/{appUuid}/reassign Reassign a HELOC lead to a different loan originator #
PATCH /products/heloc/v1/inquiry/{appUuid}/attributions Update Attributions to a HELOC inquiry #
GET /products/heloc/v1/inquiry/{appUuid}/properties Fetch matching properties on HELOC inquiry where multiple properties were returned for a single address #
GET /products/heloc/v1/inquiry/{appUuid}/direct-debt-payoff-offers Fetch direct debt payoff details on HELOC inquiry if applicable #
GET /products/heloc/v1/inquiry/{appUuid}/borrower-costs Get borrower costs for an application #
GET /products/heloc/v1/document/{appUuid}/list List documents for an application #
GET /products/heloc/v1/document/{appUuid}/download Download all documents for an application #
GET /products/heloc/v1/document/{appUuid}/download/{documentUuid} Download a document for an application #
GET /products/heloc/v1/details/{appUuid} Fetch details about an application #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/figure-technology-solutions-heloc-application-requests-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

figure-technology-solutions-heloc-application-requests-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: HELOC Inquiries HELOC application requests API
  version: v1
servers:
- url: https://api.test.figure.com
  description: Test environment
- url: https://api.figure.com
  description: Production environment
security:
- apikey: []
tags:
- name: HELOC application requests
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'
  /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'
components:
  schemas:
    MatchingPropertyResponse:
      properties:
        id:
          type: string
        apn:
          type: string
        address:
          $ref: '#/components/schemas/USAddress'
        longitude:
          type: number
        latitude:
          type: number
      required:
      - address
      - id
    TestVariantsResponse:
      properties:
        variants:
          type: array
          items:
            $ref: '#/components/schemas/TestVariantResponse'
      required:
      - variants
    ExistingLiabilitiesResponse:
      properties:
        eligible:
          type: array
          items:
            $ref: '#/components/schemas/LiabilityResponse'
        ineligible:
          type: array
          items:
            $ref: '#/components/schemas/LiabilityResponse'
      required:
      - eligible
      - ineligible
    UnderwritingSelectedOfferResponse:
      properties:
        offerUuid:
          type: string
          format: uuid
        loanAmount:
          type: number
        drawAmount:
          type: number
        estimatedMonthlyPayment:
          type: number
        rate:
          type: number
        primeRate:
          type: number
        term:
          type: integer
          format: int32
        rateType:
          type: string
          enum:
          - UNKNOWN
          - FIXED
          - VARIABLE
        originationFeePercent:
          type: number
        originationFee:
          type: number
          deprecated: true
          description: use originationFeePercent instead
        selectedDiscounts:
          type: array
          items:
            $ref: '#/components/schemas/OfferDiscountResponse'
        creditLine:
          type: number
        originationFeeAmount:
          type: number
      required:
      - drawAmount
      - estimatedMonthlyPayment
      - loanAmount
      - offerUuid
      - originationFee
      - originationFeePercent
      - primeRate
      - rate
      - rateType
      - term
    FetchDirectDebtPayoffDetailsResponse:
      properties:
        data:
          $ref: '#/components/schemas/DirectDebtPayoffDetailsResponse'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageResponse'
      required:
      - data
    ManualNotaryResponse:
      properties:
        manualNotaryDate:
          type: string
          format: date-time
        manualNotaryFee:
          type: number
    ApplicantRequest:
      properties:
        name:
          $ref: '#/components/schemas/NameRequest'
        dob:
          type: string
          format: date
        phone:
          type: string
          pattern: ^\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$
        email:
          type: string
          pattern: ^(?:[a-zA-Z0-9!#\$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#\$%&'*+/=?^_`{|}~-]+)*|\"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*\")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$
        ssn:
          type: string
          pattern: ^(([0-9]{9})|([0-9]{3}-[0-9]{2}-[0-9]{4}))$
        homeAddress:
          $ref: '#/components/schemas/USAddress'
        income:
          $ref: '#/components/schemas/IncomeRequest'
      required:
      - dob
      - email
      - homeAddress
      - income
      - name
      - phone
    AssignedUserResponse:
      properties:
        userUuid:
          type: string
          format: uuid
      required:
      - userUuid
    MessageResponse:
      properties:
        level:
          type: string
        message:
          type: string
      required:
      - level
      - message
    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
    RepullCreditForHelocInquiryRequest:
      properties:
        request:
          $ref: '#/components/schemas/CommonHelocPayloadRequest'
      required:
      - request
    UtmParametersRequest:
      properties:
        source:
          type: string
        medium:
          type: string
        campaign:
          type: string
        term:
          type: string
        content:
          type: string
    ReassignLeadResponse:
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageResponse'
    ConditionResponse:
      properties:
        active:
          type: boolean
        name:
          type: string
        createdDate:
          type: string
          format: date-time
        lastUpdateDate:
          type: string
          format: date-time
      required:
      - active
      - name
    AddPropertyEstimateRequest:
      properties:
        request:
          $ref: '#/components/schemas/CommonHelocPayloadRequest'
        propertyEstimate:
          $ref: '#/components/schemas/PropertyEstimateRequest'
      required:
      - propertyEstimate
      - request
    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
    ExternalReferenceDataRequest:
      properties:
        externalApplicationId:
          type: string
        externalReferenceId:
          type: string
        externalCustomerId:
          type: string
    AddSsnResponse:
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageResponse'
    PartnerDataRequest:
      properties:
        externalAppId:
          type: string
        externalReferenceId:
          type: string
        externalCustomerId:
          type: string
        utmParameters:
          $ref: '#/components/schemas/UtmParametersRequest'
    LiabilityPayoffRequest:
      properties:
        selectedAccountsToPayoff:
          type: array
          items:
            type: string
      required:
      - selectedAccountsToPayoff
    MatchingPropertiesResponse:
      properties:
        properties:
          type: array
          items:
            $ref: '#/components/schemas/MatchingPropertyResponse'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageResponse'
      required:
      - properties
    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
    DocumentListResponse:
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageResponse'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentSummary'
      required:
      - documents
    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
    SelectMatchingPropertyRequest:
      properties:
        request:
          $ref: '#/components/schemas/CommonHelocPayloadRequest'
        property:
          $ref: '#/components/schemas/MatchingPropertyRequest'
      required:
      - property
      - request
    DirectDebtPayoffDetailsResponse:
      properties:
        organization:
          type: string
        appUuid:
          type: string
          format: uuid
        offers:
          type: array
          items:
            $ref: '#/components/schemas/UnderwritingOfferResponse'
      required:
      - appUuid
      - offers
      - organization
    PropertyDetailsResponse:
      properties:
        county:
          type: string
        propertyType:
          type: string
          enum:
          - PRIMARY
          - SECONDARY
          - INVESTMENT
        propertyUuid:
          type: string
          format: uuid
        corelogicPropertyId:
          type: string
        lotSquareFeet:
          type: integer
          format: int32
        propertyFloodZone:
          type: string
        landUseDescription:
          type: string
        landUseCode:
          type: string
        buildingGrossArea:
          type: number
        propertyAcres:
          type: number
    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
    BorrowerDetailsResponse:
      properties:
        primary:
          $ref: '#/components/schemas/BorrowerResponse'
        additionalSigners:
          type: array
          items:
            $ref: '#/components/schemas/BorrowerResponse'
      required:
      - primary
    IncomeRequest:
      properties:
        employmentType:
          type: string
          enum:
          - UNKNOWN
          - OTHER
          - SELF_EMPLOYED
          - FULL_TIME
          - PART_TIME
          - RETIRED
          - UNEMPLOYED
          - ALIMONY
          - CHILD_SUPPORT
          - PUBLIC_ASSISTANCE_PROGRAM
          - SEPARATE_MAINTENANCE_PAYMENTS
        grossAnnualIncome:
          type: number
        annualRetirementIncome:
          type: number
        annualInvestmentIncome:
          type: number
        annualBusinessIncome:
          type: number
        savingsAmount:
          type: number
        otherAnnualIncome:
          type: number
      required:
      - employmentType
      - grossAnnualIncome
    UtmParametersResponse:
      properties:
        source:
          type: string
        medium:
          type: string
        campaign:
          type: string
        content:
          type: string
        term:
          type: string
    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
    UnderwritingResponse:
      properties:
        decision:
          type: string
        minOfferAmount:
          type: number
        maxOfferAmount:
          type: number
        minOfferRate:
          type: number
        maxOfferRate:
          type: number
        offers:
          type: array
          items:
            $ref: '#/components/schemas/UnderwritingOfferResponse'
        selectedOffer:
          $ref: '#/components/schemas/UnderwritingSelectedOfferResponse'
        softCredit:
          $ref: '#/components/schemas/UnderwritingCreditResponse'
        hardCredit:
          $ref: '#/components/schemas/UnderwritingCreditResponse'
        monthlyIncome:
          type: number
        statedMonthlyIncome:
          type: number
        preLoanDti:
          type: number
        postLoanDti:
          type: number
        statedDti:
          type: number
        coDeedStatus:
          type: string
          enum:
          - INITIAL
          - IN_PROGRESS
          - COMPLETE
        floodInsured:
          type: boolean
        homeownersInsured:
          type: boolean
        employmentType:
          type: string
        homeForSaleMlsResponse:
          type: boolean
        homeForSaleBorrowerAttested:
          type: boolean
        creditAsOfDate:
          type: string
          format: date
        pricingAsOfDate:
          type: string
          format: date
        guidelineVersion:
          type: string
    LicenseResponse:
      properties:
        licenseHolder:
          $ref: '#/components/schemas/LicenseHolderResponse'
        stateLicense:
          $ref: '#/components/schemas/LicenseStateResponse'
    NameRequest:
      properties:
        prefix:
          type: string
          pattern: ^[a-zA-Z0-9\s\-']+$
        firstName:
          type: string
          pattern: ^[a-zA-Z0-9\s\-']+$
        middleName:
          type: string
          pattern: ^[a-zA-Z0-9\s\-']+$
        lastName:
          type: string
          pattern: ^[a-zA-Z0-9\s\-']+$
        suffix:
          type: string
      required:
      - firstName
      - lastName
    SelectOfferResponse:
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageResponse'
        appDetails:
          $ref: '#/components/schemas/HelocDetailsResponseData'
    StatusHistoryResponse:
      properties:
        overallStatus:
          type: string
        status:
          type: string
        timestamp:
          type: string
          format: date-time
      required:
      - overallStatus
      - status
    RepullCreditForInquiryResponse:
      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
    BusinessInfoRequest:
      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
          pattern: ^[A-Za-z]{2}$
        address:
          $ref: '#/components/schemas/USAddress'
    ReasonResponse:
      properties:
        unavailableReason:
          type: string
          enum:
          - NO_MATCHED_TRADELINE
          - NO_MATCHED_LIEN
          - NO_STATE_ELIGIBILITY
          - ABOVE_MAXIMUM_BALANCE
          - EXCLUDED_BY_CREDIT_SCORE
          - EXCLUDED_BY_CHARGED_OFF_ACCOUNT
          - EXCLUDED_BY_CREDIT_CARD_TOTAL_ACCOUNT_DTI
          - EXCLUDED_BY_NEXT_MIN_PAYMENT
          - EXCLUDED_BY_MONETARY_BALANCE
          - EXCLUDED_BY_MONETARY_ORIGINAL_LOAN_AMOUNT
          - EXCLUDED_BY_PAYMENT_CAPABILITY
          - EXCLUDED_BY_SUBSCRIPTION_CAPABILITY
          - EXCLUDED_BY_SENSITIVE_ACCOUNT_CAPABILITY
          - SEASONING_REQUIREMENTS_NOT_MET
          - OTHER
        description:
          type: string
    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
    FundingTransactionReportResponse:
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/FundingTransactionResponse'
    CancelInquiryResponse:
      properties:
        messages:
          type: array
          items:
            $r

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/figure-technology-solutions/refs/heads/main/openapi/figure-technology-solutions-heloc-application-requests-api-openapi.yml