PermissionCategory
Represents a logical grouping of related permissions organized by functional area or business domain. Supports hierarchical categorization and simplified permission assignment workflows.
Properties
| Property | Type | Mode | Description | Required |
|---|---|---|---|---|
| name | string | stored | Unique identifier for the category (e.g., 'user-management', 'financial', 'system-admin') Example: | Required |
| label | string | stored | Human-readable display name for the category Example: | Required |
| description | string | stored | Detailed description of what permissions this category encompasses Example: | Optional |
| parentCategory | PermissionCategory | stored | Parent category for hierarchical organization (enables nested category structures) | Optional |
| order | number | stored | Display order for sorting categories in UI Example: | Optional |
| isSystem | boolean | stored | Whether this is a system-defined category that cannot be modified or deleted Example: | Optional |
Examples
Example 1
{
"@type": "PermissionCategory",
"name": "user-management",
"label": "User Management",
"description": "Permissions for managing user accounts, authentication, and identity",
"order": 1,
"isSystem": true
}Example 2
{
"@type": "PermissionCategory",
"name": "financial",
"label": "Financial Operations",
"description": "Permissions for financial transactions, invoicing, and payment processing",
"order": 2,
"isSystem": true
}Example 3
{
"@type": "PermissionCategory",
"name": "system-admin",
"label": "System Administration",
"description": "Permissions for system configuration, monitoring, and maintenance",
"order": 3,
"isSystem": true
}Example 4
{
"@type": "PermissionCategory",
"name": "analytics",
"label": "Data Analytics",
"description": "Permissions for accessing reports, dashboards, and analytics tools",
"order": 4,
"isSystem": true
}Example 5
{
"@type": "PermissionCategory",
"name": "content-management",
"label": "Content Management",
"description": "Permissions for creating, editing, and publishing content",
"order": 5,
"isSystem": false
}Example 6
{
"@type": "PermissionCategory",
"name": "api-access",
"label": "API Access",
"description": "Permissions for external API integrations and programmatic access",
"parentCategory": {
"@type": "PermissionCategory",
"name": "system-admin",
"label": "System Administration"
},
"order": 6,
"isSystem": true
}