Disburse loans

Loan disbursement is the step where you release the approved funds to the borrower’s account according to the agreed terms, turning a booked loan into money the borrower can actually use. You can disburse the loan in a single lump sum (single disbursement) or over several payments (multiple disbursement). The loan product defines disbursement rules. For more information, refer to Create loan products.

Disburse a loan

You can use Control Center or the API to disburse a loan.

MethodDescriptionFor more information
Control CenterYou can disburse a loan as part of account management.Manage loans in Control Center
APIUse the Disburse loans endpoint.Disburse loan

Use the Disburse loans endpoint with the following example payload, which must include the loan_id and disbursement_account (either for INTERNAL or EXTERNAL account_type).

Request payload
{
 "disbursement_date": "2026-06-24",
 "disbursement_amount": 1000.00,
 "disbursement_account": {
   "account_type": "INTERNAL",
   "account_id": 103614168
 }
}

You can find the disbursement_date and disbursement_amount in the loan simulation. For more information, refer to Simulate loans.

After you disburse the loan, the API response includes the disbursement_id. This ID confirms that the loan disbursement was successful.

Response payload
{
   "loan_id": "5d9d9339-3b5e-4c33-b129-8155e4d4946b",
   "authorization_id": 123456789,
   "authorization_tracking_id": "4df987e3-8179-11ed-8209-06c7b022d1ee",
   "disbursement_id": "c1eb9f28-e1c9-4705-b2b5-f986b3bc7455",
   "disbursement_amount": 1000.00
}

Single disbursement

For single disbursement, call the Disburse loans endpoint once. In the following example request, the loanId path parameter is "2717a296-124a-47cc-b2a1-91e80dc723eb":

Request payload
curl --request POST \
     --url https://sandbox.pismolabs.io/lending/v2/loans/2717a296-124a-47cc-b2a1-91e80dc723eb/disburse \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "disbursement_account": {
    "account_type": "INTERNAL",
    "account_id": 221123
	}
}
'

The Pismo platform generates a Loan disbursement status changed event:

Loan disbursement status changed event
{
    "loan_id": "2717a296-124a-47cc-b2a1-91e80dc723eb",
    "org_id": "TN-89e56522-726a-453e-ba6d-796b03245128",
    "disbursement_id": "89e56522-726a-453e-ba6d-796b03245128",
    "idempotency_key": "48704d83-0412-431f-816a-50ba81451148",
    "currency": "USD",
    "created_at": "2026-10-24T21:34:47",
    "updated_at": "2026-10-24T21:34:47",
    "previous_disbursement_status": "SCHEDULED",
    "current_disbursement_status": "PROCESSING",
    "disbursement_amount": 1234.56,
    "disbursement_account": {
        "account_type": "INTERNAL",
        "account_id": 221123
    },
    "authorization_id": 1231231,
    "authorization_tracking_id": "ded913af-abc9-4769-b179-068ed6181ec5",
    "disbursement_date": "2026-10-24"
}

The current disbursement status is stored in the loan object under disbursement.schedule[].status. The status can be SCHEDULED, PROCESSING, CANCELED, EXPIRED, or PAID. Each schedule entry also includes the date of the scheduled or actual disbursement.

Multiple disbursements

You can disburse a loan in multiple parts (tranches) instead of a single release. Use this approach when funds are released over time or tied to conditions, such as project milestones.

📘

Loan product prerequisites

Since the loan product defines disbursement rules, ensure the associated product has these settings for multiple disbursements:

  • The disbursement_method object is set to MULTIPLE
  • The processing_codes object is configured with internal arrays, external arrays, or both

If either parameter is missing, the Pismo platform treats the loan as a single-disbursement loan.

For more information, refer to Create loan products.

For multiple disbursements, call the Disburse loan endpoint multiple times.

For each request, you must provide:

  • disbursement_amount
  • disbursement_id

Validation rules

The Pismo platform ensures that the total disbursed amount does not exceed the loan principal. With each disbursement, the platform compares the amount required for the disbursement with the remaining principal amount. If the disbursement amount would cause the remaining principal to be depleted, the platform rejects the disbursement.

Example

Scenario

Amount

Remaining principal

Result

Loan principal

Loan origination (1,000)

1,000

No disbursements made at start

First disbursement

450

550

✅ Disbursement accepted

Second disbursement

550

0

✅ Disbursement accepted

Third disbursement

100

0

❌ Disbursement rejected
(exceeds principal)

This example shows the first disbursement for 400, so the remaining principal allows the platform to accept the disbursement. Any response other than 202 means the disbursement was rejected.

Example request

Request payload
{
  "disbursement_id": "5c075cc6-8dc2-4fe6-9ed7-cf5687d4e834",
  "disbursement_date": "2026-06-24",
  "disbursement_amount": 400.00,
  "disbursement_account": {
    "account_type": "INTERNAL",
    "account_id": 784165
  }
}

View disbursement information

You can use Control Center or the API to view loan disbursement information:

MethodDescriptionFor more information
Control CenterYou can view disbursement information as part of account management.Manage loans in Control Center
APIUse the Get loan or List account loans endpoints.Get loan

List account loans

Lists can be appended with new list items, but existing list items are immutable. This restriction means you can add new items to the list, but you can't change or remove existing items.

Events

Each disbursement generates these events:



Did this page help you?