- Overview
- Get started
- Concepts
- Using UiPath CLI
- How-to guides
- CI/CD recipes
- Command reference
- Overview
- Exit codes
- Global options
- uip codedagent
- uip coder
- uip context-grounding
- uip docsai
- uip function
- uip guardrails
- uip llm-configuration
- uip llm-gateway
- uip model-hub
- add-test-data-entity
- add-test-data-queue
- add-test-data-variation
- analyze
- build
- create-project
- diff
- find-activities
- get-analyzer-rules
- get-default-activity-xaml
- get-errors
- get-manual-test-cases
- get-manual-test-steps
- get-library-object-repository
- get-object-repository
- get-versions
- get-workflow-example
- indicate-application
- indicate-element
- inspect-package
- install-data-fabric-entities
- install-or-update-packages
- list-data-fabric-entities
- list-instances
- list-workflow-examples
- pack
- publish
- remote
- restore
- run, debug & execution
- run-file
- search-templates
- start-studio
- stop-execution
- tm
- uia
- uip tasks
- uip traces
- uip traces feedback
- Migration
- Reference & support
Syntax and options for `uip or roles`, which manages Orchestrator RBAC roles, permissions, and folder-level assignments.
uip or roles manages Orchestrator roles and permissions (RBAC). Roles bundle permissions and are assigned to users, groups, robots, machines, or external applications at either the tenant (globally) or folder (scoped) level. Verbs on this page cover roles and their permissions, role-user membership, principal-level role/permission inspection, and folder-level assignments. For tenant-level role assignment per user, see users assign-roles in uip or users.
Synopsis
uip or roles permissions list [options]
uip or roles list [options]
uip or roles get <role-key>
uip or roles create --name <name> --type <Tenant|Folder>
uip or roles update <role-key> [--add-permissions <names>] [--remove-permissions <names>]
uip or roles delete <role-key> -y
uip or roles users list <role-key> [options]
uip or roles users set <role-key> [--add-user-keys <keys>] [--remove-user-keys <keys>]
uip or roles user-roles list <principal-name> [--type <type>] [options]
uip or roles user-permissions list <username> [--folder-path <path> | --folder-key <key>]
uip or roles assign --user-key <key> --role-keys <keys> [--folder-path <path> | --folder-key <key>]
uip or roles permissions list [options]
uip or roles list [options]
uip or roles get <role-key>
uip or roles create --name <name> --type <Tenant|Folder>
uip or roles update <role-key> [--add-permissions <names>] [--remove-permissions <names>]
uip or roles delete <role-key> -y
uip or roles users list <role-key> [options]
uip or roles users set <role-key> [--add-user-keys <keys>] [--remove-user-keys <keys>]
uip or roles user-roles list <principal-name> [--type <type>] [options]
uip or roles user-permissions list <username> [--folder-path <path> | --folder-key <key>]
uip or roles assign --user-key <key> --role-keys <keys> [--folder-path <path> | --folder-key <key>]
Verbs
| Verb | Purpose |
|---|---|
permissions list | List grantable permission names. |
list | List roles in the tenant. |
get | Fetch one role with its granted permissions. |
create | Create a role (with no permissions) at Tenant or Folder scope. |
update (alias edit) | Add or remove permissions on a role. |
delete | Delete a user-created role. |
users list | List users assigned to a role. |
users set | Add or remove users on a role (bulk). |
user-roles list | List a principal's (user, group, robot, machine, or external app) complete role assignments across tenant and every folder. |
user-permissions list | List a user's effective permissions, tenant-wide or scoped to one folder. |
assign | Assign folder-level roles to a user in a specific folder. |
uip or roles permissions list
List every grantable permission name. Use these names with roles update --add-permissions.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
-l | --limit | number | 50 | Page size. |
| — | --offset | number | 0 | Skip count. |
| — | --sort-by | field | Name asc | OData sort. |
Examples
uip or roles permissions list --limit 200
uip or roles permissions list --output-filter 'Data[].Name'
uip or roles permissions list --output table
uip or roles permissions list --limit 200
uip or roles permissions list --output-filter 'Data[].Name'
uip or roles permissions list --output table
Data shape (--output json)
{
"Code": "PermissionList",
"Data": [{ "Name": "Assets.Create" }, { "Name": "Assets.Delete" }]
}
{
"Code": "PermissionList",
"Data": [{ "Name": "Assets.Create" }, { "Name": "Assets.Delete" }]
}
uip or roles list
List roles. Returns key (GUID), ID, name, display name, type, and whether the role is editable. Use the role key with roles get, roles update, or roles users set.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
-l | --limit | number | 50 | Page size. |
| — | --offset | number | 0 | Skip count. |
| — | --sort-by | field | Id desc | OData sort. |
Examples
uip or roles list --limit 50
uip or roles list --output-filter "Data[?Type=='Tenant'].Name"
uip or roles list --output table
uip or roles list --limit 50
uip or roles list --output-filter "Data[?Type=='Tenant'].Name"
uip or roles list --output table
Data shape (--output json)
{
"Code": "RoleList",
"Data": [
{
"Key": "a1b2c3d4-0000-0000-0000-000000000001",
"ID": 1,
"Name": "Administrator",
"DisplayName": "Administrator",
"Type": "Tenant",
"IsEditable": false
}
]
}
{
"Code": "RoleList",
"Data": [
{
"Key": "a1b2c3d4-0000-0000-0000-000000000001",
"ID": 1,
"Name": "Administrator",
"DisplayName": "Administrator",
"Type": "Tenant",
"IsEditable": false
}
]
}
uip or roles get
Fetch a role with its granted permissions.
Arguments
| Name | Required | Purpose |
|---|---|---|
<role-key> | yes | Role key (GUID). Use roles list to find it. |
Options
| Short | Long | Value | Default | Description |
|---|
Examples
uip or roles get a1b2c3d4-0000-0000-0000-000000000001
uip or roles get a1b2c3d4-0000-0000-0000-000000000001 \
--output-filter 'Data.Permissions'
uip or roles get a1b2c3d4-0000-0000-0000-000000000001 --output table
uip or roles get a1b2c3d4-0000-0000-0000-000000000001
uip or roles get a1b2c3d4-0000-0000-0000-000000000001 \
--output-filter 'Data.Permissions'
uip or roles get a1b2c3d4-0000-0000-0000-000000000001 --output table
Data shape (--output json)
{
"Code": "Role",
"Data": {
"Key": "a1b2c3d4-0000-0000-0000-000000000001",
"ID": 1,
"Name": "Administrator",
"DisplayName": "Administrator",
"Type": "Tenant",
"IsStatic": true,
"IsEditable": false,
"Permissions": "Assets.View, Assets.Create, Jobs.View"
}
}
{
"Code": "Role",
"Data": {
"Key": "a1b2c3d4-0000-0000-0000-000000000001",
"ID": 1,
"Name": "Administrator",
"DisplayName": "Administrator",
"Type": "Tenant",
"IsStatic": true,
"IsEditable": false,
"Permissions": "Assets.View, Assets.Create, Jobs.View"
}
}
uip or roles create
Create a role with no permissions. After creation, grant permissions with roles update --add-permissions.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --name | text | required | Role name. |
| — | --type | Tenant | Folder | required | Tenant applies across the tenant; Folder applies within folders. |
Examples
uip or roles create --name "Read Only" --type Tenant
uip or roles create --name "Folder Viewer" --type Folder
uip or roles create --name "Read Only" --type Tenant \
--output-filter 'Data.Key'
uip or roles create --name "Read Only" --type Tenant
uip or roles create --name "Folder Viewer" --type Folder
uip or roles create --name "Read Only" --type Tenant \
--output-filter 'Data.Key'
Data shape (--output json)
{
"Code": "RoleCreated",
"Data": {
"Key": "a1b2c3d4-0000-0000-0000-000000000010",
"ID": 10,
"Name": "Read Only",
"Type": "Tenant",
"Status": "Created successfully"
}
}
{
"Code": "RoleCreated",
"Data": {
"Key": "a1b2c3d4-0000-0000-0000-000000000010",
"ID": 10,
"Name": "Read Only",
"Type": "Tenant",
"Status": "Created successfully"
}
}
uip or roles update
Add or remove permissions on a role. Reads current permissions, toggles isGranted for names in --add-permissions / --remove-permissions, and saves. New names (not yet on the role) are looked up in the tenant's full permission catalog and added.
edit is a registered alias for this verb — uip or roles edit works identically to uip or roles update.
Arguments
| Name | Required | Purpose |
|---|---|---|
<role-key> | yes | Role key (GUID). |
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --add-permissions | CSV of names | — | Permissions to grant. |
| — | --remove-permissions | CSV of names | — | Permissions to revoke. |
At least one of --add-permissions or --remove-permissions is required.
Examples
uip or roles update a1b2c3d4-0000-0000-0000-000000000010 \
--add-permissions Assets.View,Jobs.View
uip or roles update a1b2c3d4-0000-0000-0000-000000000010 \
--remove-permissions Jobs.Edit
uip or roles update a1b2c3d4-0000-0000-0000-000000000010 \
--add-permissions Assets.View --output-filter 'Data.Status'
uip or roles update a1b2c3d4-0000-0000-0000-000000000010 \
--add-permissions Assets.View,Jobs.View
uip or roles update a1b2c3d4-0000-0000-0000-000000000010 \
--remove-permissions Jobs.Edit
uip or roles update a1b2c3d4-0000-0000-0000-000000000010 \
--add-permissions Assets.View --output-filter 'Data.Status'
Data shape (--output json)
{
"Code": "RoleUpdated",
"Data": { "Key": "a1b2c3d4-0000-0000-0000-000000000010", "Status": "Updated successfully" }
}
{
"Code": "RoleUpdated",
"Data": { "Key": "a1b2c3d4-0000-0000-0000-000000000010", "Status": "Updated successfully" }
}
uip or roles delete
Delete a user-created role. Built-in roles (where IsStatic=true) cannot be removed.
Arguments
| Name | Required | Purpose |
|---|---|---|
<role-key> | yes | Role key (GUID). |
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
-y | --yes | flag | — | Required. Confirms this irreversible operation — the CLI never prompts. |
Examples
uip or roles delete a1b2c3d4-0000-0000-0000-000000000010 --yes
uip or roles delete a1b2c3d4-0000-0000-0000-000000000010 --yes \
--output-filter 'Data.Status'
uip or roles delete a1b2c3d4-0000-0000-0000-000000000010 --yes
uip or roles delete a1b2c3d4-0000-0000-0000-000000000010 --yes \
--output-filter 'Data.Status'
Data shape (--output json)
{
"Code": "RoleDeleted",
"Data": { "Key": "a1b2c3d4-0000-0000-0000-000000000010", "Status": "Deleted successfully" }
}
{
"Code": "RoleDeleted",
"Data": { "Key": "a1b2c3d4-0000-0000-0000-000000000010", "Status": "Deleted successfully" }
}
uip or roles users list
List users assigned to a role.
Arguments
| Name | Required | Purpose |
|---|---|---|
<role-key> | yes | Role key (GUID). |
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
-l | --limit | number | 50 | Page size. |
| — | --offset | number | 0 | Skip count. |
Examples
uip or roles users list a1b2c3d4-0000-0000-0000-000000000001
uip or roles users list a1b2c3d4-0000-0000-0000-000000000001 --limit 200
uip or roles users list a1b2c3d4-0000-0000-0000-000000000001 \
--output-filter 'Data[].UserName'
uip or roles users list a1b2c3d4-0000-0000-0000-000000000001
uip or roles users list a1b2c3d4-0000-0000-0000-000000000001 --limit 200
uip or roles users list a1b2c3d4-0000-0000-0000-000000000001 \
--output-filter 'Data[].UserName'
Data shape (--output json)
{
"Code": "RoleUserList",
"Data": [
{
"Key": "d4e5f6a7-0000-0000-0000-000000000001",
"ID": 101,
"UserName": "admin@example.com",
"FullName": "Admin User",
"Type": "User"
}
]
}
{
"Code": "RoleUserList",
"Data": [
{
"Key": "d4e5f6a7-0000-0000-0000-000000000001",
"ID": 101,
"UserName": "admin@example.com",
"FullName": "Admin User",
"Type": "User"
}
]
}
uip or roles users set
Add or remove users on a role (bulk). Provide --add-user-keys, --remove-user-keys, or both. At least one is required. Additive/subtractive only — existing membership not named in either flag is left untouched (unlike users assign-roles, which replaces the full list).
Arguments
| Name | Required | Purpose |
|---|---|---|
<role-key> | yes | Role key (GUID). |
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --add-user-keys | CSV of GUIDs | — | Users to add. |
| — | --remove-user-keys | CSV of GUIDs | — | Users to remove. |
Examples
uip or roles users set a1b2c3d4-0000-0000-0000-000000000010 \
--add-user-keys d4e5f6a7-0000-0000-0000-000000000001
uip or roles users set a1b2c3d4-0000-0000-0000-000000000010 \
--add-user-keys d4e5f6a7-…-001,d4e5f6a7-…-002 \
--remove-user-keys d4e5f6a7-…-099
uip or roles users set a1b2c3d4-0000-0000-0000-000000000010 \
--add-user-keys d4e5f6a7-…-001 --output-filter 'Data.Added'
uip or roles users set a1b2c3d4-0000-0000-0000-000000000010 \
--add-user-keys d4e5f6a7-0000-0000-0000-000000000001
uip or roles users set a1b2c3d4-0000-0000-0000-000000000010 \
--add-user-keys d4e5f6a7-…-001,d4e5f6a7-…-002 \
--remove-user-keys d4e5f6a7-…-099
uip or roles users set a1b2c3d4-0000-0000-0000-000000000010 \
--add-user-keys d4e5f6a7-…-001 --output-filter 'Data.Added'
Data shape (--output json)
{
"Code": "RoleUsersUpdated",
"Data": {
"RoleKey": "a1b2c3d4-0000-0000-0000-000000000010",
"Added": 1,
"Removed": 0,
"Status": "Updated successfully"
}
}
{
"Code": "RoleUsersUpdated",
"Data": {
"RoleKey": "a1b2c3d4-0000-0000-0000-000000000010",
"Added": 1,
"Removed": 0,
"Status": "Updated successfully"
}
}
uip or roles user-roles list
List all role assignments for a principal — a user, directory group, directory robot, machine, or external application — across the tenant and every folder. Useful for auditing a principal's full access profile.
Arguments
| Name | Required | Purpose |
|---|---|---|
<principal-name> | yes | Username, group name, robot name, machine name, or external-app name to look up. |
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --type | User | Group | Robot | Machine | ExternalApplication | User | Principal type. The DirectoryUser/DirectoryGroup/DirectoryRobot/DirectoryExternalApplication spellings are also accepted as aliases. |
-l | --limit | number | 50 | Page size. |
| — | --offset | number | 0 | Skip count. |
Examples
uip or roles user-roles list admin@example.com
uip or roles user-roles list "MRS Developers" --type Group
uip or roles user-roles list admin@example.com \
--output-filter "Data[?Scope=='Folder']"
uip or roles user-roles list admin@example.com
uip or roles user-roles list "MRS Developers" --type Group
uip or roles user-roles list admin@example.com \
--output-filter "Data[?Scope=='Folder']"
Data shape (--output json)
{
"Code": "UserRoleList",
"Data": [
{ "Scope": "Tenant", "FolderPath": "", "Role": "Administrator" },
{ "Scope": "Folder", "FolderPath": "Shared", "Role": "Folder Administrator" }
]
}
{
"Code": "UserRoleList",
"Data": [
{ "Scope": "Tenant", "FolderPath": "", "Role": "Administrator" },
{ "Scope": "Folder", "FolderPath": "Shared", "Role": "Folder Administrator" }
]
}
uip or roles user-permissions list
List a user's effective permissions. Without a folder option, shows tenant-level roles and permissions; with --folder-path/--folder-key, shows the roles and permissions granted in that specific folder instead. Returns the deduplicated union of permissions granted by all matching roles.
Arguments
| Name | Required | Purpose |
|---|---|---|
<username> | yes | Username to look up. |
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --folder-path | path | — | Show folder-level permissions for this folder instead of tenant-level. |
| — | --folder-key | GUID | — | Folder alternative to --folder-path. |
Examples
uip or roles user-permissions list admin@example.com
uip or roles user-permissions list admin@example.com --folder-path "Shared"
uip or roles user-permissions list admin@example.com
uip or roles user-permissions list admin@example.com --folder-path "Shared"
Data shape (--output json)
Tenant-level:
{
"Code": "UserPermissionList",
"Data": {
"Roles": ["Administrator"],
"Permissions": ["Jobs.View", "Assets.Create"]
}
}
{
"Code": "UserPermissionList",
"Data": {
"Roles": ["Administrator"],
"Permissions": ["Jobs.View", "Assets.Create"]
}
}
Folder-scoped:
{
"Code": "UserPermissionList",
"Data": {
"FolderPath": "Shared",
"Roles": ["Folder User"],
"Permissions": ["Jobs.View", "Assets.View"]
}
}
{
"Code": "UserPermissionList",
"Data": {
"FolderPath": "Shared",
"Roles": ["Folder User"],
"Permissions": ["Jobs.View", "Assets.View"]
}
}
uip or roles assign
Assign folder-level roles to a user. Use Folder-type roles only. Requires --folder-path or --folder-key.
CAUTION — destructive on roles. The server replaces the user's entire folder-level role list for the target folder with the keys passed via --role-keys. Roles not in the payload are silently removed. To preserve existing folder roles, read them first with roles user-roles list <principal-name> --type <type> and pass the full desired union to --role-keys. For additive tenant-level role membership on a role, use roles users set instead.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --user-key | GUID | required | User key. |
| — | --role-keys | CSV of GUIDs | required | Role GUIDs to assign in the folder. |
| — | --folder-path | path | — | Target folder. Provide this or --folder-key. |
| — | --folder-key | GUID | — | Target folder. |
Examples
uip or roles assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000002 \
--folder-path "Shared"
uip or roles assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-…-002,a1b2c3d4-…-003 \
--folder-key b1c2d3e4-0000-0000-0000-000000000001
uip or roles assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000002 \
--folder-path "Shared" --output-filter 'Data.Status'
uip or roles assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000002 \
--folder-path "Shared"
uip or roles assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-…-002,a1b2c3d4-…-003 \
--folder-key b1c2d3e4-0000-0000-0000-000000000001
uip or roles assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000002 \
--folder-path "Shared" --output-filter 'Data.Status'
Data shape (--output json)
{
"Code": "PermissionsAssigned",
"Data": {
"UserKey": "d4e5f6a7-0000-0000-0000-000000000001",
"FolderPath": "Shared",
"Status": "Assigned successfully"
}
}
{
"Code": "PermissionsAssigned",
"Data": {
"UserKey": "d4e5f6a7-0000-0000-0000-000000000001",
"FolderPath": "Shared",
"Status": "Assigned successfully"
}
}
Exit codes
See Exit codes. No verb-specific overrides.
Related commands
uip or users— find user keys;users assign-rolesfor tenant-level role assignments.uip or folders— locate folder keys forroles assign.
See also
- Synopsis
- Verbs
- uip or roles permissions list
- Options
- Examples
- Data shape (--output json)
- uip or roles list
- Options
- Examples
- Data shape (--output json)
- uip or roles get
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or roles create
- Options
- Examples
- Data shape (--output json)
- uip or roles update
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or roles delete
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or roles users list
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or roles users set
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or roles user-roles list
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or roles user-permissions list
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or roles assign
- Options
- Examples
- Data shape (--output json)
- Exit codes
- Related commands
- See also