v1
latestOpenAPI 3.1.02026-07-174824.1 KBFiltered paginated package list
Returns a paginated, filtered, sorted list of critical packages with their stewardship state and risk signals.
Used by three tabs:
-
Queue tab — full table with all filters
-
Triage Board — one request per status column, fired in parallel (?status=X&pageSize=50)
-
Summary panel — click-through navigates to Queue with pre-filled filter
The response always includes statusCounts — per-status counts computed without the active status filter, used to drive the tab bar badge numbers.
Query parameters
Case-insensitive substring search on package name.
Filter by package ecosystem. Not validated server-side — any ecosystem stored in the DB is accepted.
Filter by stewardship status. unassigned includes packages with no stewardship row (s.id IS NULL).
Tinybird band when enriched (excellent ≥85, healthy 70–84, fair 50–69, concerning 30–49, critical <30). Falls back to scorecard thresholds: null or < 3.0 → critical · < 5.0 → concerning · < 7.0 → fair · ≥ 7.0 → healthy.
any = at least one open advisory · high = worst rank ≥ HIGH · critical = worst rank = CRITICAL · none = zero advisories.
Return only packages with no release in ≥ 18 months.
Return only packages with status = unassigned or no stewardship row.
Return only packages with exactly one maintainer.
Response
Paginated package list.
Example response
{
"rows": [
{
"purl": "pkg:npm/lodash@4.17.21",
"name": "lodash",
"ecosystem": "npm",
"stewardshipId": "4501",
"openVulns": 3,
"maintainerCount": 2,
"criticalityScore": 0.94,
"impact": 94,
"scorecardScore": 5.2,
"health": {
"score": 52,
"label": "fair"
},
"lifecycle": "active",
"lastActivity": {
"type": "state_changed",
"content": "Moved to active stewardship"
},
"stewards": [
{
"userId": "auth0|abc123"
}
]
}
],
"total": 1842,
"page": 1,
"pageSize": 25
}