Disburse loan application
Validates disbursement eligibility, dispatches the resolving jurisdictional disbursement pipeline inside the parent transaction, and moves an approved application to disbursed. Idempotent: the lib-commons middleware enforces replay detection via X-Idempotency.
Authorizations
JWT bearer token issued by the identity provider.
Headers
Canonical idempotency request ID (lib-commons enforcer reads this).
Path Parameters
Loan application identifier.
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
Body
Disbursement timestamp (RFC3339).
"2026-06-14T12:00:00Z"
Gross requested disbursement amount as a decimal string (e.g. "50000.00").
"50000.00"
Loan account identifier (UUID).
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
Net delivered disbursement amount as a decimal string (e.g. "49500.00").
"49500.00"
Optional ISO-4217 currency assertion (3 uppercase letters). When present it MUST equal the loan application's currency (a double-entry guard); a divergence is rejected with 422. When omitted, the loan's own currency is used.
3^[A-Z]{3}$"BRL"
Day the first instalment falls due (YYYY-MM-DD or RFC3339), read exactly as the schedule preview and the tax quote read it: an RFC3339 instant names the Brazilian civil day it falls on, so 2026-03-09T22:00:00-03:00 is 9 March. OPTIONAL: omit it and the contract takes the generator's own grid, one month after the money moves. Supply it on the FIRST tranche and the ladder is struck on it, bounded by the loan product version's admitted window (LENDER-0235); a later tranche naming one is refused, because a top-up re-anchors on the original grid.
"2026-03-10"
Opaque per-jurisdiction disbursement payload, validated at the use-case layer.
Optional per-disbursement origination fee as a decimal string (e.g. "150.00"). RETAINED from the borrower's cash at disbursement and credited to the product's deferred-income account, from which it is amortized back as yield over the contract's life (Res. CMN 4.966 art. 18). It is part of the disburse invariant: netDeliveredAmount MUST equal grossRequestedAmount minus the jurisdiction withholdings minus this fee. It is NOT a withholding (no third party is owed it) and it is never billed to the borrower on a schedule line. Omitted or empty defaults to "0".
"150.00"
Optional tranche position for a multi-tranche release: 1 for the first, 2 for the second, and so on. It must be exactly one more than the number of disbursements this application already carries. Omit it only for an application's SINGLE disbursement, which must then release the approved amount exactly — a second disbursement that declares no tranche is refused 409 LENDER-0201, and a wrong position or a total above the approved amount is refused 422 LENDER-0202.
x >= 12
Response
OK
Authenticated officer who created the application (request subject), or empty on a system-originated application, which has no human officer. Whatever the identity provider issues as the subject: not necessarily a UUID, at most 255 characters.
"officer-xyz"
Borrower identifier (UUID).
"550e8400-e29b-41d4-a716-446655440002"
Expected disbursement date (RFC3339, UTC).
"2026-06-14T12:00:00Z"
Loan application identifier (UUID).
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
Loan product version this application was created against (UUID).
"550e8400-e29b-41d4-a716-446655440000"
ISO-2 jurisdiction code resolved at preview time.
"BR"
Jurisdiction profile version resolved at preview time.
"1.0.0"
Number of installments requested.
24
Requested monthly interest rate as a decimal string, scale 8 (e.g. "0.00000100").
"0.00000100"
Requested principal amount as a decimal string, minor-unit precision scale 2 (e.g. "50000.00").
"50000.00"
Lifecycle status: one of pending_approval, approved, rejected, withdrawn, disbursed.
"pending_approval"
Approval facts; present only when the application is approved or disbursed.
Whose credit this is, as declared at creation. ABSENT on an application created before the declaration existed: such an application cannot be taxed or described, and the paths that need the kind refuse it with LENDER-0230 rather than assuming one.
"pessoaFisica"
Disbursement facts; present only when the application is disbursed.
Schedule offer this application cites (UUID). ABSENT when it cites none, which is allowed: simulating first is optional.
"6ba7b810-9dad-11d1-80b4-00c04fd430c8"
Rejection facts; present only when the application is rejected.
Withdrawal facts; present only when the application is withdrawn.

