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.
| Method | Description | For more information |
|---|---|---|
| Control Center | You can disburse a loan as part of account management. | Manage loans in Control Center |
| API | Use 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_methodobject is set toMULTIPLE- The
processing_codesobject is configured with internal arrays, external arrays, or bothIf 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_amountdisbursement_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 |
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:
| Method | Description | For more information |
|---|---|---|
| Control Center | You can view disbursement information as part of account management. | Manage loans in Control Center |
| API | Use 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:
- Loan disbursement status changed—Shows the progress and outcome of the specific disbursement
- Loan status changed—Reflects updates to the loan; for example, total amount disbursed or modified balances
Updated 24 days ago