Skip to content
Go to platform

Get artifact provenance

GET
/v1preview1/artifacts
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.

kind
required
string

Artifact type: oci_manifest, oci_index, or gha_cache.

Example
oci_manifest
digest_algorithm
required
string

Digest algorithm: sha256 or sha512. GitHub Actions caches require sha256.

Example
sha256
digest_value
required
string

Hexadecimal digest value without an algorithm prefix: 64 characters for sha256 or 128 for sha512.

Example
0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
repository
string

GitHub repository in OWNER/REPOSITORY form. Required only for gha_cache.

Example
octo-org/octo-repo

Artifact identity and complete newest-first publication history

Media typeapplication/json
object
artifact_id
required

CRACI identifier for this artifact.

string
/^-?[0-9]+$/
contents
required

Artifacts directly contained by this artifact.

Array
object
artifact_id
required

CRACI identifier for this artifact.

string
/^-?[0-9]+$/
contents
required
Array recursive
digest_algorithm
required

Algorithm used by digest_value.

string
digest_value
required

Hexadecimal content digest without the algorithm prefix.

string
kind
required
Artifact kind

Type of artifact.

string
Allowed values: oci_index oci_manifest oci_layer gha_cache
publications
required

Places where the artifact was published, newest first.

Array<object>
object
accepted_at
required

Time at which CRACI accepted the publication, in RFC 3339 format.

string
job
required
Job identity

Job that produced the publication.

object
craci_job_id
required

Unique CRACI job ID.

string
/^-?[0-9]+$/
provider
required
One of: discriminator: provider
GitHub job identity
object
job_id
required

GitHub job identifier.

string
/^-?[0-9]+$/
provider
required
GitHub provider discriminator
string
Allowed values: github
repository
required

GitHub repository in OWNER/REPOSITORY form.

string
metadata
required
One of: discriminator: kind
OCI publication metadata
object
kind
required
OCI publication discriminator
string
Allowed values: oci
media_type
required

OCI media type of the published object.

string
reference
required

Tag or digest reference used for the publication.

string
registry
required

OCI registry hostname.

string
repository
required

Repository path within the registry.

string
publication_key
required

Stable identifier for this publication record.

string
purl

Package URL associated with the artifact, when known.

string
media_type
required

Media type declared by the parent artifact.

string
position
required

Zero-based position of this artifact in its parent.

integer format: int32
size_bytes
required

Declared size of the contained artifact in bytes.

integer format: int64
digest_algorithm
required

Algorithm used by digest_value.

string
digest_value
required

Hexadecimal content digest without the algorithm prefix.

string
kind
required
Artifact kind

Type of artifact.

string
Allowed values: oci_index oci_manifest oci_layer gha_cache
publications
required

Places where the artifact was published, newest first.

Array<object>
object
accepted_at
required

Time at which CRACI accepted the publication, in RFC 3339 format.

string
job
required
Job identity

Job that produced the publication.

object
craci_job_id
required

Unique CRACI job ID.

string
/^-?[0-9]+$/
provider
required
One of: discriminator: provider
GitHub job identity
object
job_id
required

GitHub job identifier.

string
/^-?[0-9]+$/
provider
required
GitHub provider discriminator
string
Allowed values: github
repository
required

GitHub repository in OWNER/REPOSITORY form.

string
metadata
required
One of: discriminator: kind
OCI publication metadata
object
kind
required
OCI publication discriminator
string
Allowed values: oci
media_type
required

OCI media type of the published object.

string
reference
required

Tag or digest reference used for the publication.

string
registry
required

OCI registry hostname.

string
repository
required

Repository path within the registry.

string
publication_key
required

Stable identifier for this publication record.

string
purl

Package URL associated with the artifact, when known.

string
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

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, invalid, expired, or revoked 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"
}

Unknown artifact

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"
}

Internal dependency unavailable or stored artifact invalid

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"
}