---
title: "List packages with stewardship data"
method: GET
path: "/akrites/packages"
tags: ["Packages"]
---

# List packages with stewardship data

`GET /akrites/packages`

Paginated list of critical packages enriched with stewardship status, vulnerability counts, health band, and the latest stewardship activity. Supports rich filtering and sorting.

## Query parameters

- `page` integer
- `pageSize` integer
- `ecosystem` string
- `lifecycle` 'active' | 'stable' | 'declining' | 'abandoned'
- `name` string
- `status` 'unassigned' | 'open' | 'assessing' | 'active' | 'needs_attention' | 'escalated' | 'blocked' | 'inactive'
- `healthBand` 'healthy' | 'fair' | 'concerning' | 'critical' — Derived from `scorecardScore`: `null or < 3.0` → critical · `< 5.0` → concerning · `< 7.0` → fair · `≥ 7.0` → healthy
- `vulnSeverity` 'any' | 'high' | 'critical' | 'none'
- `staleOnly` boolean
- `unstewardedOnly` boolean
- `busFactor1Only` boolean
- `sortBy` 'name' | 'risk' | 'impact' | 'openVulns' | 'health'
- `sortDir` 'asc' | 'desc'

## Response `200`

Paginated package list.

- object
  - `total` integer, required
  - `page` integer, required
  - `pageSize` integer, required
  - `rows` PackageListRow[], required
    - `purl` string, required
    - `name` string, required
    - `ecosystem` string, required
    - `criticalityScore` number, float, nullable
    - `stewardshipId` string, nullable
    - `stewardshipStatus` 'unassigned' | 'open' | 'assessing' | 'active' | 'needs_attention' | 'escalated' | 'blocked' | 'inactive'
    - `openVulns` integer, required
    - `maxVulnSeverity` 'critical' | 'high' | 'medium' | 'low', nullable
    - `maintainerCount` integer, required
    - `scorecardScore` number, float, nullable
    - `healthBand` 'healthy' | 'fair' | 'concerning' | 'critical', required — Derived from `scorecardScore`: `null or < 3.0` → critical · `< 5.0` → concerning · `< 7.0` → fair · `≥ 7.0` → healthy
    - `latestReleaseAt` string, date-time, nullable
    - `lastActivity` object, nullable
      - `type` string, required
      - `content` string, nullable, required
      - `at` string, date-time, required
    - `stewards` StewardEntry[], required
      - `id` string, required
      - `stewardshipId` string, required
      - `userId` string, required
      - `name` string, nullable
      - `role` 'lead' | 'co_steward', required
      - `assignedAt` string, date-time, required
      - `assignedBy` string, nullable
  - `statusCounts` StatusCounts, required — Count of packages per stewardship status (used to drive filter pill badges).
    - `all` integer, required — Total count across all statuses (matches total from the package list without status filter).
    - `unassigned` integer, required
    - `open` integer, required
    - `assessing` integer, required
    - `active` integer, required
    - `needs_attention` integer, required
    - `escalated` integer, required
    - `blocked` integer, required
    - `inactive` integer, required

## Other responses

- `400` — Validation error.
- `401` — Missing or invalid bearer token.

---

[API](https://skmtc.dev/linuxfoundation/apis/cdp-public-api-akrites.md) · [All operations](https://skmtc.dev/linuxfoundation/apis/cdp-public-api-akrites/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/linuxfoundation/cdp-public-api-akrites/revisions/17bbb3d320c3/schema)
