---
title: "Customer-scoped dashboard KPIs over a rolling N-day window (default 7)"
method: GET
path: "/api/me/dashboard/overview"
tags: ["me"]
---

# Customer-scoped dashboard KPIs over a rolling N-day window (default 7)

`GET /api/me/dashboard/overview`

## Request

- Base URL: `https://api.signalraven.ai`
- URL: `https://api.signalraven.ai/api/me/dashboard/overview`
- Auth: none declared

## Query parameters

- `days` string: Window size 1-90 (default 7)

## Response `200`

Dashboard overview

- DashboardOverview
  - `range` object, required
    - `from` string, date-time, required
    - `to` string, date-time, required
    - `days` integer, required
  - `signals` object, required
    - `deliveredCount` integer, required: Distinct signals with at least one delivered activation in range
    - `totalCount` integer, required: Total signals in range (delivered or not)
    - `avgScore` number, required: Average signal strength (1-10) in range
    - `avgIcpPct` number, required: Average composite ICP percentage (0-100) across signals with a composite in range. Signals without composite are excluded from the mean rather than counted as 0.
    - `trendVsPriorPercent` number, required: % change in totalCount vs prior equivalent window; 0 when prior was 0
  - `sources` object, required
    - `activeCount` integer, required
    - `totalCount` integer, required: All sources for the customer (active + paused).
    - `topSourceByYield` object, nullable, required
      - `id` string, uuid, required
      - `displayName` string, nullable, required
      - `signalCount` integer, required
  - `funnel` object, required
    - `postsDiscovered` integer, required
    - `postsQualified` integer, required
    - `postsWatching` integer, required: Currently is_active=true with lifecycle in (qualified, harvesting)
    - `engagementCollected` integer, required: Comment + reaction events captured in range
    - `signalsDelivered` integer, required
  - `systemStatus` object, required
    - `lifecyclePhase` string, required
    - `pausedReason` string, nullable, required
    - `pausedUntil` string, date-time, nullable, required
  - `signalStrengthDistribution` object[], required: Signals grouped by strength (1-10) in range
    - `strength` integer, required
    - `count` integer, required
  - `topSignalPersonas` object[], required: Top 10 personas by signal count, with average strength
    - `persona` string, required
    - `count` integer, required
    - `avgStrength` number, required
  - `postRelevanceDistribution` object[], required: Watched posts grouped by relevance_score (1-5) in range
    - `relevanceScore` integer, required
    - `count` integer, required

## Other responses

- `401`: Not authenticated
- `403`: Customer not active or not provisioned

---

[API](https://skmtc.dev/signalraven/apis/zygnal-api.md) · [All operations](https://skmtc.dev/signalraven/apis/zygnal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/signalraven/apis/zygnal-api/revisions/36e1d9b9d604?raw)
