Project a payoff
Read Harbor's good-through-date payoff projection from the loan summary, explain every component, and collect the exact amount through the normal payment path.
Assume Harbor has $7,975.61 principal outstanding on September 20. Maya asks what will close the loan if payment is effective October 1.
Read the payoff projection
No ledger effectPayoff is a projection computed inside the loan summary, not a stored quote: there is no payoff resource, no quote id, and no quote lifecycle. Pass payoffGoodThroughDate—or omit it to project through the current business date.
curl "$BASE/v1/loans/7204/summary?payoffGoodThroughDate=2026-10-01" \
-H "Authorization: Bearer $TOKEN" \
-H "LendEasy-Tenant: demo-lender"{
"loanRef": "7204",
"customerRef": "412",
"status": "ACTIVE",
"currency": "USD",
"principalOutstanding": "7975.61",
"payoff": {
"available": true,
"principal": "7975.61",
"interestAccruedToDate": "90.97",
"fees": "0.00",
"penalties": "0.00",
"total": "8066.58",
"currency": "USD",
"goodThroughDate": "2026-10-01",
"quotedAt": "2026-09-20T10:00:00Z",
"validUntil": "2026-10-01"
},
"inFlightPaymentAmount": "0.00",
"asOf": "2026-09-20T10:00:00Z"
}Reading the projection freezes nothing: a return, adjustment, or payment after quotedAt changes the next read. If you keep the number, keep quotedAt and goodThroughDate with it.
Explain and verify the total
principal outstanding 7,975.61
interest through Oct 1 90.97
eligible fees 0.00
penalties 0.00
--------
payoff total 8,066.58Check available and inFlightPaymentAmount before giving Maya the number—an in-flight payment changes what will actually close the loan. When you need the figure again, re-read the summary with the same payoffGoodThroughDate; do not recompute it in a UI.
Collect the projected amount
Value date pinnedcurl -X POST "$BASE/v1/loans/7204/payments" \
-H "Authorization: Bearer $TOKEN" \
-H "LendEasy-Tenant: demo-lender" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: collect-harbor-payoff-2026-10-01" \
-d '{
"instrumentId": 704,
"amount": "8066.58",
"currency": "USD",
"rail": "ACH",
"effectiveDate": "2026-10-01",
"source": "BORROWER"
}'Record quotedAt and goodThroughDate in your workflow evidence so the collected amount can be traced to the projection that produced it. The loan closes only after the payment posts and the authoritative balance reaches zero. If Maya pays with an effective date after October 1, read a fresh projection for the later date; do not append guessed per-diem interest.