---
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, and security-review coverage for the org Home dashboard, aggregated across every workspace in the org the caller can see. `connected` drives the blank-slate vs connected state; the quality bar and score bands use a fixed 70/90 threshold in v1. `connected` is org-wide (any SCM integration 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.

## 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.
  - `scoreBands` object, required — Quality distribution: 90+, 70–89, and below 70.
    - `ninetyPlus` number, required
    - `seventyToEightyNine` number, required
    - `belowSeventy` number, 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/6b85540eac62/schema)
