- Overview
- Get started
- Concepts
- Using UiPath CLI
- How-to guides
- CI/CD recipes
- Command reference
- Overview
- Exit codes
- Global options
- uip codedagent
- uip docsai
- 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-versions
- get-workflow-example
- indicate-application
- indicate-element
- inspect-package
- install-data-fabric-entities
- install-or-update-packages
- list-data-fabric-entities
- list-workflow-examples
- pack
- restore
- run-file
- search-templates
- start-studio
- stop-execution
- uia
- uip traces
- Migration
- Reference & support
UiPath CLI user guide
uip or users manages Orchestrator users at the tenant level — listing, creating, editing, and deleting users, plus assigning them to folders and managing tenant-level role assignments. For folder-level role management, see uip or roles.
Synopsis
uip or users <verb> [options]
uip or users <verb> [options]
Verbs
| Verb | Purpose |
|---|---|
list | List tenant users with optional filters. |
list-in-folder | List users assigned to a folder, with their folder-level roles. |
list-available | List users that can still be assigned to a folder (not yet assigned). |
get | Fetch one user by key. |
create | Create a new user; optionally assign tenant roles and set unattended execution credentials. |
delete | Delete a user by key. |
assign | Assign a user to a folder, optionally with folder-level roles. |
unassign | Remove a user from a folder. |
edit | Edit user properties (PATCH semantics). |
current | Return details of the currently authenticated user. |
assign-roles | Replace a user's tenant-level role assignments. |
uip or users list
List users in the tenant. Returns user key (GUID), username, full name, email, type, and active status.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --key | GUID | — | Filter by user key (exact match). |
| — | --username | text | — | Filter by username (contains match). |
| — | --email | text | — | Filter by email address (contains match). |
-l | --limit | number | 50 | Page size. |
| — | --offset | number | 0 | Skip count. |
| — | --order-by | field | — | OData sort (for example, UserName asc). |
| — | --all-fields | flag | off | Return the full API payload. |
Examples
uip or users list --limit 10
uip or users list --username admin
uip or users list --output-filter 'Data[].{key:Key, name:UserName}'
uip or users list --limit 10
uip or users list --username admin
uip or users list --output-filter 'Data[].{key:Key, name:UserName}'
Data shape (--output json)
{
"Code": "UserList",
"Data": [
{
"Key": "d4e5f6a7-0000-0000-0000-000000000001",
"UserName": "[email protected]",
"FullName": "Admin User",
"Email": "[email protected]",
"Type": "User",
"IsActive": true
}
],
"Pagination": { "Returned": 1, "Limit": 50, "Offset": 0, "HasMore": false }
}
{
"Code": "UserList",
"Data": [
{
"Key": "d4e5f6a7-0000-0000-0000-000000000001",
"UserName": "[email protected]",
"FullName": "Admin User",
"Email": "[email protected]",
"Type": "User",
"IsActive": true
}
],
"Pagination": { "Returned": 1, "Limit": 50, "Offset": 0, "HasMore": false }
}
uip or users list-in-folder
List users assigned to a folder, with their folder-level roles. Requires --folder-path or --folder-key.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
-t | --tenant | name | session default | Override the tenant. |
| — | --folder-path | path | — | Target folder. Provide this or --folder-key. |
| — | --folder-key | GUID | — | Target folder. Provide this or --folder-path. |
| — | --include-inherited | flag | off | Also show users inherited from parent folders. |
-l | --limit | number | 50 | Page size. |
| — | --offset | number | 0 | Skip count. |
| — | --order-by | field | Id desc | OData sort. |
Examples
uip or users list-in-folder --folder-path "Shared"
uip or users list-in-folder --folder-path "Shared" --include-inherited
uip or users list-in-folder --folder-path "Shared" \
--output-filter 'Data[].{name:UserName, roles:Roles}'
uip or users list-in-folder --folder-path "Shared"
uip or users list-in-folder --folder-path "Shared" --include-inherited
uip or users list-in-folder --folder-path "Shared" \
--output-filter 'Data[].{name:UserName, roles:Roles}'
Data shape (--output json)
{
"Code": "UserList",
"Data": [
{
"Key": "d4e5f6a7-0000-0000-0000-000000000001",
"UserName": "[email protected]",
"FullName": "Admin User",
"Type": "User",
"IsInherited": false,
"Roles": "Folder Administrator"
}
]
}
{
"Code": "UserList",
"Data": [
{
"Key": "d4e5f6a7-0000-0000-0000-000000000001",
"UserName": "[email protected]",
"FullName": "Admin User",
"Type": "User",
"IsInherited": false,
"Roles": "Folder Administrator"
}
]
}
uip or users list-available
List tenant users that can still be assigned to a folder. Use the returned keys with users assign or roles assign.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
-t | --tenant | name | session default | Override the tenant. |
| — | --folder-path | path | — | Target folder. Provide this or --folder-key. |
| — | --folder-key | GUID | — | Target folder. Provide this or --folder-path. |
-s | --search | text | — | Filter by username (contains match). |
-l | --limit | number | 50 | Page size. |
| — | --offset | number | 0 | Skip count. |
Examples
uip or users list-available --folder-path "Shared"
uip or users list-available --folder-path "Shared" --search admin
uip or users list-available --folder-path "Shared" \
--output-filter 'Data[].Key'
uip or users list-available --folder-path "Shared"
uip or users list-available --folder-path "Shared" --search admin
uip or users list-available --folder-path "Shared" \
--output-filter 'Data[].Key'
Data shape (--output json)
{
"Code": "UserAvailableList",
"Data": [
{
"Key": "d4e5f6a7-0000-0000-0000-000000000003",
"UserName": "[email protected]",
"Roles": ""
}
]
}
{
"Code": "UserAvailableList",
"Data": [
{
"Key": "d4e5f6a7-0000-0000-0000-000000000003",
"UserName": "[email protected]",
"Roles": ""
}
]
}
uip or users get
Fetch a user by GUID key.
Arguments
| Name | Required | Purpose |
|---|---|---|
<user-key> | yes | User key (GUID). |
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
-t | --tenant | name | session default | Override the tenant. |
| — | --all-fields | flag | off | Return the full API payload. |
Examples
uip or users get d4e5f6a7-0000-0000-0000-000000000001
uip or users get d4e5f6a7-0000-0000-0000-000000000001 --all-fields
uip or users get d4e5f6a7-0000-0000-0000-000000000001 --output-filter 'Data.Email'
uip or users get d4e5f6a7-0000-0000-0000-000000000001
uip or users get d4e5f6a7-0000-0000-0000-000000000001 --all-fields
uip or users get d4e5f6a7-0000-0000-0000-000000000001 --output-filter 'Data.Email'
Data shape (--output json)
{
"Code": "User",
"Data": {
"Key": "d4e5f6a7-0000-0000-0000-000000000001",
"UserName": "[email protected]",
"FullName": "Admin User",
"Email": "[email protected]",
"Type": "User",
"IsActive": true
}
}
{
"Code": "User",
"Data": {
"Key": "d4e5f6a7-0000-0000-0000-000000000001",
"UserName": "[email protected]",
"FullName": "Admin User",
"Email": "[email protected]",
"Type": "User",
"IsActive": true
}
}
uip or users create
Create a new tenant user. Only --username is required. The API requires rolesList, so --role-keys is effectively required in practice — use it with tenant-scope role GUIDs.
Options
Identity
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --username | text | required | Login username. |
| — | --name | text | — | First name. |
| — | --surname | text | — | Last name. |
| — | --email | text | — | Email address. |
| — | --type | enum | — | User type (for example, User, DirectoryUser). |
-t | --tenant | name | session default | Override the tenant. |
Roles and license
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --role-keys | CSV of GUIDs | — | Tenant-scope role GUIDs (resolved to role names for the API payload). |
| — | --license-type | enum | — | For example, Attended, Unattended, StudioPro. |
Session permissions (flag pairs)
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --allow-unattended / --deny-unattended | flag | — | Allow or deny unattended job execution. |
| — | --allow-attended / --deny-attended | flag | — | Allow or deny attended sessions. |
| — | --allow-login / --deny-login | flag | — | Allow or deny Orchestrator login. |
| — | --allow-personal-workspace / --deny-personal-workspace | flag | — | Allow or deny personal workspace. |
| — | --active / --inactive | flag | — | Activate or deactivate the user. |
Unattended execution credentials
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --unattended-username | text | — | Windows account (for example, DOMAIN\user). |
| — | --unattended-password | text | — | Password, or — for read-only credential stores — the external secret reference name. |
| — | --credential-store-key | GUID | — | Credential store. Use credential-stores list to find it. |
| — | --credential-type | enum | — | Default or SmartCard. |
| — | --limit-concurrent / --no-limit-concurrent | flag | — | Allow or disallow concurrent execution on multiple machines. |
Examples
uip or users create --username newuser@example.com --email newuser@example.com \
--role-keys a1b2c3d4-0000-0000-0000-000000000001
uip or users create --username bot@example.com --name Bot --surname Worker \
--role-keys a1b2c3d4-0000-0000-0000-000000000002 \
--unattended-username DOMAIN\\bot --unattended-password s3cret
uip or users create --username newuser@example.com \
--role-keys a1b2c3d4-0000-0000-0000-000000000001 \
--output-filter 'Data.Key'
uip or users create --username [email protected] --email [email protected] \
--role-keys a1b2c3d4-0000-0000-0000-000000000001
uip or users create --username [email protected] --name Bot --surname Worker \
--role-keys a1b2c3d4-0000-0000-0000-000000000002 \
--unattended-username DOMAIN\\bot --unattended-password s3cret
uip or users create --username [email protected] \
--role-keys a1b2c3d4-0000-0000-0000-000000000001 \
--output-filter 'Data.Key'
Data shape (--output json)
{
"Code": "User",
"Data": {
"Key": "d4e5f6a7-0000-0000-0000-000000000010",
"UserName": "[email protected]",
"FullName": "",
"Email": "[email protected]",
"Type": "User",
"IsActive": true
}
}
{
"Code": "User",
"Data": {
"Key": "d4e5f6a7-0000-0000-0000-000000000010",
"UserName": "[email protected]",
"FullName": "",
"Email": "[email protected]",
"Type": "User",
"IsActive": true
}
}
uip or users delete
Permanently delete a user from the tenant.
Arguments
| Name | Required | Purpose |
|---|---|---|
<user-key> | yes | User key (GUID). |
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
-t | --tenant | name | session default | Override the tenant. |
Examples
uip or users delete d4e5f6a7-0000-0000-0000-000000000010
uip or users delete d4e5f6a7-0000-0000-0000-000000000010 --output-filter 'Data.Status'
uip or users delete d4e5f6a7-0000-0000-0000-000000000010 --output plain
uip or users delete d4e5f6a7-0000-0000-0000-000000000010
uip or users delete d4e5f6a7-0000-0000-0000-000000000010 --output-filter 'Data.Status'
uip or users delete d4e5f6a7-0000-0000-0000-000000000010 --output plain
Data shape (--output json)
{
"Code": "UserDeleted",
"Data": { "Key": "d4e5f6a7-0000-0000-0000-000000000010", "Status": "Deleted successfully" }
}
{
"Code": "UserDeleted",
"Data": { "Key": "d4e5f6a7-0000-0000-0000-000000000010", "Status": "Deleted successfully" }
}
uip or users assign
Assign a user to a folder, optionally with folder-level roles.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --user-key | GUID | required | User key. |
| — | --role-keys | CSV of GUIDs | — | Folder-scope role GUIDs. |
| — | --folder-path | path | — | Target folder. Provide this or --folder-key. |
| — | --folder-key | GUID | — | Target folder. |
-t | --tenant | name | session default | Override the tenant. |
Examples
uip or users assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared"
uip or users assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared" \
--role-keys a1b2c3d4-0000-0000-0000-000000000002
uip or users assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared" --output-filter 'Data.Status'
uip or users assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared"
uip or users assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared" \
--role-keys a1b2c3d4-0000-0000-0000-000000000002
uip or users assign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared" --output-filter 'Data.Status'
Data shape (--output json)
{
"Code": "UserAssigned",
"Data": {
"UserKey": "d4e5f6a7-0000-0000-0000-000000000001",
"FolderPath": "Shared",
"Status": "Assigned successfully"
}
}
{
"Code": "UserAssigned",
"Data": {
"UserKey": "d4e5f6a7-0000-0000-0000-000000000001",
"FolderPath": "Shared",
"Status": "Assigned successfully"
}
}
uip or users unassign
Remove a user from a folder. The user is not deleted.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --user-key | GUID | required | User key. |
| — | --folder-path | path | — | Folder to remove from. Provide this or --folder-key. |
| — | --folder-key | GUID | — | Folder to remove from. |
-t | --tenant | name | session default | Override the tenant. |
Examples
uip or users unassign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared"
uip or users unassign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-key b1c2d3e4-0000-0000-0000-000000000001
uip or users unassign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared" --output-filter 'Data.Status'
uip or users unassign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared"
uip or users unassign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-key b1c2d3e4-0000-0000-0000-000000000001
uip or users unassign --user-key d4e5f6a7-0000-0000-0000-000000000001 \
--folder-path "Shared" --output-filter 'Data.Status'
Data shape (--output json)
{
"Code": "UserUnassigned",
"Data": {
"UserKey": "d4e5f6a7-0000-0000-0000-000000000001",
"FolderPath": "Shared",
"Status": "Unassigned successfully"
}
}
{
"Code": "UserUnassigned",
"Data": {
"UserKey": "d4e5f6a7-0000-0000-0000-000000000001",
"FolderPath": "Shared",
"Status": "Unassigned successfully"
}
}
uip or users edit
Edit a user by key. Reads current values, merges the provided fields, and saves. Provide at least one option to update.
Arguments
| Name | Required | Purpose |
|---|---|---|
<user-key> | yes | User key (GUID). |
Options
Same flags as users create, except --username (cannot be changed) and --role-keys (use users assign-roles instead). All session-permission flag pairs, license type, and unattended credential options apply.
Examples
uip or users edit d4e5f6a7-0000-0000-0000-000000000001 --email newmail@example.com
uip or users edit d4e5f6a7-0000-0000-0000-000000000001 \
--allow-unattended --license-type Unattended
uip or users edit d4e5f6a7-0000-0000-0000-000000000001 --inactive \
--output-filter 'Data.Status'
uip or users edit d4e5f6a7-0000-0000-0000-000000000001 --email [email protected]
uip or users edit d4e5f6a7-0000-0000-0000-000000000001 \
--allow-unattended --license-type Unattended
uip or users edit d4e5f6a7-0000-0000-0000-000000000001 --inactive \
--output-filter 'Data.Status'
Data shape (--output json)
{
"Code": "UserUpdated",
"Data": { "Key": "d4e5f6a7-0000-0000-0000-000000000001", "Status": "Updated successfully" }
}
{
"Code": "UserUpdated",
"Data": { "Key": "d4e5f6a7-0000-0000-0000-000000000001", "Status": "Updated successfully" }
}
uip or users current
Return the currently authenticated user. Useful for verifying the session and discovering your own user key.
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
-t | --tenant | name | session default | Override the tenant. |
Examples
uip or users current
uip or users current --output-filter 'Data.Key'
uip or users current --output table
uip or users current
uip or users current --output-filter 'Data.Key'
uip or users current --output table
Data shape (--output json)
Same User shape as users get.
uip or users assign-roles
Assign tenant-level roles to a user. This replaces the user's current tenant roles — use roles set-role-users for additive membership at a role level.
Arguments
| Name | Required | Purpose |
|---|---|---|
<user-key> | yes | User key (GUID). |
Options
| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | --role-keys | CSV of GUIDs | required | Role GUIDs to assign at tenant scope. |
-t | --tenant | name | session default | Override the tenant. |
Examples
uip or users assign-roles d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000001
uip or users assign-roles d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000001,a1b2c3d4-0000-0000-0000-000000000002
uip or users assign-roles d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000001 \
--output-filter 'Data.RolesAssigned'
uip or users assign-roles d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000001
uip or users assign-roles d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000001,a1b2c3d4-0000-0000-0000-000000000002
uip or users assign-roles d4e5f6a7-0000-0000-0000-000000000001 \
--role-keys a1b2c3d4-0000-0000-0000-000000000001 \
--output-filter 'Data.RolesAssigned'
Data shape (--output json)
{
"Code": "UserRolesAssigned",
"Data": {
"UserKey": "d4e5f6a7-0000-0000-0000-000000000001",
"RolesAssigned": 1,
"Status": "Assigned successfully"
}
}
{
"Code": "UserRolesAssigned",
"Data": {
"UserKey": "d4e5f6a7-0000-0000-0000-000000000001",
"RolesAssigned": 1,
"Status": "Assigned successfully"
}
}
Exit codes
See Exit codes. No verb-specific overrides.
Related commands
uip or roles— manage roles and role-user membership.uip or folders— find folder keys forusers assign/unassign.uip or jobs— especiallyjobs start --user-keys.
See also
- Synopsis
- Verbs
- uip or users list
- Options
- Examples
- Data shape (--output json)
- uip or users list-in-folder
- Options
- Examples
- Data shape (--output json)
- uip or users list-available
- Options
- Examples
- Data shape (--output json)
- uip or users get
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or users create
- Options
- Examples
- Data shape (--output json)
- uip or users delete
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or users assign
- Options
- Examples
- Data shape (--output json)
- uip or users unassign
- Options
- Examples
- Data shape (--output json)
- uip or users edit
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip or users current
- Options
- Examples
- Data shape (--output json)
- uip or users assign-roles
- Arguments
- Options
- Examples
- Data shape (--output json)
- Exit codes
- Related commands
- See also