---
title: "Dismiss Findings"
method: POST
path: "/api/analysis/findings/dismiss"
tags: ["Analysis"]
---

# Dismiss Findings

`POST /api/analysis/findings/dismiss`

## Request

- Base URL: `https://api.codeant.ai`
- URL: `https://api.codeant.ai/api/analysis/findings/dismiss`
- Auth: none declared

Dismisses one or many findings of a repository in a single call, exactly like the Dismiss action in the dashboard: dismissed findings leave the active lists and the Hotlist and move to the repository's Dismissed tab, where they can be restored. Group findings by repository and scanner and send each group as one request.

## Request body

- DismissFindingsRequest
  - `platform` 'github' | 'gitlab' | 'bitbucket' | 'azure_devops', required: Git platform of the organization
  - `org` string, required: Organization / workspace slug
  - `repo` string, required: Repository full name the findings belong to
  - `github_base_url` string: Self-hosted instance URL (also gitlab_base_url / bitbucket_base_url / azure_devops_base_url). Defaults to the cloud host.
  - `analysis_type` 'sast' | 'sca' | 'secrets' | 'iac', required: Scanner the findings come from. `raw.analysis_type` from the Hotlist API maps directly (`security` is accepted as an alias of `sast`).
  - `dismiss_keys` string[], required: Finding identifiers to dismiss — one request dismisses any number of findings in one repo. Take them verbatim from `raw.dismiss_key` of the Hotlist API (`/api/security/hotlist/findings`), or build them from the per-repo results: - **sca** — `package@version` dismisses every advisory of the package; `package@version::<manifest relative_path>::<cve_id>` dismisses one advisory. - **sast** — `<file_path>||::||<context_code_block>||::||<test_id>`. - **secrets** — `<file_path>||::||<hashed_secret>:occurrence:<n>||::||<type>` (`n` is the 0-based index among identical secrets in that file). - **iac** — `<file_path>||::||<check_id>||::||<start_line>-<end_line>`.
  - `reason` string: Shown as the dismissal reason in the dashboard.
  - `comment` string: Free-text note stored with the dismissal.
  - `dismissed_by` string: Attribution recorded on the dismissal; defaults to `api`.

## Response `200`

Findings dismissed

- object
  - `status` string
  - `dismissed` integer: Number of dismiss keys written.

## Other responses

- `400`: Missing or invalid parameters
- `401`: Invalid access token
- `403`: Token lacks Code Security permission for this repository

## Changes

- **2026-11-03** `0eb1442ce49d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/codeant/apis/codeant-ai-api/changes/api/analysis/findings/dismiss/post.md)

---

[API](https://skmtc.dev/codeant/apis/codeant-ai-api.md) - [All operations](https://skmtc.dev/codeant/apis/codeant-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/codeant/apis/codeant-ai-api/revisions/0eb1442ce49d?raw)
