Skip to content

GitHub: Get secret scanning scan history for a repository

GitHub secretScanning.secretScanningGetScanHistory: arguments, response, policy and SDK examples.

← Secret scanning operations · Get started

Operation github.secret_scanning_get_scan_history

Provider route: GET /repos/{owner}/{repo}/secret-scanning/scan-history. Alter supplies the connection’s credentials and routing.

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["secretScanning"]["secretScanningGetScanHistory"]>[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.secretScanning.secretScanningGetScanHistory(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from 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.secret_scanning.secret_scanning_get_scan_history(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.ownerstringRequired within parent
path.repostringRequired within parent

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Get secret scanning scan history for a repository — response body

Referenced models: Get secret scanning scan history for a repository — response body

Get secret scanning scan history for a repository — response body
FieldTypePresenceDescription and constraints
$objectRoot
backfill_scansarrayOptional
backfill_scans[]ModelEach itemExpand Get secret scanning scan history for a repository — response body — backfill scans item
custom_pattern_backfill_scansarrayOptional
custom_pattern_backfill_scans[]JSONEach item
custom_pattern_backfill_scans[] (allOf 1)ModelAll variants applyExpand Get secret scanning scan history for a repository — response body — backfill scans item
custom_pattern_backfill_scans[] (allOf 2)objectAll variants apply
custom_pattern_backfill_scans[] (allOf 2).pattern_namestringOptionalName of the custom pattern for custom pattern scans
custom_pattern_backfill_scans[] (allOf 2).pattern_scopestringOptionalLevel at which the custom pattern is defined, one of "repository", "organization", or "enterprise"
generic_secrets_backfill_scansarrayOptional
generic_secrets_backfill_scans[]ModelEach itemExpand Get secret scanning scan history for a repository — response body — backfill scans item
incremental_scansarrayOptional
incremental_scans[]ModelEach itemExpand Get secret scanning scan history for a repository — response body — backfill scans item
pattern_update_scansarrayOptional
pattern_update_scans[]ModelEach itemExpand Get secret scanning scan history for a repository — response body — backfill scans item

Referenced models: Get secret scanning scan history for a repository — response body — backfill scans item

Get secret scanning scan history for a repository — response body — backfill scans item
FieldTypePresenceDescription and constraints
$objectRootInformation on a single scan performed by secret scanning on the repository
completed_atJSONOptional
completed_at (anyOf 1)stringAlternativeThe time that the scan was completed. Empty if the scan is running
Format: date-time
completed_at (anyOf 2)nullAlternative
started_atJSONOptional
started_at (anyOf 1)stringAlternativeThe time that the scan was started. Empty if the scan is pending
Format: date-time
started_at (anyOf 2)nullAlternative
statusstringOptionalThe state of the scan. Either "completed", "running", "pending", "failed", or "unknown".

"failed": this scan type has hit its retry limit and has been marked permanently failed.
This usually resolves on its own at the next scheduled scan attempt. If "failed" persists, contact Support.

"unknown": the scan is in an unrecognized or currently unhandled state.
typestringOptionalThe type of scan

SDK function policy ID: github.secret_scanning_get_scan_history. Catalog operation: secret-scanning/get-scan-history. 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"}

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.