Parameters, response columns and types are generated from the SQL catalog and
render under Endpoints → Screens in the sidebar. This page carries what a
schema cannot: what each screen measures, what else looks the same, and how to
narrow one that is too wide.
Overview
The same screens the dashboard runs on /suspicious, /dormant and /fidc, served from one definition: eachscreen_* function calls the screen the dashboard reads, so the page and
the API cannot disagree about who crossed a line.
Three more screens look at how funds file rather than what they hold —
restatements, late and silent filers — and have no dashboard page. They follow
the same contract and live on Filing-behaviour screens.
The machine-readable twin is
screens in catalog():
per screen, the defaults, the allowed ranges, the output filters and a meaning
that says what else produces the same pattern.
Every row says how it got there
Two columns close every row, whatever the screen:params is a claim without its premise. Keep them
together when you pass a result on.
Calling one
With no arguments, every screen reproduces its dashboard page.
A threshold outside its range, or
null, raises 22023 naming the range. It is
never clamped: a screen evaluated at a threshold you did not ask for is a
different screen with your label on it.
Too many rows: narrow, don’t page
Screens do not page. Above one 1,000-row page they raise22023
(Conventions → Row caps) — a screen is a short
list or it is the wrong screen. Two of them exceed a page at their defaults, and
take output filters that narrow the result without changing the screen
(echoed in params like the thresholds):
screen_dormant_funds—p_dormancy(empty_shellorparked_capital) andp_min_nav(keep classes whose last NAV is at least this). The parked-capital population alone was 8,257 classes in September 2026: pinp_dormancyand walkp_min_navbands.screen_delinquency_drivers—p_driver, one of the five classes. Every FIDC with enough observations gets a row,stableincluded.
22023; it is not ignored.
What each screen cannot tell apart
Windows and freshness
dormant_funds,dormant_trendanddelinquency_driversanchor on the family’s latest complete period (coverage().complete_through), never on today, so a partially-filed month cannot read as “no flow”.captive_vehiclesandevergreen_aginglook back from today; a month CVM has not published yet is simply absent.delinquency_driversrefuses a window that starts before 2025-01: FIDC delinquency is not filed before then (the regime break). Shortenp_monthsor movep_end.
Limits
No tier ceiling: the page is the ceiling, identically for every caller. The binding limit is the query budget — 3 s anonymous, 8 s signed in.dormant_trend over its full 60-month range is the heaviest call here; if it
times out anonymously, sign in or shorten p_history_months.