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

# Portfolio and delinquency

> Read the active loan book in aggregate: the portfolio dashboard, the delinquent-loan register, and the nightly snapshot both of them read.

Servicing tracks each loan account individually. The portfolio surface reads the book in aggregate. With it, you can see the shape of the portfolio (A grouping of accounts belonging to the same account holder, business unit, or purpose. It ties together checking, savings, and investment accounts for a unified view.) and which loans fall behind, without querying loan by loan.

Both reads answer from a **snapshot** of one business day, never from a live scan of the book. That makes them cheap enough to put on a dashboard. It is also why they answer for a date rather than for "now".

## Portfolio dashboard

***

`GET /api/v1/dashboard/portfolio` returns the aggregate picture of the active book for a business date. The picture holds outstanding, current and delinquent exposure, the count of active and delinquent loans, and disbursement and repayment volume. It also holds the portfolio-at-risk ratios at 30, 60 and 90 days. Alongside them, it returns the loan count and exposure per delinquency bucket, and a month-by-month trend leading up to the date. It also returns the drill-down rows for the bucket you asked about.

Narrow the read with `productIds` and `productVersionIds`. Omit `asOf` and Lender uses the current business day in Brazil.

## Delinquent loans

***

`GET /api/v1/dashboard/delinquent-loans` returns the register behind the numbers: the loan accounts sitting in one delinquency bucket, page by page, so you can prioritise collections and provisioning. Ask for a bucket with `bucketCode` (`current`, `1_30`, `31_60`, `61_90`, `91_plus`, or the cumulative `par30`, `par60` and `par90`), and narrow to one loan officer's book with `assignedOfficerId`.

Brazil has an alias, `GET /api/v1/br/dashboard/delinquent-loans`, that adds a filter on the regulatory *carteira* C1 to C5 of Res. BCB 352/2023 to every filter above: the business date, the products, the product versions, the bucket, the loan officer and the paging all still apply. Lender derives the carteira from the product, so one that no product declares returns an empty page.

## Where the numbers come from

***

A nightly snapshot job, off by default, measures every live loan account against the business day and writes the snapshot these two reads answer from. The **PDD promotion sweep** described in the [Brazil regulatory pack](/en/products/lender/brazil-regulatory-pack.md) depends on the same snapshot. It builds the snapshot for its own business day when nothing else did. A deployment that leaves the snapshot job off and keeps the sweep on therefore still has a measured book.

> [!WARNING]
>
> Lender refuses a business date nobody measured with `503`, and never answers it with a page of zeros. An unmeasured book and a book with nothing overdue produce the same numbers. Answering the first as if it were the second would report a healthy portfolio that was never looked at. Treat the refusal as "retry", not as "the book is empty".
>
> The retry only starts answering once a producer has measured that date. The producer is the [nightly PDD promotion sweep](/en/products/lender/brazil-regulatory-pack.md#the-nightly-promotion-sweep), which ships on, or the dedicated snapshot job, which ships off. With both of them off, no amount of retrying helps.

Each answer carries its own provenance. It names which snapshot it came from, the business date that snapshot measured, and when it was generated. It also says whether the freshness policy considers it stale, and why.

## Audit is per-account

***

Portfolio views are aggregate reads. The authoritative, immutable record of what happened to any single loan is its audit trail (A chronological, immutable record of every action and transaction in the system, essential for regulatory compliance and dispute resolution.) (`GET /api/v1/loan-accounts/{id}/audit-events`), covered in [Service a loan](/en/products/lender/service-a-loan.md). Every repayment, reversal, and replay lands there.

## Next steps

***

> **[Brazil regulatory pack](/en/products/lender/brazil-regulatory-pack.md)**
>
> PDD staging, the nightly promotion sweep, and the provisioning the stages drive.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.