LendEasy/Docs
Get API keys
RecipesLendingFund a disbursement

Fund a disbursement

Approve Harbor's payout as a second user, watch the system submit and post it value-dated, and verify that the loan activates only after the ledger posting agrees.

Time
~6 min plus settlement
Surface
LMS API
Steps
3
Gate
Second approver · ownership · reconciliation
EndpointsPOST /v1/loans/{loanId}/fundings/{fundingId}/approveGET /v1/loans/{loanId}/fundings/{fundingId}GET /v1/loans/{loanId}

Start with funding 5107, the disbursement created in Originate a loan. It pays Harbor’s full $8,400.00 principal to Maya’s verified instrument; the $252.00 prepaid finance charge is assessed on the loan at disbursement, which is why the disclosure’s amount financed is $8,148.00.

1

Approve as a different user

Second actor
POST/v1/loans/7204/fundings/5107/approve

The approver reviews amount, recipient ownership, and masked destination; the creator can never approve their own funding. The request takes no body. Approval re-checks the loan, recipient, instrument, and restrictions—a new DISBURSEMENT_HOLD or instrument deactivation blocks before money leaves.

curl -X POST "$BASE/v1/loans/7204/fundings/5107/approve" \
  -H "Authorization: Bearer $APPROVER_TOKEN" \
  -H "LendEasy-Tenant: demo-lender" \
  -H "Idempotency-Key: approve-funding-5107"
{ "resourceId": 5107 }

There is no submit call: approval releases the funding, and the system submits it to the rail on the value date—here the expected disbursement date of August 12.

2

Poll for posting

GET/v1/loans/7204/fundings/5107

Poll only if webhooks are unavailable. SETTLED_PENDING_POST means the rail confirmed release; POSTED means the authoritative loan ledger also recorded the disbursement, value-dated to the release date. Need to stop a payout instead? POST /v1/loans/7204/fundings/5107/cancel with a reasonCode works only before submission.

curl "$BASE/v1/loans/7204/fundings/5107" \
  -H "Authorization: Bearer $TOKEN" \
  -H "LendEasy-Tenant: demo-lender"
{
  "fundingId": 5107,
  "loanRef": "7204",
  "fundingType": "DISBURSEMENT",
  "recipientType": "BORROWER",
  "recipientRef": "412",
  "status": "POSTED",
  "amount": "8400.00",
  "currency": "USD",
  "rail": "ACH",
  "postedTransactionRef": "30119",
  "createdAt": "2026-08-11T18:20:00Z"
}
3

Verify the loan activated

Reconciled
GET/v1/loans/7204
curl "$BASE/v1/loans/7204" \
  -H "Authorization: Bearer $TOKEN" \
  -H "LendEasy-Tenant: demo-lender"

The loan is active, principal outstanding is $8,400.00 before the first payment, and accrual begins from the actual disbursement date. If rail settlement exists without a ledger posting, the funding enters POSTED_FAILED_REVIEW and a reconciliation exception opens—the platform does not submit a duplicate payout.

One payout, three records, one invariant. Funding, provider settlement, and ledger transaction must agree on amount, recipient, and effective date before funding is operationally complete.
Unified search across guides, recipes & the API referenceEsc