---
title: "GET /experimental/orgs/{orgId}/home-summary"
method: GET
path: "/experimental/orgs/{orgId}/home-summary"
tags: ["Orgs"]
---

# GET /experimental/orgs/{orgId}/home-summary

`GET /experimental/orgs/{orgId}/home-summary`

Headline counts, quality distribution, security-review coverage, and trailing-window activity for the org Home dashboard, aggregated across every workspace in the org the caller can see, plus org-owned inventories that belong to no workspace. `connected` drives the blank-slate vs connected state; the quality bar and the context-health bands use a fixed 70/90 threshold in v1. `connected` is org-wide (any SCM integration or any inventory on the org) independent of workspace visibility, so it can be true even when every count below is zero because the caller cannot see the org workspaces. Scan status and all counts include org-owned inventories.

## Path parameters

- `orgId` string, uuid, required

## Headers

- `Authorization` string

## Response `200`

Default Response

- object
  - `connected` boolean, required — Whether the org has any SCM integration or any inventory. When false, the counts below are all zero / null.
  - `repoCount` number, required
  - `skillCount` number, required
  - `avgQuality` number, nullable, required — Mean quality (0–100) over skills with a resolvable quality score, or null when none are scored.
  - `belowBarCount` number, required — Scored skills under `qualityBar`.
  - `qualityBar` number, required
  - `securityFindingsCount` number, required — Skills whose latest security review flagged HIGH/CRITICAL risk.
  - `securityNeedsReviewCount` number, required — Skills with no usable security review verdict — never reviewed or the latest review failed.
  - `reviewedCount` number, required — Skills with a completed security review.
  - `reviewInProgressCount` number, required — Skills with a security review still pending.
  - `openFindingsCount` number, required — Active inventory Findings across the org, matching the org Findings feed the Home card links to.
  - `criticalFindingsCount` number, required — Active Findings at critical priority.
  - `window` object, required — The trailing window the activity figures below are measured over, and which their `previous` counts compare against.
    - `days` integer, required
    - `since` string, date, required
  - `activeUsers` object, required — Org members who signed in during the window, and during the equally long window before it.
    - `current` integer, required
    - `previous` integer, required
  - `publishes` object, required — Registry versions published from this org over the window. Counts plugins, not the skills inside them. `series` carries one point per day with zeros included.
    - `total` integer, required
    - `delta` object, required
      - `current` integer, required
      - `previous` integer, required
    - `series` object[], required
      - `day` string, required
      - `count` integer, required
  - `contextHealth` object, required — All indexed context — skills and plugins alike — bucketed by review quality under the caller's workspace visibility. The bands are the org Context page's `filter[score]` bands, so each one addresses exactly the rows that page lists when filtered to it. Counted from the search index, so these totals are scoped differently to `avgQuality` and `belowBarCount` above, which come from the per-workspace inventory summaries.
    - `unscored` integer, required
    - `belowSeventy` integer, required
    - `seventyToEightyNine` integer, required
    - `ninetyPlus` integer, required
    - `total` integer, required
  - `mostInstalled` object[], required — The org's most-downloaded plugins, ranked. `downloads` is the registry download counter, bumped when a plugin is fetched for installation, so it is the server-side record of installs. Scoped to the workspaces the caller can see; plugins with no downloads are omitted rather than ranked at zero.
    - `name` string, required
    - `workspaceName` string, required
    - `downloads` integer, required
  - `lastScannedAt` string, date-time, nullable, required — Most recent completed scan across the org's inventories, or null.
  - `scanStatus` union, required — Scan state across the caller's visible workspaces, so org Home can distinguish a failed or in-flight estate from a clean empty one. This is the highest-precedence status across those workspaces, in order: `failed` (any workspace has a failed scan), `running` (a scan is in flight), `ok` (at least one scan succeeded), `none` (no scans at all).
    - 'none'
    - 'running'
    - 'failed'
    - 'ok'

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/tessl/apis/tessl-api.md) · [All operations](https://skmtc.net/tessl/apis/tessl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tessl/tessl-api/revisions/2fe02c07eb49/schema)
