List roles
/rolesLists the roles your organisation can see, one page at a time, by id: your own roles and the platform's global roles, never another organisation's and never a service role of an API token. Each role carries its permission ids. Search the name and label with filter[q], and narrow to global or own roles with filter[global]. Use GET /roles/{id}/permissions for the permissions with their keys and labels.
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, name, label or created_at. Prefix a field with
-for descending. Defaults toid.Roles whose name or label contains this text, ignoring case.
truefor the platform's global roles,falsefor your organisation's own.
Responses
{
"data": [
{
"id": 1,
"name": "string",
"label": "string",
"description": "string",
"global": true,
"permission_ids": [
1
],
"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/roles\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"