Skip to content

Get a signing key

GET
/v1/signing-keys/{keyId}
curl --request GET \
--url https://example.com/v1/signing-keys/example \
--header 'Authorization: Bearer <token>'

Revoked keys too (with revokedAt), for audit.

keyId
required
string

The signer key id deployment envelopes name.

The key.

Media typeapplication/json

A public key the tenant trusts to sign deployments (POST /v1/deployments). A revoked key stays readable, with revokedAt, so the deployments it signed can be audited; it verifies no new ones.

object
keyId
required

The signer key id a deployment envelope names.

string
tenantId
required
string format: uuid
algorithm
required
string
Allowed values: ed25519
publicKey
required

Base64 of the raw public-key bytes (32 for Ed25519).

string
label
string
createdAt
required
string format: date-time
revokedAt
string format: date-time
revokedReason
string
Example
{
"algorithm": "ed25519"
}

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