Skip to content

List roles

GET
/api/admin/roles
Code sample: Shell / cURL
curl --request GET \
--url https://auth.example.com/api/admin/roles \
--header 'Authorization: Bearer <token>'

Lists tenant roles ordered with system roles first and includes the active assignment count for each role.

Role list response.

Media type application/json
object
roles
required
Array<object>
object
id
required
string
tenant_id
required
string
name
required
string
display_name
string | null
description
string | null
permissions_json

JSON-encoded direct permission list as stored by the role table.

string
is_system
boolean
role_type
string
parent_role_id
string | null
created_at
integer format: int64
updated_at
integer format: int64
assignment_count
integer
added_permissions
Array<string>
effective_permissions
Array<string>
parent_role
object
id
string
name
string
display_name
string | null
key
additional properties
key
additional properties
key
additional properties
Example
{
"roles": [
{
"id": "role_viewer",
"tenant_id": "tenant_123",
"name": "viewer",
"display_name": "Viewer",
"description": "Read-only access.",
"permissions_json": "[\"users:read\"]",
"is_system": false,
"role_type": "custom",
"parent_role_id": null,
"created_at": 1770000000000,
"updated_at": 1770000000000,
"assignment_count": 3
}
]
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}