Skip to content

Fetch a signed deployment record

GET
/v1/deployments/{deploymentId}
curl --request GET \
--url https://example.com/v1/deployments/example \
--header 'Authorization: Bearer <token>'
deploymentId
required
string
>= 1 characters

Deployment id assigned by the ledger at register time.

Deployment record.

Media typeapplication/json
object
deploymentId
required
string
>= 1 characters
tenantId
required
string format: uuid
imageRef
required

Full digest-pinned OCI reference: <host>/<repo>@sha256:<hex>.

string
imageDigest
required

Idempotency key. Extracted from imageRef after the @.

string
/^sha256:[0-9a-f]{64}$/
artifactVersion
required

Issuer-supplied YYYYMMDD.N — matches what was signed.

string
/^\d{8}\.\d+$/
indexHash
required

Sha256 of the canonicalised /app/index.json inside the image.

string
/^sha256:[0-9a-f]{64}$/
signerKeyId
required
string
>= 1 characters
signerPublicKey
required

Base64 of the raw Ed25519 public key bytes (32 bytes → 44 chars).

string
signature
required

Base64 of the raw Ed25519 signature (64 bytes → 88 chars).

string
publishedAt
required

Issuer-supplied timestamp inside the signed envelope.

string format: date-time
activatedAt
required

Server-side ledger timestamp — when the register call succeeded.

string format: date-time
primitives
required
object
tools
required
integer
guardrails
required
integer
agents
required
integer
flows
required
integer
contents
required
object
tools
required
Array<object>
object
id
required
string
version

Absent for guardrails, which have no version.

string
guardrails
required
Array<object>
object
id
required
string
version

Absent for guardrails, which have no version.

string
agents
required
Array<object>
object
id
required
string
version

Absent for guardrails, which have no version.

string
flows
required
Array<object>
object
id
required
string
version

Absent for guardrails, which have no version.

string
Examplegenerated
{
"deploymentId": "example",
"tenantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"imageRef": "example",
"imageDigest": "example",
"artifactVersion": "example",
"indexHash": "example",
"signerKeyId": "example",
"signerPublicKey": "example",
"signature": "example",
"publishedAt": "2026-04-15T12:00:00Z",
"activatedAt": "2026-04-15T12:00:00Z",
"primitives": {
"tools": 1,
"guardrails": 1,
"agents": 1,
"flows": 1
},
"contents": {
"tools": [
{
"id": "example",
"version": "example"
}
],
"guardrails": [
{
"id": "example",
"version": "example"
}
],
"agents": [
{
"id": "example",
"version": "example"
}
],
"flows": [
{
"id": "example",
"version": "example"
}
]
}
}

Missing / malformed / expired / revoked bearer token.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

No deployment with that id under this tenant.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}