Deploy Evidence by Entity

Deploys signed evidence addressed by entity type and id. Two modes:

Non-artifact entities — any type other than the reserved names below.
The service creates a placeholder under {scope}-{type}-entity/.entities/... when needed.
Signed subject digest uses {type}: {id} (not sha256). Scope: at most one of repo,
project, or application (omit all → {type}-entity).

Artifact-backed (reserved) entities — resolve to an existing Artifactory lead artifact;
no placeholder. Signed subject digest is { "sha256": "<lead-file-checksum>" }, identical
to evidence on that lead via the subject API.

typeid formatscope
artifact{repoPath} (may contain /)?repo= required
package-version{name}/versions/{version}?repo= required
application-version{appKey}/{version}optional ?project=
release-bundle-version{name}/{version}optional ?project=
build-version{name}/{number} or {name}/{number}/{timestamp}optional ?project=

The id path parameter may span multiple URL segments. URL-encode : and @
where required; / remains path structure.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Entity type. Non-artifact examples: gitCommit, languageModel (non-artifact ids use charset [-_.A-Za-z0-9]). Reserved artifact-backed types: artifact, package-version, application-version, release-bundle-version, build-version.

string
required

Entity identifier. May span multiple URL path segments.
Format depends on type:

Non-artifact types (e.g. gitCommit, languageModel):
typically a single segment. Allowed characters: [-_.A-Za-z0-9].

artifact — repo-relative path to the file, including nested folders and
the file name. Repository key is not part of id (pass it as ?repo=).
Lead subject = {repo}/{id}.

  • Examples: file.txt, com/acme/service/1.2.3/service-1.2.3.jar
  • Rejected: leading /, trailing /, empty segments (//), . or .. segments

package-version{name}/versions/{version}. Split on the last
literal /versions/. Package type comes from ?repo= (repo config), not from
the id. {name} shape matches Artifactory leadFile for that package family:

  • Maven: groupId:artifactIdorg.apache.tomcat:catalina/versions/9.0.0
  • npm (incl. scope): @myorg/widget/versions/2.0.1
  • Docker/OCI: library/nginx/versions/1.27.0
  • Go: github.com/acme/mod/versions/v1.2.3
  • RPM: httpd/versions/2.4.51-1.el8
  • Terraform module: hashicorp/consul/aws/versions/0.11.0
  • PyPI / NuGet / Helm / Debian / Gems / Cargo / etc.: {pkgName}/versions/{version}
    URL-encode : and @ as needed; / remains path structure.

application-version — exactly two segments: {applicationKey}/{version}.
Neither segment may contain /. Example: orders-app/2.4.0.
Lead: {project-}application-versions/{applicationKey}/{version}/release-bundle.json.evd.

release-bundle-version — exactly two segments: {bundleName}/{version}.
Neither segment may contain /. Example: my-release/1.0.0.
Lead: {project-}release-bundles-v2/{bundleName}/{version}/release-bundle.json.evd.

build-version — two or three segments:
{buildName}/{buildNumber} or {buildName}/{buildNumber}/{buildTimestamp}.
buildName / buildNumber must not contain /. Optional buildTimestamp is
digits only (≤ 64). Omitting timestamp resolves to the latest matching build-info
file at request time. Examples: commons-build/1.0.0,
commons-build/1.0.0/1712345678901.

Query Params
string

Artifactory repository key. Mutually exclusive with project and application. Non-artifact entities: explicit entity repository override (default {type}-entity). artifact / package-version: required — Artifactory repo of the lead artifact or package. Rejected for build-version, release-bundle-version, application-version.

string

Project key. Mutually exclusive with repo and application. Non-artifact entities: derives {project}-{type}-entity. build-version / release-bundle-version / application-version: selects project-qualified system repo (omit or default → default project). Rejected for artifact / package-version.

string

Application key. Mutually exclusive with repo and project. Non-artifact entities only: derives {application}-{type}-entity. Rejected for all reserved artifact-backed types.

string

Evidence provider identifier

Body Params

Evidence file in JSON format (DSSE envelope with in-toto attestation).

DSSE (Dead Simple Signing Envelope) containing an in-toto attestation

string
required

Base64-encoded serialized in-toto Statement. Decoded shape for an
artifact subject:

{
  "_type": "https://in-toto.io/Statement/v1",
  "subject": [
    {
      "name": "example-binary",
      "digest": { "sha256": "4529c29..." }
    }
  ],
  "predicateType": "https://slsa.dev/provenance/v0.2",
  "predicate": { "...": "..." },
  "createdAt": "2026-02-09T11:45:00Z",
  "createdBy": "github-actions-bot",
  "markdown": "### Build Success\nThe binary was compiled using Go 1.22.",
  "attachments": [
    { "name": "build-log.txt", "sha256": "e3b0c44..." }
  ]
}

For an non-artifact entity (POST /entity/{type}/{id} with a non-reserved
type), the subject digest key must be the entity type (for example
gitCommit) rather than sha256:

{
  "_type": "https://in-toto.io/Statement/v1",
  "subject": [
    {
      "name": "57bb812f3733b80e270272ba063274e52c34bd23",
      "digest": { "gitCommit": "57bb812f3733b80e270272ba063274e52c34bd23" }
    }
  ],
  "predicateType": "https://slsa.dev/provenance/v0.2",
  "predicate": { "...": "..." },
  "createdAt": "2026-02-09T11:45:00Z",
  "createdBy": "github-actions-bot"
}

For artifact-backed reserved entity types (artifact, package-version,
application-version, release-bundle-version, build-version), the subject
digest is { "sha256": "<lead-file-checksum>" } — the same as evidence created
on the resolved lead artifact via the subject API.

The attachments field inside the Statement is optional and is part
of the signed payload (the signer commits to exactly that set).

string
required

Media type of the DSSE payload (must be application/vnd.in-toto+json).

The same endpoint also accepts two other body shapes (auto-detected by
the service - do not send a DSSE envelope if you use these):

  • Sigstore Bundle - top-level mediaType with prefix
    application/vnd.dev.sigstore.bundle (e.g.
    application/vnd.dev.sigstore.bundle.v0.3+json); the bundle embeds
    its own DSSE envelope.
  • OCI Evidence Bundle - top-level type: "oci.bundle"; the bundle
    embeds a DSSE envelope plus a public key.
signatures
array of objects
required

One or more DSSE signatures over the payload

signatures*
attachments
array of objects
length ≤ 1

Attachment references to associate with the evidence during creation. At most one attachment is supported. Requires Artifactory >= 7.142.0.

attachments
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json