---
title: "GET /experimental/orgs/{orgId}/findings/counts-by-skill"
method: GET
path: "/experimental/orgs/{orgId}/findings/counts-by-skill"
tags: ["Orgs"]
---

# GET /experimental/orgs/{orgId}/findings/counts-by-skill

`GET /experimental/orgs/{orgId}/findings/counts-by-skill`

Counts open Findings per skill canonical name across every skill inventory in the org the caller can see, for the names given in the repeatable `filter[skill]` param. Returns one row per requested name that has at least one Finding in the slice, carrying the count and the worst severity among them; a name with none is absent rather than zero. Same scan scope and Active/Ignored split as the org Findings feed, so a count here always agrees with that feed. Intended for decorating a page of Context rows: the request is bounded by the names on the page, not by the size of the org's Finding set.

## Path parameters

- `orgId` string, uuid, required

## Query parameters

- `filter[skill]` union, required
  - string
  - string[]
- `filter[status]` union
  - 'active'
  - 'ignored'

## Headers

- `Authorization` string

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
    - `next` string, uri, nullable, required
    - `prev` string, uri, nullable, required
  - `meta` object, required
    - `count` number, required
  - `data` object[], required
    - `id` string, required
    - `type` 'skill-inventory-finding-count', required
    - `attributes` object, required
      - `count` integer, required
      - `worstPriority` union, required
        - 'critical'
        - 'high'
        - 'medium'
        - 'low'

## Other responses

- `400` — Bad Request
- `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)
