List permissions
/permissionsLists every permission that can be put on a role, by id, whatever its level, 25 per cursor page by default and up to 100 with limit; the old route returned them all unpaginated. Each carries its key, name, label, category, level and creation_default (in your organisation's default set for new users). Narrow with filter[category] and filter[creation_default], which replace the removed grouped and context=creation parameters.
Query parameters
- Default:
Page size (1–100). Defaults to 25; values are clamped to the range.
25 Opaque pagination cursor taken from a prior response's
meta.next_cursor.Comma-separated top-level fields to return.
idis always returned.Comma-separated fields to sort by: id, key, label or created_at. Prefix a field with
-for descending. Defaults toid.Permissions in the category with this label, ignoring case. Takes
[in]and[not_in]with a comma-separated list, and[contains].truefor the permissions in your organisation's default set for new users,falsefor the rest.
Responses
{
"data": [
{
"id": 1,
"key": "string",
"name": "string",
"label": "string",
"description": "string",
"category": "string",
"level": 1,
"creation_default": true,
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00"
}
],
"meta": {
"limit": 1,
"next_cursor": "string",
"prev_cursor": "string"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl https://your-org-domain/kong/core/api/v2/permissions\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"