PolicySetManifest

Get the manifest of a policy set version

Changed on

Returns the resolved manifest of the latest non-archived version by default. Pass ?version= with a policy set version public ID to read a specific version's manifest (e.g. for rollback: GET an old manifest, PUT it back — which mints a new version at the tip with the old content; history is never re-pointed).

There is deliberately no ?version=active keyword: a binding slot is (zone, target_type, target_id, mode) and a set may have zero or several active bindings, so "the active version" is not a function of the set alone. Resolve the version ID first — from the enriched policy set representation (active_version_id) or GET /policy-bindings — then pass it here.

The default (latest) read anchors the apply flow: the ETag response header is the JCS SHA-256 digest of the latest manifest and is the value to send as If-Match on PUT. ETag is emitted only on the default latest read — versioned reads return manifest_sha in the body but no ETag, so a stale token cannot be round-tripped as a precondition.

A policy set with no versions yet returns 200 with empty entries, null policy_set_version_id/version/schema_version/manifest_sha, and the digest of the empty manifest as ETag, so even the first apply can be conditional.

get/zones/{zone_id}/policy-sets/{policy_set_id}/manifest

Request

  • Base URL
    https://docs.keycard.ai (the document declares no server; this is the origin it was published from)
  • URL
    https://docs.keycard.ai/zones/{zone_id}/policy-sets/{policy_set_id}/manifest
  • Auth
    • HTTP bearer
    • or OAuth 2
      Client credentials
      Token URL: /service-account-token

Path parameters

zone_idstring required

The zone identifier

policy_set_idstring required

The policy set identifier

Query parameters

versionstring

Policy set version public ID. Default: latest non-archived version.

Headers

X-API-Versionstring

API version header (date-based, e.g. 2026-02-01)

X-Client-Request-IDstring uuid

Unique request identifier specified by the originating caller and passed along by proxies.

Response

The resolved manifest

policy_set_idstring required
policy_set_version_idstring nullable

Null only for a policy set with no versions yet.

versioninteger nullable

Monotonic version number. Null when no versions exist yet.

schema_versionstring nullable

Null when no versions exist yet.

manifest_shastring nullable

JCS SHA-256 digest of the stored manifest of the returned version. Null when no versions exist yet. On the default latest read this is the same value the ETag header carries.

Changes