Skip to content
Go to platform

Get an SBOM for a OCI image manifest or image index.

GET
/v1experimental1/sbom/oci_manifest
curl --request GET \
--url 'https://api.craci.dev/v1experimental1/sbom/oci_manifest?digest=sha256%3A0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef' \
--header 'Authorization: Bearer <token>'

Multiple jobs can contribute towards one OCI image or index manifest. This endpoint helps to find all involved jobs and the dependencies of those jobs. The SBOM contains metadata listing all involved jobs, their type of involvement (created a manifest, a config blob, or a layer blob), and which dependencies were observed in the job.

digest
required
string

Manifest digest, either sha256 or sha512.

Example
sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
job_involvement
Array<string>

Scope listed jobs by involvement type. Available values: any (default), manifest, config-blob, layer-blob. Parameter can be repeated.

CycloneDX 1.7 SBOM with flat job metadata and component job references

Media typeapplication/vnd.cyclonedx+json; version=1.7

Malformed digest, unknown involvement or query parameter, or repeated digest

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Missing or invalid API token

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Manifest or index not recorded for your organization

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

A contributing job has not finished; retry later

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Artifact graph exceeds the supported export size

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Dependency unavailable or stored evidence could not be read

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}