List policies
/orgs/{org_name}/governance/policies Returns a shallow summary of the organization's policies, one page at a time. The rule set is not included; use GetPolicy to fetch the full object.
Results are paginated with an opaque cursor. Pass page_size to bound the page; if more policies remain, the response includes a non-null next_page_token to pass as page_token on the next request. Iterate until next_page_token is null. Treat the token as opaque; do not parse or construct it.
Connection and access
API connection and authentication guidance
https://hub.docker.com/v2
Use one of these alternatives. Requirements within an alternative apply together.
bearerAuth
Parameters
org_name
path
Required
Type:
string
All schema constraints and annotations
{
"type": "string"
}page_size
query
Type:
integer
All schema constraints and annotations
{
"default": 100,
"minimum": 0,
"type": "integer"
}page_token
query
next_page_token. Omit to fetch the first page.Type:
string
All schema constraints and annotations
{
"type": "string"
}Request and responses
Response
200
data and a next_page_token, which is null on the last page. Rule sets are not included; use GetPolicy to fetch a full policy.application/json
Type:
object
data
· required
Type:
array
Array item
Schema:
PolicySummary
All schema constraints and annotations
{
"items": {
"$ref": "#/components/schemas/PolicySummary"
},
"type": "array"
}next_page_token
· required
Type:
string | null
null on the last page.All schema constraints and annotations
{
"description": "The opaque cursor for the next page, or `null` on the last page.\n",
"example": "AQpteyJQSyI6Im15LW9yZyIsIlNLIjoicG9saWN5I3BvbF8ifQ",
"type": [
"string",
"null"
]
}All schema constraints and annotations
{
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/PolicySummary"
},
"type": "array"
},
"next_page_token": {
"description": "The opaque cursor for the next page, or `null` on the last page.\n",
"example": "AQpteyJQSyI6Im15LW9yZyIsIlNLIjoicG9saWN5I3BvbF8ifQ",
"type": [
"string",
"null"
]
}
},
"required": [
"data",
"next_page_token"
],
"type": "object"
}default
{
"data": [
{
"created_at": "2026-04-22T00:00:00Z",
"id": "pol_06evsmp24r1pg71cm8500546pkbn",
"name": "Security Research — hardened",
"org": "my-org",
"scope": {
"teams": [
"d290f1ee-6c54-4b01-90e6-d701748f0851"
]
},
"type": "allowlist_v0",
"updated_at": "2026-04-22T00:00:00Z"
}
],
"next_page_token": "AQpteyJQSyI6Im15LW9yZyIsIlNLIjoicG9saWN5I3BvbF8ifQ"
}Response
400
application/json
Schema:
Error
default
{
"error": {
"code": "invalid_argument",
"message": "name is required"
}
}Response
401
application/json
Schema:
Error
default
{
"error": {
"code": "unauthenticated",
"message": "unauthenticated"
}
}Response
403
application/json
Schema:
Error
default
{
"error": {
"code": "permission_denied",
"message": "permission denied"
}
}Response
404
application/json
Schema:
Error
default
{
"error": {
"code": "not_found",
"message": "policy not found"
}
}Response
500
application/json
Schema:
Error
default
{
"error": {
"code": "internal",
"message": "internal error"
}
}Referenced schemas
#/components/schemas/PolicySummary
Complete operation contract
{
"description": "Returns a shallow summary of the organization's policies, one page at a time. The rule set is not included; use GetPolicy to fetch the full object.\n\nResults are paginated with an opaque cursor. Pass `page_size` to bound the page; if more policies remain, the response includes a non-null `next_page_token` to pass as `page_token` on the next request. Iterate until `next_page_token` is `null`. Treat the token as opaque; do not parse or construct it.\n",
"operationId": "listPolicies",
"parameters": [
{
"description": "Maximum number of policies to return. Defaults to 100 if omitted or zero. The server caps values above 100 at 100.\n",
"in": "query",
"name": "page_size",
"required": false,
"schema": {
"default": 100,
"minimum": 0,
"type": "integer"
}
},
{
"description": "Opaque cursor from a previous response's `next_page_token`. Omit to fetch the first page.\n",
"in": "query",
"name": "page_token",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"examples": {
"default": {
"value": {
"data": [
{
"created_at": "2026-04-22T00:00:00Z",
"id": "pol_06evsmp24r1pg71cm8500546pkbn",
"name": "Security Research — hardened",
"org": "my-org",
"scope": {
"teams": [
"d290f1ee-6c54-4b01-90e6-d701748f0851"
]
},
"type": "allowlist_v0",
"updated_at": "2026-04-22T00:00:00Z"
}
],
"next_page_token": "AQpteyJQSyI6Im15LW9yZyIsIlNLIjoicG9saWN5I3BvbF8ifQ"
}
}
},
"schema": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/PolicySummary"
},
"type": "array"
},
"next_page_token": {
"description": "The opaque cursor for the next page, or `null` on the last page.\n",
"example": "AQpteyJQSyI6Im15LW9yZyIsIlNLIjoicG9saWN5I3BvbF8ifQ",
"type": [
"string",
"null"
]
}
},
"required": [
"data",
"next_page_token"
],
"type": "object"
}
}
},
"description": "Object wrapping an array of policy summaries under `data` and a `next_page_token`, which is null on the last page. Rule sets are not included; use GetPolicy to fetch a full policy."
},
"400": {
"$ref": "#/components/responses/InvalidArgument"
},
"401": {
"$ref": "#/components/responses/Unauthenticated"
},
"403": {
"$ref": "#/components/responses/PermissionDenied"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
},
"summary": "List policies",
"tags": [
"policies"
]
}