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

# Metrics

> Portfolio posture, incidents, and score history for dashboards.

The metrics endpoints power dashboards and reporting. They are **read-only** (`GET`) and require an `account-id` (or `individual`); org callers need at least **viewer**.

Paths are under `/metrics/`.

## Dashboard summary

<ParamField path="GET /metrics/dashboard?account-id={uuid}&vendor-list-id={listId}">
  Returns portfolio counts plus `overallPosture` (the tier-weighted mean of latest scores), `vendorsInOverallPosture`, `avgGrcScore` (unweighted), `portfolioApprovedPercent`, and an explanation string.
</ParamField>

<Info>
  Tier weights used for `overallPosture`: **Core 1.0**, **Standard 0.65**, **Minimal / untiered 0.65**. See [Dependency tiers](/concepts/dependency-tiers).
</Info>

## Recent incidents

<ParamField path="GET /metrics/recent-incidents?account-id={uuid}&vendor-list-id={listId}&limit={n}">
  Returns recent incident records. `vendor-list-id` scopes to a list; `limit` is capped at 100.
</ParamField>

## Vendors from a list

<ParamField path="GET /metrics/vendors-from-list?account-id={uuid}&vendor-list-id={listId}">
  Returns each vendor on the list with `recent_incident_count` (approx. last 30 days), `vendor_id`, and `alerts_enabled`.
</ParamField>

## Portfolio posture history

<ParamField path="GET /metrics/list-posture-history?account-id={uuid}&vendor-list-id={listId}&limit_months={n}">
  Returns monthly tier-weighted posture: `{ items: [{ yearMonth, overallPosture, recordedAt }] }`. Defaults to 24 months (max 120).
</ParamField>

## Vendor score history

<ParamField path="GET /metrics/vendor-grc-history?account-id={uuid}&vendor-id={uuid}&limit_months={n}">
  Returns a vendor's monthly aggregate: `{ items: [{ yearMonth, rawScore, grcAssessedAt, recordedAt }] }`. Defaults to 36 months. The vendor must be on the list.
</ParamField>

## AI summary

<ParamField path="GET /metrics/ai-summary?account-id={uuid}&vendor-list-id={listId}">
  Returns a generated weekly summary of your portfolio as a JSON string.
</ParamField>

<Note>
  History endpoints read from monthly snapshots recorded on the 1st of each month, so trends are stable and comparable over time.
</Note>
