---
title: "Get Portfolio Health"
method: GET
path: "/v1/clients/portfolio-health"
tags: ["clients"]
---

# Get Portfolio Health

`GET /v1/clients/portfolio-health`

## Request

- Base URL: `https://api.knownwell.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.knownwell.com/v1/clients/portfolio-health`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/knownwell/apis/knownwell-api/docs/v1/clients/portfolio-health/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `include_archived` boolean
- `portfolio_id` string, nullable: Scope results to a portfolio. Pass an id from GET /portfolios; omit it (or pass 'all-clients') for no scoping. An unknown, malformed or inaccessible id returns 404 rather than all clients. The camelCase spelling 'portfolioId' is accepted as an alias.

## Response `200`

Successful Response

- PortfolioHealthResponse: Portfolio health metrics.
  - `score` integer, required
  - `breakdown` object, required
  - `distribution` object, required
  - `customerId` string, required
  - `chr2CutoverDate` string, nullable: CHR 2.0 cutover date if enabled
  - `portfolioId` string, nullable: The portfolio scope that was actually applied, echoed back. Null on an unscoped response.

## Other responses

- `422`: Validation Error

## Changes

- **2026-08-31** `88246c119184`: 2 info
  - added the new optional `query` request parameter `portfolio_id`
  - added the optional property `portfolioId` to the response with the `200` status

[Operation history](https://skmtc.dev/knownwell/apis/knownwell-api/changes/v1/clients/portfolio-health/get.md)

---

[API](https://skmtc.dev/knownwell/apis/knownwell-api.md) - [All operations](https://skmtc.dev/knownwell/apis/knownwell-api/llms.txt) - [OpenAPI document](https://skmtc.dev/knownwell/apis/knownwell-api/revisions/88246c119184?raw)
