GitHub: Update a code scanning alert
GitHub codeScanning.codeScanningUpdateAlert: arguments, response, policy and SDK examples.
← Code scanning operations · Get started
Operation github.code_scanning_update_alert
Provider route: PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/github with npm, or alter-sdk-github with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { GitHubIntegration } from "@alter-ai/github";
async function execute(input: Parameters<GitHubIntegration["codeScanning"]["codeScanningUpdateAlert"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new GitHubIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.codeScanning.codeScanningUpdateAlert(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_github import GitHubIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = GitHubIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.code_scanning.code_scanning_update_alert(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.owner | string | Required within parent | |
path.repo | string | Required within parent | |
path.alert_number | integer | Required within parent | The security alert number. Read only: true |
body | object | Required within parent | |
body.assignees | Model | Optional | Expand Update a code scanning alert — request body — body assignees |
body.create_request | boolean | Optional | If `true`, attempt to create an alert dismissal request. |
body.dismissed_comment | Model | Optional | Expand Get a code scanning alert — response body — dismissed comment |
body.dismissed_reason | Model | Optional | Expand Update a code scanning alert — request body — body dismissed reason |
body.state | string | Optional | Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. One of: open, dismissed |
body (anyOf 1) | JSON | Alternative | |
body (anyOf 2) | JSON | Alternative |
Referenced models: Get a code scanning alert — response body — dismissed comment, Update a code scanning alert — request body — body assignees, Update a code scanning alert — request body — body dismissed reason
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Get a code scanning alert — response body |
Referenced models: Get a code scanning alert — response body
Schemas
Section titled “Schemas”20 more schemas are linked from the tables above, on the schema pages.
Get a code scanning alert — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
assignees | array | Optional | |
assignees[] | Model | Each item | Expand List users — response body — item |
created_at | string | Required within parent | The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Format: date-time Read only: true |
dismissal_approved_by | Model | Optional | Expand Get an issue — response body — user |
dismissed_at | Model | Required within parent | Expand Get a Dependabot alert — response body — dismissed at |
dismissed_by | Model | Required within parent | Expand Get an issue — response body — user |
dismissed_comment | Model | Optional | Expand Get a code scanning alert — response body — dismissed comment |
dismissed_reason | Model | Required within parent | Expand Get a code scanning alert — response body — dismissed reason |
fixed_at | Model | Optional | Expand Get a Dependabot alert — response body — fixed at |
html_url | string | Required within parent | The GitHub URL of the alert resource. Format: uri Read only: true |
instances_url | string | Required within parent | The REST API URL for fetching the list of instances for an alert. Format: uri Read only: true |
linked_pull_requests | array | Optional | Pull requests linked to this alert. |
linked_pull_requests[] | Model | Each item | Expand Request reviewers for a pull request — response body |
most_recent_instance | Model | Required within parent | Expand Get a code scanning alert — response body — most recent instance |
number | Model | Required within parent | Expand Get a Dependabot alert — response body — number |
rule | Model | Required within parent | Expand Get a code scanning alert — response body — rule |
state | Model | Required within parent | Expand Get a code scanning alert — response body — state |
tool | Model | Required within parent | Expand Get a code scanning alert — response body — tool |
updated_at | string | Optional | The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Format: date-time Read only: true |
url | string | Required within parent | The REST API URL of the alert resource. Format: uri Read only: true |
Referenced models: Get a Dependabot alert — response body — dismissed at, Get a Dependabot alert — response body — fixed at, Get a Dependabot alert — response body — number, Get a code scanning alert — response body — dismissed comment, Get a code scanning alert — response body — dismissed reason, Get a code scanning alert — response body — most recent instance, Get a code scanning alert — response body — rule, Get a code scanning alert — response body — state, Get a code scanning alert — response body — tool, Get an issue — response body — user, Request reviewers for a pull request — response body, List users — response body — item
Get a code scanning alert — response body — dismissed comment
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | string | Alternative | The dismissal comment associated with the dismissal of the alert. Maximum length: 280 |
$ (anyOf 2) | null | Alternative |
Update a code scanning alert — request body — body assignees
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | array | Root | The list of users to assign to the code scanning alert. An empty array unassigns all previous assignees from the alert. |
$[] | string | Each item |
Update a code scanning alert — request body — body dismissed reason
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | string | Alternative | **Required when the state is dismissed.** The reason for dismissing or closing the alert. One of: false positive, won't fix, used in tests, mitigated |
$ (anyOf 2) | null | Alternative |
Get a Dependabot alert — response body — dismissed at
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | string | Alternative | The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Format: date-time Read only: true |
$ (anyOf 2) | null | Alternative |
Get a Dependabot alert — response body — fixed at
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | string | Alternative | The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Format: date-time Read only: true |
$ (anyOf 2) | null | Alternative |
Get a Dependabot alert — response body — number
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | integer | Alternative | The security alert number. Read only: true |
$ (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
Get a code scanning alert — response body — dismissed reason
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | string | Alternative | **Required when the state is dismissed.** The reason for dismissing or closing the alert. Known values: false positive, won't fix, used in tests, mitigated |
$ (anyOf 2) | null | Alternative |
Get a code scanning alert — response body — most recent instance
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
analysis_key | string | Optional | Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. |
category | string | Optional | Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. |
classifications | array | Optional | Classifications that have been applied to the file that triggered the alert. For example identifying it as documentation, or a generated file. |
classifications[] | Model | Each item | Expand List instances of a code scanning alert — response body — item classifications item |
commit_sha | string | Optional | |
environment | string | Optional | Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. |
html_url | string | Optional | |
location | Model | Optional | Expand List instances of a code scanning alert — response body — item location |
message | object | Optional | |
message.markdown | string | Optional | The message text as GitHub-flavored Markdown, with placeholder links for related locations replaced by links to the relevant code. Only populated when related locations are available for the alert instance. |
message.text | string | Optional | |
ref | string | Optional | The Git reference, formatted as `refs/pull/<number>/merge`, `refs/pull/<number>/head`, `refs/heads/<branch name>` or simply `<branch name>`. |
state | Model | Optional | Expand Get a code scanning alert — response body — state |
Referenced models: List instances of a code scanning alert — response body — item classifications item, List instances of a code scanning alert — response body — item location, Get a code scanning alert — response body — state
Get a code scanning alert — response body — state
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | string | Alternative | State of a code scanning alert. Known values: open, dismissed, fixed |
$ (anyOf 2) | null | Alternative |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: github.code_scanning_update_alert. Catalog operation: code-scanning/update-alert. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Pinned headers: {"X-GitHub-Api-Version": "2026-03-10", "User-Agent": "Alter", "Accept": "application/vnd.github+json"}