Get artifact provenance
const url = 'https://api.craci.dev/v1preview1/artifacts?kind=oci_manifest&digest_algorithm=sha256&digest_value=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef&repository=octo-org%2Focto-repo';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/artifacts?kind=oci_manifest&digest_algorithm=sha256&digest_value=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef&repository=octo-org%2Focto-repo' \ --header 'Authorization: Bearer <token>'Find which jobs created a given artifact.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Artifact type: oci_manifest, oci_index, or gha_cache.
Example
oci_manifestDigest algorithm: sha256 or sha512. GitHub Actions caches require sha256.
Example
sha256Hexadecimal digest value without an algorithm prefix: 64 characters for sha256 or 128 for sha512.
Example
0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdefGitHub repository in OWNER/REPOSITORY form. Required only for gha_cache.
Example
octo-org/octo-repoResponses
Section titled “Responses”Artifact identity and complete newest-first publication history
object
CRACI identifier for this artifact.
Artifacts directly contained by this artifact.
object
CRACI identifier for this artifact.
Algorithm used by digest_value.
Hexadecimal content digest without the algorithm prefix.
Type of artifact.
Places where the artifact was published, newest first.
object
Time at which CRACI accepted the publication, in RFC 3339 format.
Job that produced the publication.
object
Unique CRACI job ID.
object
GitHub job identifier.
GitHub repository in OWNER/REPOSITORY form.
object
OCI media type of the published object.
Tag or digest reference used for the publication.
OCI registry hostname.
Repository path within the registry.
object
Cache key supplied by the workflow.
Size of the cache archive in bytes.
GitHub Actions cache version.
Stable identifier for this publication record.
Package URL associated with the artifact, when known.
Media type declared by the parent artifact.
Zero-based position of this artifact in its parent.
Declared size of the contained artifact in bytes.
Algorithm used by digest_value.
Hexadecimal content digest without the algorithm prefix.
Type of artifact.
Places where the artifact was published, newest first.
object
Time at which CRACI accepted the publication, in RFC 3339 format.
Job that produced the publication.
object
Unique CRACI job ID.
object
GitHub job identifier.
GitHub repository in OWNER/REPOSITORY form.
object
OCI media type of the published object.
Tag or digest reference used for the publication.
OCI registry hostname.
Repository path within the registry.
object
Cache key supplied by the workflow.
Size of the cache archive in bytes.
GitHub Actions cache version.
Stable identifier for this publication record.
Package URL associated with the artifact, when known.
Example
{ "contents": [ { "kind": "oci_index", "publications": [ { "job": { "provider": { "provider": "github" } }, "metadata": { "kind": "oci" } } ] } ], "kind": "oci_index", "publications": [ { "job": { "provider": { "provider": "github" } }, "metadata": { "kind": "oci" } } ]}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"}