UiPath Documentation
uipath-cli
latest
false

UiPath CLI user guide

Last updated May 7, 2026

uip or roles

uip or roles manages Orchestrator roles and permissions (RBAC). Roles bundle permissions and are assigned to users at either the tenant (globally) or folder (scoped) level. Verbs on this page cover roles and their permissions, role-user membership, and folder-level assignments. For tenant-level role assignment per user, see users assign-roles in uip or users.

Synopsis

uip or roles <verb> [options]
uip or roles <verb> [options]

Verbs

VerbPurpose
list-permissionsList grantable permission names.
list-rolesList roles in the tenant.
get-roleFetch one role with its granted permissions.
create-roleCreate a role (with no permissions) at Tenant or Folder scope.
edit-roleAdd or remove permissions on a role.
delete-roleDelete a user-created role.
list-role-usersList users assigned to a role.
set-role-usersAdd or remove users on a role (bulk).
list-user-rolesShow a user's complete role assignments across tenant and every folder.
assignAssign folder-level roles to a user in a specific folder.

uip or roles list-permissions

List every grantable permission name. Use these names with roles edit-role --add-permissions.

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
-l--limitnumber50Page size.
--offsetnumber0Skip count.
--order-byfieldName ascOData sort.

Examples

uip or roles list-permissions --limit 200
uip or roles list-permissions --output-filter 'Data[].Name'
uip or roles list-permissions --output table
uip or roles list-permissions --limit 200
uip or roles list-permissions --output-filter 'Data[].Name'
uip or roles list-permissions --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-roles

List roles. Returns key (GUID), ID, name, display name, type, and whether the role is editable.

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
-l--limitnumber50Page size.
--offsetnumber0Skip count.
--order-byfieldId descOData sort.

Examples

uip or roles list-roles --limit 50
uip or roles list-roles --output-filter "Data[?Type=='Tenant'].Name"
uip or roles list-roles --output table
uip or roles list-roles --limit 50
uip or roles list-roles --output-filter "Data[?Type=='Tenant'].Name"
uip or roles list-roles --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-role

Fetch a role with its granted permissions.

Arguments

NameRequiredPurpose
<role-key>yesRole key (GUID).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.

Examples

uip or roles get-role a1b2c3d4-0000-0000-0000-000000000001
uip or roles get-role a1b2c3d4-0000-0000-0000-000000000001 \
    --output-filter 'Data.Permissions'
uip or roles get-role a1b2c3d4-0000-0000-0000-000000000001 --output table
uip or roles get-role a1b2c3d4-0000-0000-0000-000000000001
uip or roles get-role a1b2c3d4-0000-0000-0000-000000000001 \
    --output-filter 'Data.Permissions'
uip or roles get-role 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-role

Create a role with no permissions. After creation, grant permissions with roles edit-role --add-permissions.

Options

ShortLongValueDefaultDescription
--nametextrequiredRole name.
--typeenumrequiredTenant (applies across the tenant) or Folder (applies within folders).
-t--tenantnamesession defaultOverride the tenant.

Examples

uip or roles create-role --name "Read Only" --type Tenant
uip or roles create-role --name "Folder Viewer" --type Folder
uip or roles create-role --name "Read Only" --type Tenant \
    --output-filter 'Data.Key'
uip or roles create-role --name "Read Only" --type Tenant
uip or roles create-role --name "Folder Viewer" --type Folder
uip or roles create-role --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 edit-role

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.

Arguments

NameRequiredPurpose
<role-key>yesRole key (GUID).

Options

ShortLongValueDefaultDescription
--add-permissionsCSV of namesPermissions to grant.
--remove-permissionsCSV of namesPermissions to revoke.
-t--tenantnamesession defaultOverride the tenant.

At least one of --add-permissions or --remove-permissions is required.

Examples

uip or roles edit-role a1b2c3d4-0000-0000-0000-000000000010 \
    --add-permissions Assets.View,Jobs.View

uip or roles edit-role a1b2c3d4-0000-0000-0000-000000000010 \
    --remove-permissions Jobs.Edit

uip or roles edit-role a1b2c3d4-0000-0000-0000-000000000010 \
    --add-permissions Assets.View --output-filter 'Data.Status'
uip or roles edit-role a1b2c3d4-0000-0000-0000-000000000010 \
    --add-permissions Assets.View,Jobs.View

uip or roles edit-role a1b2c3d4-0000-0000-0000-000000000010 \
    --remove-permissions Jobs.Edit

uip or roles edit-role 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-role

Delete a user-created role. Built-in roles (where IsStatic=true) cannot be removed.

Arguments

NameRequiredPurpose
<role-key>yesRole key (GUID).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.

Examples

uip or roles delete-role a1b2c3d4-0000-0000-0000-000000000010
uip or roles delete-role a1b2c3d4-0000-0000-0000-000000000010 \
    --output-filter 'Data.Status'
uip or roles delete-role a1b2c3d4-0000-0000-0000-000000000010 --output plain
uip or roles delete-role a1b2c3d4-0000-0000-0000-000000000010
uip or roles delete-role a1b2c3d4-0000-0000-0000-000000000010 \
    --output-filter 'Data.Status'
uip or roles delete-role a1b2c3d4-0000-0000-0000-000000000010 --output plain

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 list-role-users

List users assigned to a role.

Arguments

NameRequiredPurpose
<role-key>yesRole key (GUID).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
-l--limitnumber50Page size.
--offsetnumber0Skip count.

Examples

uip or roles list-role-users a1b2c3d4-0000-0000-0000-000000000001
uip or roles list-role-users a1b2c3d4-0000-0000-0000-000000000001 --limit 200
uip or roles list-role-users a1b2c3d4-0000-0000-0000-000000000001 \
    --output-filter 'Data[].UserName'
uip or roles list-role-users a1b2c3d4-0000-0000-0000-000000000001
uip or roles list-role-users a1b2c3d4-0000-0000-0000-000000000001 --limit 200
uip or roles list-role-users 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": "[email protected]",
      "FullName": "Admin User",
      "Type": "User"
    }
  ]
}
{
  "Code": "RoleUserList",
  "Data": [
    {
      "Key": "d4e5f6a7-0000-0000-0000-000000000001",
      "ID": 101,
      "UserName": "[email protected]",
      "FullName": "Admin User",
      "Type": "User"
    }
  ]
}

uip or roles set-role-users

Add or remove users on a role (bulk). Provide --add-user-keys, --remove-user-keys, or both. At least one is required.

Arguments

NameRequiredPurpose
<role-key>yesRole key (GUID).

Options

ShortLongValueDefaultDescription
--add-user-keysCSV of GUIDsUsers to add.
--remove-user-keysCSV of GUIDsUsers to remove.
-t--tenantnamesession defaultOverride the tenant.

Examples

uip or roles set-role-users a1b2c3d4-0000-0000-0000-000000000010 \
    --add-user-keys d4e5f6a7-0000-0000-0000-000000000001

uip or roles set-role-users a1b2c3d4-0000-0000-0000-000000000010 \
    --add-user-keys d4e5f6a7--001,d4e5f6a7--002 \
    --remove-user-keys d4e5f6a7--099

uip or roles set-role-users a1b2c3d4-0000-0000-0000-000000000010 \
    --add-user-keys d4e5f6a7--001 --output-filter 'Data.Added'
uip or roles set-role-users a1b2c3d4-0000-0000-0000-000000000010 \
    --add-user-keys d4e5f6a7-0000-0000-0000-000000000001

uip or roles set-role-users a1b2c3d4-0000-0000-0000-000000000010 \
    --add-user-keys d4e5f6a7-…-001,d4e5f6a7-…-002 \
    --remove-user-keys d4e5f6a7-…-099

uip or roles set-role-users 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 list-user-roles

List all role assignments for a user across the tenant and every folder. Useful for auditing a user's full access profile.

Arguments

NameRequiredPurpose
<username>yesUsername to look up.

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
-l--limitnumber50Page size.
--offsetnumber0Skip count.

Examples

uip or roles list-user-roles admin@example.com
uip or roles list-user-roles admin@example.com \
    --output-filter "Data[?Scope=='Folder']"
uip or roles list-user-roles admin@example.com --output table
uip or roles list-user-roles [email protected]
uip or roles list-user-roles [email protected] \
    --output-filter "Data[?Scope=='Folder']"
uip or roles list-user-roles [email protected] --output table

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 assign

Assign folder-level roles to a user. Use Folder-type roles only. Requires --folder-path or --folder-key.

Options

ShortLongValueDefaultDescription
--user-keyGUIDrequiredUser key.
--role-keysCSV of GUIDsrequiredRole GUIDs to assign in the folder.
--folder-pathpathTarget folder. Provide this or --folder-key.
--folder-keyGUIDTarget folder.
-t--tenantnamesession defaultOverride the tenant.

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.

  • uip or users — find user keys; users assign-roles for tenant-level role assignments.
  • uip or folders — locate folder keys for roles assign.

See also

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated