Skip to main content
GET
/
v1
/
loans
/
external
/
{loan_external_id}
/
repayments
List repayments
curl --request GET \
  --url https://api.dev.bsa.ai/v1/loans/external/{loan_external_id}/repayments \
  --header 'Authorization: Bearer <token>'
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. 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

loan_external_id
string
required
The loan’s externalId.

Query parameters

page
integer
default:"1"
rows
integer
default:"10"
See Pagination for the common envelope.

Examples

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 and is always a customer repayment, ordered newest first.
{
  "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

CodeWhen
not_foundNo loan with that id or externalId
invalid_argumentInvalid page / rows