Skip to content
Docs

HELOC Inquiries/Offers

Calculate offers

POST/products/heloc/v1/inquiry/{appUuid}/calculate-offers
Request
curl -X POST \
  "https://api.test.figure.com/products/heloc/v1/inquiry/{appUuid}/calculate-offers" \
  -H "apikey: $FIGURE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 0,
  "originationFee": 0,
  "liabilityPayoffAmount": 0,
  "accountIds": [
    "string"
  ],
  "autoPayDiscountEnabled": true,
  "cuDiscountEnabled": true
}'

Path parameters

  • appUuidstringRequired

Request body

application/json
  • amountnumberRequired

    In the standard path this is the net draw amount; in the direct-debt-payoff (DDP) path this is the total selected amount before subtracting liability payoff.

  • autoPayDiscountEnabledbooleanRequired

    Whether standard autopay discounts should be applied during recalculation.

  • cuDiscountEnabledbooleanRequired

    Whether standard credit union / affiliate discounts should be applied during recalculation.

  • originationFeenumber

    When provided, only offers with this exact origination fee are returned. Orgs with dynamically changing origination fees are the primary reason this endpoint exists as the 'source of truth' for offers going forward.

  • liabilityPayoffAmountnumber

    Optional total liability payoff amount for DDP recalculation.

  • accountIdsarray of strings

    Optional selected liability account IDs for DDP recalculation.

Responses

200OKobject

  • messagesarray of objects
    ShowHide 2 attributes of messages
    • levelstringRequired
    • messagestringRequired
  • underwritingobject
    ShowHide 26 attributes of underwriting
    • decisionstring
    • minOfferAmountnumber
    • maxOfferAmountnumber
    • minOfferRatenumber
    • maxOfferRatenumber
    • ofeeMaxThresholdnumber
    • offersarray of objects
      ShowHide 11 attributes of offers
      • uuidstring<uuid>Required
      • minAmountnumberRequired
      • maxAmountnumberRequired
      • ratenumberRequired
      • primeRatenumberRequired
      • terminteger<int32>Required
      • rateTypeenumRequired
        One ofUNKNOWNFIXEDVARIABLE
      • originationFeePercentnumberRequired
      • discountsarray of objects
        ShowHide 2 attributes of discounts
        • typestringRequired
        • rateDiscountAmountnumberRequired
      • preDiscountOriginationFeenumber
      • appliedOriginationFeeCapAmountnumber
    • selectedOfferobject
      ShowHide 13 attributes of selectedOffer
      • offerUuidstring<uuid>Required
      • loanAmountnumberRequired
      • drawAmountnumberRequired
      • estimatedMonthlyPaymentnumberRequired
      • ratenumberRequired
      • primeRatenumberRequired
      • terminteger<int32>Required
      • rateTypeenumRequired
        One ofUNKNOWNFIXEDVARIABLE
      • originationFeePercentnumberRequired
      • originationFeenumberRequiredDeprecated

        use originationFeePercent instead

      • selectedDiscountsarray of objects
        ShowHide 2 attributes of selectedDiscounts
        • typestringRequired
        • rateDiscountAmountnumberRequired
      • creditLinenumber
      • originationFeeAmountnumber
    • softCreditobject
      ShowHide 3 attributes of softCredit
      • providerenum
        One ofEXPERIANTRANS_UNION
      • scoreinteger<int32>
      • timestampstring<date-time>
    • hardCreditobject
      ShowHide 3 attributes of hardCredit
      • providerenum
        One ofEXPERIANTRANS_UNION
      • scoreinteger<int32>
      • timestampstring<date-time>
    • monthlyIncomenumber
    • statedMonthlyIncomenumber
    • preLoanDtinumber
    • postLoanDtinumber
    • statedDtinumber
    • coDeedStatusenum
      One ofINITIALIN_PROGRESSCOMPLETE
    • floodInsuredboolean
    • homeownersInsuredboolean
    • employmentTypestring
    • homeForSaleMlsResponseboolean
    • homeForSaleBorrowerAttestedboolean
    • creditAsOfDatestring<date>
    • pricingAsOfDatestring<date>
    • guidelineVersionstring
    • finalAvmFsdinteger<int32>
    • prequalFsdinteger<int32>
  • requestUuidstring<uuid>
Response
{
  "messages": [
    {
      "level": "string",
      "message": "string"
    }
  ],
  "underwriting": {
    "decision": "string",
    "minOfferAmount": 0,
    "maxOfferAmount": 0,
    "minOfferRate": 0,
    "maxOfferRate": 0,
    "ofeeMaxThreshold": 0,
    "offers": [
      {
        "uuid": "3f2b6c1e-8d4a-4b7e-9c2f-5a1d7e9b0c3a",
        "minAmount": 0,
        "maxAmount": 0,
        "rate": 0,
        "primeRate": 0,
        "term": 0,
        "rateType": "UNKNOWN",
        "originationFeePercent": 0,
        "discounts": [
          {
            "type": "string",
            "rateDiscountAmount": 0
          }
        ],
        "preDiscountOriginationFee": 0,
        "appliedOriginationFeeCapAmount": 0
      }
    ],
    "selectedOffer": {
      "offerUuid": "3f2b6c1e-8d4a-4b7e-9c2f-5a1d7e9b0c3a",
      "loanAmount": 0,
      "drawAmount": 0,
      "estimatedMonthlyPayment": 0,
      "rate": 0,
      "primeRate": 0,
      "term": 0,
      "rateType": "UNKNOWN",
      "originationFeePercent": 0,
      "originationFee": 0,
      "selectedDiscounts": [
        {
          "type": "string",
          "rateDiscountAmount": 0
        }
      ],
      "creditLine": 0,
      "originationFeeAmount": 0
    },
    "softCredit": {
      "provider": "EXPERIAN",
      "score": 0,
      "timestamp": "2026-01-15T14:30:00Z"
    },
    "hardCredit": {
      "provider": "EXPERIAN",
      "score": 0,
      "timestamp": "2026-01-15T14:30:00Z"
    },
    "monthlyIncome": 0,
    "statedMonthlyIncome": 0,
    "preLoanDti": 0,
    "postLoanDti": 0,
    "statedDti": 0,
    "coDeedStatus": "INITIAL",
    "floodInsured": true,
    "homeownersInsured": true,
    "employmentType": "string",
    "homeForSaleMlsResponse": true,
    "homeForSaleBorrowerAttested": true,
    "creditAsOfDate": "2026-01-15",
    "pricingAsOfDate": "2026-01-15",
    "guidelineVersion": "string",
    "finalAvmFsd": 0,
    "prequalFsd": 0
  },
  "requestUuid": "3f2b6c1e-8d4a-4b7e-9c2f-5a1d7e9b0c3a"
}