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

# GET /experimental/orgs/{orgId}/findings

`GET /experimental/orgs/{orgId}/findings`

Lists the union of Findings across every current account scan in the org the caller can see, ranked by priority (critical → low) then recency and paginated with a single stable cursor spanning the union. `filter[status]` selects the slice: `active` (default) returns Findings on the current scan for their SCM account that have not been user-ignored; `ignored` returns the user-ignored Findings on that same current scan, so they can be reviewed and restored. Both slices are scoped to the current scan, so a Finding that falls off that account’s latest scan leaves both regardless of whether it was ignored. Each row carries a workspace grant attribution (`workspaceId` + `workspaceName`) for display and filtering, not a unique owner: when an account is granted to multiple visible workspaces, the endpoint selects one matching grant. Both fields are null for an org-wide grant. The union can be narrowed to specific workspaces with the repeatable `workspaceId` filter. Detail of gated archetypes (drift/overlap) is withheld on plans without advanced Findings access.

## Path parameters

- `orgId` string, uuid, required

## Query parameters

- `sort` union
  - union[]
    - union
      - 'priority'
      - '-priority'
  - 'priority'
  - '-priority'
- `page[size]` number
- `page[after]` string
- `page[before]` string
- `filter[status]` union
  - 'active'
  - 'ignored'
- `filter[archetype]` union
  - 'registry-match'
  - 'overlap'
  - 'frontmatter-error'
  - 'publishable'
  - 'drift'
  - 'untracked'
  - 'skill-overload'
  - 'policy-violation'
  - 'stale-content'
  - 'outdated-copy'
  - 'conflicting-rules'
  - union[]
    - union
      - 'registry-match'
      - 'overlap'
      - 'frontmatter-error'
      - 'publishable'
      - 'drift'
      - 'untracked'
      - 'skill-overload'
      - 'policy-violation'
      - 'stale-content'
      - 'outdated-copy'
      - 'conflicting-rules'
- `filter[priority]` union
  - 'critical'
  - 'high'
  - 'medium'
  - 'low'
  - union[]
    - union
      - 'critical'
      - 'high'
      - 'medium'
      - 'low'
- `filter[repoActivity]` union
  - 'active'
  - 'quiet'
  - 'dormant'
  - union[]
    - union
      - 'active'
      - 'quiet'
      - 'dormant'
- `filter[skill]` union
  - string
  - string[]
- `filter[id]` union
  - string, uuid
  - string[]
- `workspaceId` union
  - string, uuid
  - string[]

## 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
    - `total` integer, required
  - `data` object[], required
    - `id` string, required
    - `type` 'finding', required
    - `attributes` object, required
      - `archetype` union, required
        - 'registry-match'
        - 'overlap'
        - 'frontmatter-error'
        - 'publishable'
        - 'drift'
        - 'untracked'
        - 'skill-overload'
        - 'policy-violation'
        - 'stale-content'
        - 'outdated-copy'
        - 'conflicting-rules'
      - `priority` union, required
        - 'critical'
        - 'high'
        - 'medium'
        - 'low'
      - `title` string, required
      - `description` string, required
      - `repoActivity` union, required
        - 'active'
        - 'quiet'
        - 'dormant'
      - `status` union, required
        - 'active'
        - 'resolved'
        - 'ignored'
      - `ignoreReason` union, required
        - 'not-relevant'
        - 'wont-fix'
        - 'noisy'
      - `gated` boolean, required
      - `logicalSkill` object, nullable, required
        - `canonicalRepo` string, required
        - `canonicalName` string, required
        - `body` string, nullable, required
        - `frontmatter` object, nullable, required
        - `instanceCount` number, required
      - `skillInstance` object, nullable, required
        - `name` string, required
        - `path` string, required
        - `frontmatterError` string, nullable, required
        - `body` string, nullable, required
        - `frontmatter` object, nullable, required
        - `repoFullName` string, required
        - `repoDefaultBranch` string, required
        - `repoUrl` string, required
      - `clusterMembers` object[], required
        - `canonicalRepo` string, required
        - `canonicalName` string, required
        - `body` string, nullable, required
        - `frontmatter` object, nullable, required
        - `instanceCount` number, required
      - `instances` object[], required
        - `id` string, uuid, required
        - `path` string, required
        - `kind` union, required
          - 'source'
          - 'dependency'
        - `agents` string[], required
        - `lastModified` object, nullable, required
          - `date` string, nullable, required
          - `authorLogin` string, nullable, required
          - `authorName` string, nullable, required
        - `repoFullName` string, required
        - `repoUrl` string, required
        - `repoDefaultBranch` string, required
      - `repoFullName` string, nullable, required
      - `canonicalName` string, nullable, required
      - `evidence` object, nullable, required
        - `document` object, required
          - `contextType` 'agent-docs', required
          - `provider` string, required
          - `canonicalRepoUrl` string, required
          - `path` string, required
          - `contextLineageId` string, uuid, required
          - `contextVersionId` string, uuid, required
        - `ruleA` object, required
          - `startLine` integer, required
          - `endLine` integer, required
          - `text` string, required
        - `ruleB` object, required
          - `startLine` integer, required
          - `endLine` integer, required
          - `text` string, required
        - `sharedCondition` string, required
        - `explanation` string, required
        - `suggestedClarification` string, required
      - `workspaceId` string, uuid, nullable, required
      - `workspaceName` string, nullable, required
      - `groupId` string, uuid, nullable, required

## Other responses

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

## Changes

- **2026-09-15** `d50a02b79ad3` — 2 info
  - added the optional property `error/code` to the response with the `403` status
  - added the optional property `error/url` to the response with the `403` status
- **2026-09-15** `050f3217cf2c` — 1 warning, 1 info
  - added the new `finding` enum value to the `data/items/type` response property for the response status `200`
  - removed the `skill-inventory-finding` enum value from the `data/items/type` response property for the response status `200`
- **2026-09-10** `e57a144d1cab` — 2 info
  - added `subschema #11` to the `data/items/attributes/archetype` response property `anyOf` list for the response status `200`
  - added the required property `data/items/attributes/evidence` to the response with the `200` status
- **2026-09-02** `d18817d8161c` — 1 breaking
  - removed the required property `data/items/attributes/inventoryId` from the response with the `200` status
- **2026-08-27** `64ef6ca73e52` — 1 info
  - added `subschema #10` to the `data/items/attributes/archetype` response property `anyOf` list for the response status `200`

[Full history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/orgs/:orgId/findings/get.md)

---

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