> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lms.bsa.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List repayments

> Fetch the paginated list of a loan's repayment transactions.

Returns the loan's **repayment** transactions — newest first, with
pagination. Built for a "Loan Transaction Details" view where a loan may
have many partial payments. Only customer repayments are listed;
disbursements, waivers, and accruals are excluded.

For a quick snapshot without pagination, the same entries are also
embedded as `repaymentHistory` on the
[single-loan response](/loans/overview). Use this endpoint when you need
paging or the full history in isolation.

Addressed by the loan's externalId (this read has no numeric-id form).

## Path parameters

<ParamField path="loan_external_id" type="string" required>
  The loan's externalId.
</ParamField>

## Query parameters

<ParamField query="page" type="integer" default="1" />

<ParamField query="rows" type="integer" default="10" />

See [Pagination](/concepts/pagination) for the common envelope.

## Examples

```bash theme={null}
curl -sf "$BASE/v1/loans/external/loan-ext-12345/repayments?page=1&rows=25" \
  -H "Authorization: Bearer $TOKEN"
```

## Response

`200 OK`. Each item is a [repayment object](/repayments/overview) and is
always a customer repayment, ordered newest first.

```json theme={null}
{
  "items": [
    {
      "id": "249",
      "type": "Repayment",
      "date": "2026-06-04",
      "amount": 5550,
      "principal": 5000,
      "interest": 550,
      "status": "posted"
    },
    {
      "id": "238",
      "type": "Repayment",
      "date": "2026-05-28",
      "amount": 2000,
      "principal": 900,
      "interest": 1100,
      "status": "posted"
    }
  ],
  "total": 2,
  "page": 1,
  "rowsPerPage": 25
}
```

## Errors

| Code               | When                               |
| ------------------ | ---------------------------------- |
| `not_found`        | No loan with that id or externalId |
| `invalid_argument` | Invalid `page` / `rows`            |
