List roles
/api/v1/rolesReturns the roles defined for the active Application within the current Environment as an unpaginated { items } collection, each enriched with a permission_count, its scope and organization_node_id. By default only the Environment's own roles are returned, the ones assignable in every organization; organization_id lists one organization's own roles, scope=available with it what can be held inside that organization (its own and the Environment's), and scope=all every role. By default only active roles are returned; pass include_inactive=true to include deactivated roles, and filter by type=system or type=custom. An organization_id that is not a live organization returns 404. Requires the rbac.view_roles permission.
Authentication
Authorization Option A JWT access token. Never send alongside X-API-Key: a request carrying both is refused.
X-API-Key Option B API key for management-tier access. Never send alongside an Authorization header: a request carrying both is refused.
Query Parameters
include_inactiveenum Optional Include deactivated roles in the list.
typeenum Optional Filter by role origin.
scopeenum Optional Which roles: `environment` (the default) the Environment's own, assignable in every organization; `organization` one organization's own; `available` what can be held inside one organization, its own and the Environment's; `all` every role in the Environment. `organization` and `available` need `organization_id`.
organization_idstring Optional The organization whose roles to list. Alone, it lists that organization's own roles (`scope=organization`).
Responses
application/json
items *RoleResponseDto[]
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
Returned object
curl -X GET "https://auth.canopy-io.com/api/v1/roles?include_inactive=true&type=system&scope=environment&organization_id=value" \ -H "X-API-Key: $CANOPY_API_KEY"
{ "items": [ { "id": "string", "name": "string", "scope": "environment", "organization_node_id": "string", "organization_name": "string", "description": "string", "is_system_role": false, "system_key": "string", "is_active": false, "created_at": "2026-04-20T12:00:00.000Z", "updated_at": "2026-04-20T12:00:00.000Z", "version": 0, "permission_count": 0, "member_count": 0 } ] }
Tell us how we can improve this guide.