List loans
Loans
List loans
Fetch a paginated list of loans, filterable by customer and status.
GET
List loans
Returns a page of loans. See Pagination for the
common query parameter contract.
See the loan object for the full
field reference.
Query parameters
Common values:
id, principal, expectedDisbursementDate.ASC or DESC.Restrict the result to loans belonging to a specific customer (by
internal LMS id). Mutually exclusive with
customerExternalId —
pass one or the other, not both.Restrict the result to loans belonging to the customer with this
partner-supplied
externalId. Mutually exclusive with customerId.
Named explicitly because loans have their own externalId field too
— this one filters by the customer’s externalId, not the loan’s.Case-insensitive exact match against the loan’s
status. Accepted
values are the exact strings the LMS returns: Active,
Submitted and pending approval, Approved, Withdrawn by applicant,
Rejected, Closed (obligations met), Closed (written off),
Overpaid. The filter is applied wrapper-side after fetching, so
total reflects the filtered count, not the unfiltered scope.
Scans up to 1000 loans per call.Examples
Response
Each row has the same shape as a single-loan read — balance roll-up, next-due summary, and the fullrepaymentSchedule — so
partners can render outstanding-balance / next-instalment / schedule
views without a per-loan detail call.
repaymentSchedule on list rows is best-effort: each row is
hydrated with a per-loan read behind the scenes, and if that read
fails transiently the row is returned without the schedule rather
than failing your whole page. nextDueDate / nextDueAmount are
still present in that case. Treat a missing schedule on a list row
as “retry or fetch the single loan”, not as “this loan has no
schedule” — GET /v1/loans/{id} always carries it.
