UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

uip ah categories, tags, collaborators, roles, users

Syntax and options for the Automation Hub category taxonomy, free-text tags, per-automation collaborators, the assignable role catalogue, and user accounts.

Categories are a hierarchical taxonomy automations are placed in; tags are free-text labels. Collaborators are the people working on one automation, each holding one or more roles — Automation Hub's assignable-role catalogue is also how uip ah users create grants tenant-wide access. See uip ah for shared concepts (projection/--all-fields, paged vs. unpaged lists) that apply to every verb here.

uip ah categories

Read the category hierarchy and place automations in it.

Synopsis

uip ah categories get [--all-fields]
uip ah categories update --file <json-file> [-y, --yes]
uip ah categories set <automation-id> --category-id <id>
uip ah categories get [--all-fields]
uip ah categories update --file <json-file> [-y, --yes]
uip ah categories set <automation-id> --category-id <id>

uip ah categories get

Get the category hierarchy as one tree, with its level names. get, not list: the endpoint returns one nested document, not a paged collection — there's no --limit/--offset.

Options
LongDescription
--all-fieldsReturn the raw payload instead of Levels/Categories.
Example
uip ah categories get
uip ah categories get
Data shape (--output json)
{
  "Code": "AhCategoriesGet",
  "Data": { "Levels": [{ "Id": 1, "Name": "Business Unit" }], "Categories": [{ "Id": 4, "Name": "Finance" }] }
}
{
  "Code": "AhCategoriesGet",
  "Data": { "Levels": [{ "Id": 1, "Name": "Business Unit" }], "Categories": [{ "Id": 4, "Name": "Finance" }] }
}

uip ah categories update

Replace the whole category tree from a file. Automation Hub has no per-category create/delete — the tree is synced as one document.

Options
LongValueRequiredDescription
--file <json-file>pathyesJSON with the full category tree to sync, in the shape categories get returns.
-y, --yesflagyesConfirm this replaces the entire tenant category tree. Required — the CLI never prompts.

An empty or clearly-malformed file is rejected client-side before the request is sent.

Example
uip ah categories update --file ./categories.json --yes
uip ah categories update --file ./categories.json --yes
Data shape (--output json)
{ "Code": "AhCategoriesUpdate", "Data": { "Status": "Synced" } }
{ "Code": "AhCategoriesUpdate", "Data": { "Status": "Synced" } }

uip ah categories set

Assign one automation to a category.

Arguments
NameRequiredPurpose
<automation-id>yesAutomation id.
Options
LongValueRequiredDescription
--category-id <id>integeryesCategory id to assign.
Example
uip ah categories set 20 --category-id 4
uip ah categories set 20 --category-id 4
Data shape (--output json)
{ "Code": "AhCategoriesSet", "Data": { "AutomationId": 20, "CategoryId": 4 } }
{ "Code": "AhCategoriesSet", "Data": { "AutomationId": 20, "CategoryId": 4 } }

uip ah tags

Set the tags on an automation.

uip ah tags set

Replace an automation's tags with the given set — this replaces the whole tag list rather than merging (matching uip config set's replace semantics).

Arguments
NameRequiredPurpose
<automation-id>yesAutomation id.
Options
LongValueRequiredDescription
--tags <tag...>repeatableyesThe complete tag set for this automation.
Example
uip ah tags set 20 --tags finance "quick win"
uip ah tags set 20 --tags finance "quick win"
Data shape (--output json)
{ "Code": "AhTagsSet", "Data": { "AutomationId": 20, "Tags": ["finance", "quick win"] } }
{ "Code": "AhTagsSet", "Data": { "AutomationId": 20, "Tags": ["finance", "quick win"] } }

uip ah collaborators

Manage who collaborates on an automation. Its own resource group rather than a verb on automations, so the standard CRUD verbs stay available for it.

Synopsis

uip ah collaborators list --automation-id <id> [--limit <n>] [--offset <n>] [--all-fields]
uip ah collaborators create <automation-id> --user-id <id...> --role-id <id...>
uip ah collaborators delete <automation-id> --user-id <id...> --role-id <id...> [-y, --yes]
uip ah collaborators list --automation-id <id> [--limit <n>] [--offset <n>] [--all-fields]
uip ah collaborators create <automation-id> --user-id <id...> --role-id <id...>
uip ah collaborators delete <automation-id> --user-id <id...> --role-id <id...> [-y, --yes]

uip ah collaborators list

Options
LongValueRequiredDescription
--automation-id <id>integeryesAutomation to read (a query parameter on this endpoint, not a positional).
--limit <n> / --offset <n>integernoPaging, applied client-side (unpaged endpoint).
--all-fieldsflagnoReturn the raw payload.
Example
uip ah collaborators list --automation-id 20
uip ah collaborators list --automation-id 20
Data shape (--output json)
{
  "Code": "AhCollaboratorsList",
  "Data": [
    { "Id": 1, "Email": "jane@acme.com", "FirstName": "Jane", "LastName": "Doe", "JobTitle": "Analyst", "Department": "Finance", "BusinessUnit": "EMEA", "IsActive": 1 }
  ]
}
{
  "Code": "AhCollaboratorsList",
  "Data": [
    { "Id": 1, "Email": "jane@acme.com", "FirstName": "Jane", "LastName": "Doe", "JobTitle": "Analyst", "Department": "Finance", "BusinessUnit": "EMEA", "IsActive": 1 }
  ]
}

uip ah collaborators create

Add collaborators to an automation.

Arguments
NameRequiredPurpose
<automation-id>yesAutomation id.
Options
LongValueRequiredDescription
--user-id <id...>repeatableyesUser ids to add.
--role-id <id...>repeatableyesRole ids to grant every added user (applied to all of them — a per-user role split needs one call per user). Only active roles of type process are accepted; the endpoint rejects any other kind.

At least one --role-id is required — the endpoint rejects a collaborator entry with no role.

Example
uip ah collaborators create 20 --user-id 3 --role-id 3
uip ah collaborators create 20 --user-id 3 --role-id 3
Data shape (--output json)
{ "Code": "AhCollaboratorsCreate", "Data": { "AutomationId": 20, "UserIds": [3] } }
{ "Code": "AhCollaboratorsCreate", "Data": { "AutomationId": 20, "UserIds": [3] } }

uip ah collaborators delete

Remove collaborator roles from users on an automation. The endpoint deletes role assignments rather than the collaborator record, so --role-id is required — strip every role a user holds and they stop being a collaborator.

Arguments
NameRequiredPurpose
<automation-id>yesAutomation id.
Options
LongValueRequiredDescription
--user-id <id...>repeatableyesUser ids to remove roles from.
--role-id <id...>repeatableyesRole ids to remove from each user.
-y, --yesflagyesConfirm this irreversible operation. Required — the CLI never prompts.
Example
uip ah collaborators delete 20 --user-id 3 --role-id 3 --yes
uip ah collaborators delete 20 --user-id 3 --role-id 3 --yes
Data shape (--output json)
{ "Code": "AhCollaboratorsDelete", "Data": { "AutomationId": 20, "UserIds": [3], "RoleIds": [3] } }
{ "Code": "AhCollaboratorsDelete", "Data": { "AutomationId": 20, "UserIds": [3], "RoleIds": [3] } }

uip ah roles

Discover the Automation Hub roles that can be assigned. Read-only.

uip ah roles list

Options
LongDescription
--limit <n> / --offset <n>Paging, applied client-side (unpaged endpoint).
--all-fieldsReturn the raw payload.
Example
uip ah roles list
uip ah roles list
Data shape (--output json)
{
  "Code": "AhRolesList",
  "Data": [
    { "Id": 2, "Name": "System Admin", "Slug": "ah-system-admin", "Type": "service", "Description": "...", "IsActive": 1, "IsDefault": 0 }
  ]
}
{
  "Code": "AhRolesList",
  "Data": [
    { "Id": 2, "Name": "System Admin", "Slug": "ah-system-admin", "Type": "service", "Description": "...", "IsActive": 1, "IsDefault": 0 }
  ]
}

Slug is the value uip ah users create --role takes; Id/Type are what collaborators create --role-id filters on (only Type: "process" roles are accepted there).

uip ah users

Manage Automation Hub users and their roles.

Synopsis

uip ah users list [--search <text>] [--sort-by <field>] [--sort-order asc|desc] [--department <name>] [--business-unit <name>] [--location <name>] [--job-title <title>] [--invite-status <status>] [--role <slug>] [--limit <n>] [--offset <n>] [--all-fields]
uip ah users create --email <email> [write options...] --role-id <id...>
uip ah users update --email <email> [write options...]
uip ah users list [--search <text>] [--sort-by <field>] [--sort-order asc|desc] [--department <name>] [--business-unit <name>] [--location <name>] [--job-title <title>] [--invite-status <status>] [--role <slug>] [--limit <n>] [--offset <n>] [--all-fields]
uip ah users create --email <email> [write options...] --role-id <id...>
uip ah users update --email <email> [write options...]

uip ah users list

Options
LongValueDescription
--search <text>stringFree-text search.
--sort-by <field>stringField to sort on, e.g. user_email.
--sort-order <direction>asc|descSort direction.
--department <name> / --business-unit <name> / --location <name> / --job-title <title>stringScope filters.
--invite-status <status>stringOnly this invite status.
--role <slug>stringOnly users holding this role slug.
--limit <n> / --offset <n>integerPaging. Default --limit 20.
--all-fieldsflagReturn the raw payload.
Example
uip ah users list --department Finance --limit 20
uip ah users list --department Finance --limit 20
Data shape (--output json)
{
  "Code": "AhUsersList",
  "Data": [
    { "Id": 3, "Email": "jane@acme.com", "FirstName": "Jane", "LastName": "Doe", "JobTitle": "Analyst", "Department": "Finance", "BusinessUnit": "EMEA", "Location": "Boston", "IsAdmin": 0, "IsActive": 1, "InviteStatus": 2, "AutomationCount": 3 }
  ],
  "Pagination": { "Returned": 1, "Limit": 20, "Offset": 0 }
}
{
  "Code": "AhUsersList",
  "Data": [
    { "Id": 3, "Email": "jane@acme.com", "FirstName": "Jane", "LastName": "Doe", "JobTitle": "Analyst", "Department": "Finance", "BusinessUnit": "EMEA", "Location": "Boston", "IsAdmin": 0, "IsActive": 1, "InviteStatus": 2, "AutomationCount": 3 }
  ],
  "Pagination": { "Returned": 1, "Limit": 20, "Offset": 0 }
}

uip ah users create

Add an existing Automation Cloud user to Automation Hub. This imports a user who is already in the organization — it cannot invite a new one, and fails with an explicit instructional error if the address is unknown to Automation Cloud.

Options
LongValueRequiredDescription
--email <email>emailyesUser email address.
--first-name <name> / --last-name <name>stringconditionallyRequired by the service on write (see below).
--job-title <title> / --department <name> / --business-unit <name> / --location <name>stringconditionallyRequired by the service on write.
--invite-status <status>integernoNumeric Automation Hub invite-status code. Default 2 on create.
--activeflagnoMark the user active. Default on create. Conflicts with --inactive.
--inactiveflagnoMark the user inactive. Conflicts with --active.
--role-id <id...>repeatablenoRole ids to assign (uip ah roles list for the ids).

Automation Hub requires nine fields to carry a value on every write (email, first-name, last-name, business-unit, department, location, job-title, invite-status, active/inactive) — on create, none has a stored fallback, so any omitted field fails client-side naming exactly which flags to pass.

Example
uip ah users create --email jane@acme.com --first-name Jane --last-name Doe \
  --job-title Analyst --department Finance --business-unit EMEA --location Boston --role-id 3
uip ah users create --email jane@acme.com --first-name Jane --last-name Doe \
  --job-title Analyst --department Finance --business-unit EMEA --location Boston --role-id 3
Data shape (--output json)
{ "Code": "AhUsersCreate", "Data": { "Email": "jane@acme.com", "Status": "Created" } }
{ "Code": "AhUsersCreate", "Data": { "Email": "jane@acme.com", "Status": "Created" } }

uip ah users update

Update a user, found by --email. Automation Hub replaces the whole user record on write, so fields you don't pass are carried over from the stored record — except that the service still rejects the write if any of the nine required fields is empty on both the flag and the stored record.

Options

Same flags as create, but only --email is required — the rest fill gaps from the existing record.

Example
uip ah users update --email jane@acme.com --job-title 'Senior Analyst'
uip ah users update --email jane@acme.com --job-title 'Senior Analyst'
Data shape (--output json)
{ "Code": "AhUsersUpdate", "Data": { "Email": "jane@acme.com", "Status": "Updated" } }
{ "Code": "AhUsersUpdate", "Data": { "Email": "jane@acme.com", "Status": "Updated" } }

See also

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated