Skip to content
API Reference

List policies in a zone

zones.policies.list(strzone_id, PolicyListParams**kwargs) -> PolicyListResponse
GET/zones/{zone_id}/policies

List policies in a zone

ParametersExpand Collapse
zone_id: str
after: Optional[str]

Cursor for forward pagination. Returned in Pagination.after_cursor. Mutually exclusive with before.

minLength1
maxLength255
before: Optional[str]

Cursor for backward pagination. Returned in Pagination.before_cursor. Mutually exclusive with after.

minLength1
maxLength255
expand: Optional[List[Literal["total_count"]]]

Opt-in to additional response fields. Repeatable; matches the expand[] convention used across the Keycard API.

filter_owner_type: Optional[SequenceNotStr[str]]

Filter on owner_type. Repeatable; repeated instances OR across values (e.g. ?filter[owner_type]=platform&filter[owner_type]=customer matches either). See FilterValues in the shared spec for the full wire convention.

Allowed values: platform, customer. Unknown values return 400 with the list of allowed values. Comma-separated single values (e.g. ?filter[owner_type]=platform,customer) are rejected with a 400 pointing at the repeated-parameter OR form.

Note: the allowed-value enum is enforced in the handler (not as an OpenAPI items.enum) so the server can return a targeted error for the comma-AND form instead of a generic "not in allowed values" response.

limit: Optional[int]

Maximum number of items to return per page.

minimum1
maximum100
order: Optional[Literal["asc", "desc"]]

Sort direction. Default is desc (newest first).

Accepts one of the following:
"asc"
"desc"
query: Optional[SequenceNotStr[str]]

Case-insensitive substring search across all searchable fields of the resource. For policies that is name and description; for policy sets that is name. Repeatable; if multiple terms are supplied they are OR-ed.

query_description: Optional[SequenceNotStr[str]]

Case-insensitive substring search on description (policies only). Repeatable; if multiple terms are supplied they are OR-ed.

query_name: Optional[SequenceNotStr[str]]

Case-insensitive substring search on name. Repeatable; if multiple terms are supplied they are OR-ed (any matching term returns the row).

sort: Optional[Literal["created_at"]]

Field to sort by.

x_api_version: Optional[str]
x_client_request_id: Optional[str]
formatuuid
ReturnsExpand Collapse
class PolicyListResponse:
items: List[Policy]
id: str
created_at: datetime
formatdate-time
created_by: str
name: str
owner_type: Literal["platform", "customer"]

Who manages this policy:

  • "platform" — managed by the Keycard platform (system policies).
  • "customer" — managed by the tenant (custom policies).
Accepts one of the following:
"platform"
"customer"
updated_at: datetime
formatdate-time
zone_id: str
archived_at: Optional[datetime]
formatdate-time
description: Optional[str]
latest_version: Optional[int]

Human-readable version number of the latest version (e.g., 1, 2, 3)

latest_version_id: Optional[str]
updated_by: Optional[str]

List policies in a zone

from keycardai_api import KeycardAPI

client = KeycardAPI()
policies = client.zones.policies.list(
    zone_id="zone_id",
)
print(policies.items)
{
  "items": [
    {
      "id": "id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "created_by": "created_by",
      "name": "name",
      "owner_type": "platform",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "zone_id": "zone_id",
      "archived_at": "2019-12-27T18:11:19.117Z",
      "description": "description",
      "latest_version": 0,
      "latest_version_id": "latest_version_id",
      "updated_by": "updated_by"
    }
  ],
  "pagination": {
    "after_cursor": "x",
    "before_cursor": "x",
    "total_count": 0
  }
}
Returns Examples
{
  "items": [
    {
      "id": "id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "created_by": "created_by",
      "name": "name",
      "owner_type": "platform",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "zone_id": "zone_id",
      "archived_at": "2019-12-27T18:11:19.117Z",
      "description": "description",
      "latest_version": 0,
      "latest_version_id": "latest_version_id",
      "updated_by": "updated_by"
    }
  ],
  "pagination": {
    "after_cursor": "x",
    "before_cursor": "x",
    "total_count": 0
  }
}