LendEasy/DocsLMS + Servicing·v1
Start integrating
Recipes›Lending›Fund 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
Lending Core
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 rule. 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