Skip to content

GitHub: Export a software bill of materials (SBOM) for a repository

GitHub dependencyGraph.dependencyGraphExportSbom: arguments, response, policy and SDK examples.

← Dependency graph operations · Get started

Operation github.dependency_graph_export_sbom

Provider route: GET /repos/{owner}/{repo}/dependency-graph/sbom. 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["dependencyGraph"]["dependencyGraphExportSbom"]>[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.dependencyGraph.dependencyGraphExportSbom(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.dependency_graph.dependency_graph_export_sbom(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 Export a software bill of materials (SBOM) for a repository — response body

Referenced models: Export a software bill of materials (SBOM) for a repository — response body

Export a software bill of materials (SBOM) for a repository — response body
FieldTypePresenceDescription and constraints
$objectRootA schema for the SPDX JSON format returned by the Dependency Graph.
sbomobjectRequired within parent
sbom.SPDXIDstringRequired within parentThe SPDX identifier for the SPDX document.
sbom.commentstringOptionalAn optional comment about the SPDX document.
sbom.creationInfoobjectRequired within parent
sbom.creationInfo.createdstringRequired within parentThe date and time the SPDX document was created.
sbom.creationInfo.creatorsarrayRequired within parentThe tools that were used to generate the SPDX document.
sbom.creationInfo.creators[]stringEach item
sbom.dataLicensestringRequired within parentThe license under which the SPDX document is licensed.
sbom.documentNamespacestringRequired within parentThe namespace for the SPDX document.
sbom.namestringRequired within parentThe name of the SPDX document.
sbom.packagesarrayRequired within parent
sbom.packages[]objectEach item
sbom.packages[].SPDXIDstringOptionalA unique SPDX identifier for the package.
sbom.packages[].copyrightTextstringOptionalThe copyright holders of the package, and any dates present with those notices, if available.
sbom.packages[].downloadLocationstringOptionalThe location where the package can be downloaded,
or NOASSERTION if this has not been determined.
sbom.packages[].externalRefsarrayOptional
sbom.packages[].externalRefs[]objectEach item
sbom.packages[].externalRefs[].referenceCategorystringRequired within parentThe category of reference to an external resource this reference refers to.
sbom.packages[].externalRefs[].referenceLocatorstringRequired within parentA locator for the particular external resource this reference refers to.
sbom.packages[].externalRefs[].referenceTypestringRequired within parentThe category of reference to an external resource this reference refers to.
sbom.packages[].filesAnalyzedbooleanOptionalWhether the package's file content has been subjected to
analysis during the creation of the SPDX document.
sbom.packages[].licenseConcludedstringOptionalThe license of the package as determined while creating the SPDX document.
sbom.packages[].licenseDeclaredstringOptionalThe license of the package as declared by its author, or NOASSERTION if this information
was not available when the SPDX document was created.
sbom.packages[].namestringOptionalThe name of the package.
sbom.packages[].supplierstringOptionalThe distribution source of this package, or NOASSERTION if this was not determined.
sbom.packages[].versionInfostringOptionalThe version of the package. If the package does not have an exact version specified,
a version range is given.
sbom.relationshipsarrayOptional
sbom.relationships[]objectEach item
sbom.relationships[].relatedSpdxElementstringOptionalThe SPDX identifier of the package that is the target of the relationship.
sbom.relationships[].relationshipTypestringOptionalThe type of relationship between the two SPDX elements.
sbom.relationships[].spdxElementIdstringOptionalThe SPDX identifier of the package that is the source of the relationship.
sbom.spdxVersionstringRequired within parentThe version of the SPDX specification that this document conforms to.

SDK function policy ID: github.dependency_graph_export_sbom. Catalog operation: dependency-graph/export-sbom. 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.