Skip to content
API Reference

Get a policy schema by version

zones.policy_schemas.retrieve(strversion, PolicySchemaRetrieveParams**kwargs) -> SchemaVersionWithZoneInfo
GET/zones/{zone_id}/policy-schemas/{version}

Get a policy schema by version

ParametersExpand Collapse
zone_id: str
version: str
format: Optional[Literal["cedar", "json"]]

Schema representation format. cedar returns human-readable Cedar syntax in cedar_schema, json returns Cedar JSON schema object in cedar_schema_json.

Accepts one of the following:
"cedar"
"json"
x_api_version: Optional[str]
x_client_request_id: Optional[str]
formatuuid
ReturnsExpand Collapse
class SchemaVersionWithZoneInfo:

A versioned Cedar schema that defines the entity model, actions, and context shape used for policy evaluation. The schema contains the valid entity types (User, Application, Resource), their attributes, and the allowed attribute values. See the Credentials API spec for a full reference of entity attributes and valid values.

is_default: bool

Whether this is the zone's default schema. Clients use this to pre-select which schema to write policies against. Has no effect on evaluation.

Get a policy schema by version

from keycardai_api import KeycardAPI

client = KeycardAPI()
schema_version_with_zone_info = client.zones.policy_schemas.retrieve(
    version="version",
    zone_id="zone_id",
)
print(schema_version_with_zone_info)
{
  "created_at": "2019-12-27T18:11:19.117Z",
  "status": "active",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "version": "version",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "cedar_schema": "cedar_schema",
  "cedar_schema_json": {},
  "deprecated_at": "2019-12-27T18:11:19.117Z",
  "is_default": true
}
Returns Examples
{
  "created_at": "2019-12-27T18:11:19.117Z",
  "status": "active",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "version": "version",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "cedar_schema": "cedar_schema",
  "cedar_schema_json": {},
  "deprecated_at": "2019-12-27T18:11:19.117Z",
  "is_default": true
}