Get OCI blob provenance
const url = 'https://api.craci.dev/v1preview1/artifact-provenance/oci_blob?digest=sha256%3A0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.craci.dev/v1preview1/artifact-provenance/oci_blob?digest=sha256%3A0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef' \ --header 'Authorization: Bearer <token>'Find which jobs uploaded an OCI blob. A blob CRACI has only seen referenced by a manifest returns no creating jobs.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Content digest including its algorithm prefix: sha256: followed by 64
hexadecimal characters, or sha512: followed by 128.
Example
sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdefResponses
Section titled “Responses”Artifact identity and creating jobs
object
Annotations carried by the artifact's own content.
object
CRACI identifier for this artifact.
Artifact type declared by an OCI artifact manifest.
Content digest including its algorithm prefix, for example sha256:….
Every job observed creating this exact content, newest first. A reproducible build yields more than one; an artifact CRACI has only seen referenced yields none.
object
Time at which CRACI accepted the publication, in RFC 3339 format.
Unique CRACI job ID.
object
Tag or digest the job pushed under.
OCI registry hostname the job pushed to.
Repository path within that registry.
object
Cache key supplied by the workflow.
Size of the cache archive in bytes.
GitHub Actions cache version.
object
GitHub job identifier.
GitHub repository in OWNER/REPOSITORY form.
What kind of artifact this is.
Media type of the artifact's own content, for manifests.
Package URL of the artifact, when one is known.
Artifacts this artifact points at by digest, in manifest order. Follow
each ref to walk the graph.
object
Digest of the referenced artifact, including its algorithm prefix.
Kind of the referenced artifact.
Media type the referring manifest declared for this artifact.
Zero-based position within the ordered list this role belongs to. Absent for a config blob, which the manifest names once and does not order.
Path of this API that returns the referenced artifact's provenance.
How the referring manifest uses this artifact.
Size the referring manifest declared for this artifact.
Locations a non-distributable layer may be fetched from.
Manifest this artifact is attached to, for attestations and signatures.
object
Digest of the described content, including its algorithm prefix.
OCI media type of the described content.
Declared size in bytes.
Example
{ "jobs_created_in": [ { "metadata": { "kind": "oci" }, "provider": { "kind": "github" } } ], "kind": "oci_image_manifest", "refers": [ { "kind": "oci_image_manifest", "role": "config" } ]}Malformed selector
object
Human-readable explanation specific to this occurrence.
HTTP status code returned with the problem.
Short, human-readable summary of the problem.
URI identifying the problem type. about:blank uses the HTTP status meaning.
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}Missing, invalid, expired, or revoked token
object
Human-readable explanation specific to this occurrence.
HTTP status code returned with the problem.
Short, human-readable summary of the problem.
URI identifying the problem type. about:blank uses the HTTP status meaning.
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}Unknown artifact
object
Human-readable explanation specific to this occurrence.
HTTP status code returned with the problem.
Short, human-readable summary of the problem.
URI identifying the problem type. about:blank uses the HTTP status meaning.
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}Internal dependency unavailable or stored artifact invalid
object
Human-readable explanation specific to this occurrence.
HTTP status code returned with the problem.
Short, human-readable summary of the problem.
URI identifying the problem type. about:blank uses the HTTP status meaning.
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}