Skip to main content

uip or machines

uip or machines manages machine templates — robot host definitions that describe where robots execute and how many license slots of each type are allocated. Machines are tenant-scoped but can be assigned to specific folders.

Synopsis

uip or machines <verb> [options]

Verbs

VerbPurpose
listList machines in the tenant, or machines assigned to a specific folder.
getFetch one machine by key.
createCreate a new machine template (optionally serverless).
editEdit a machine's name, description, or slot allocation.
deleteDelete one or more machines.
assignAssign machines to a folder.
unassignRemove machines from a folder.

uip or machines list

List machines. Without --folder-key or --folder-path, returns every machine in the tenant. With either flag, returns only machines assigned to that folder.

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
--folder-keyGUIDScope to a folder by key.
--folder-pathpathScope to a folder by path.
-n--nametextContains-match on machine name.
--scopeenumDefault, Shared, PersonalWorkspace, Cloud, Serverless, AutomationCloudRobot, ElasticRobot.
-l--limitnumber50Page size.
--offsetnumber0Skip count.
--order-byfieldId descOData sort.
--all-fieldsflagoffReturn the full API payload.

Examples

uip or machines list --limit 10
uip or machines list --folder-path "Shared"
uip or machines list --scope Serverless \
--output-filter 'Data[].{name:Name, slots:UnattendedSlots}'

Data shape (--output json)

{
"Code": "MachineList",
"Data": [
{
"Name": "prod-worker-01",
"ID": 101,
"Key": "a1b2c3d4-0000-0000-0000-000000000001",
"Type": "Standard",
"Scope": "Default",
"Description": "",
"UnattendedSlots": 3,
"HeadlessSlots": 0,
"NonProductionSlots": 0,
"TestAutomationSlots": 0,
"LicenseKey": "b1c2d3e4-0000-0000-0000-000000000100"
}
],
"Pagination": { "Returned": 1, "Limit": 50, "Offset": 0, "HasMore": false }
}

uip or machines get

Fetch a machine by GUID key. No folder context required — machines are tenant-scoped.

Arguments

NameRequiredPurpose
<machine-key>yesMachine key (GUID). Find it with machines list.

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
--all-fieldsflagoffReturn the full API payload.

Examples

uip or machines get a1b2c3d4-0000-0000-0000-000000000001
uip or machines get a1b2c3d4-0000-0000-0000-000000000001 --all-fields
uip or machines get a1b2c3d4-0000-0000-0000-000000000001 \
--output-filter 'Data.UnattendedSlots'

Data shape (--output json)

{
"Code": "MachineGet",
"Data": {
"Name": "prod-worker-01",
"ID": 101,
"Key": "a1b2c3d4-0000-0000-0000-000000000001",
"Type": "Standard",
"Scope": "Default",
"Description": "",
"UnattendedSlots": 3,
"HeadlessSlots": 0,
"NonProductionSlots": 0,
"TestAutomationSlots": 0,
"LicenseKey": "b1c2d3e4-0000-0000-0000-000000000100"
}
}

uip or machines create

Create a new machine template. --name is required; with --serverless, the machine is created as a cloud-hosted (Portable) template.

Options

ShortLongValueDefaultDescription
-n--nametextrequiredMachine name (must be unique within the tenant).
-d--descriptiontextMachine description.
--serverlessflagoffCreate a serverless (cloud-hosted) machine.
--unattended-slotsnumberUnattended robot slots.
--headless-slotsnumberHeadless robot slots.
--non-production-slotsnumberNon-production robot slots.
--testing-slotsnumberTest-automation robot slots.
-t--tenantnamesession defaultOverride the tenant.

Examples

uip or machines create --name "staging-worker" --unattended-slots 2

uip or machines create --name "serverless-pool" --serverless \
--unattended-slots 10

uip or machines create --name "qa-host" --unattended-slots 1 --testing-slots 2 \
--output-filter 'Data.Key'

Data shape (--output json)

{
"Code": "MachineCreated",
"Data": {
"Name": "staging-worker",
"ID": 103,
"Key": "a1b2c3d4-0000-0000-0000-000000000010",
"Type": "Template",
"Scope": "Default",
"Description": "",
"UnattendedSlots": 2,
"HeadlessSlots": 0,
"NonProductionSlots": 0,
"TestAutomationSlots": 0,
"LicenseKey": ""
}
}

uip or machines edit

Edit a machine's name, description, or slot allocation. Only provided options are updated; omitted fields remain unchanged.

Arguments

NameRequiredPurpose
<machine-key>yesMachine key (GUID).

Options

ShortLongValueDefaultDescription
-n--nametextNew machine name.
-d--descriptiontextNew machine description.
--unattended-slotsnumberUnattended robot slots.
--headless-slotsnumberHeadless robot slots.
--non-production-slotsnumberNon-production robot slots.
--testing-slotsnumberTest-automation robot slots.
-t--tenantnamesession defaultOverride the tenant.

Examples

uip or machines edit a1b2c3d4-0000-0000-0000-000000000010 --unattended-slots 5
uip or machines edit a1b2c3d4-0000-0000-0000-000000000010 \
--name "staging-worker-eu" --description "EU staging host"
uip or machines edit a1b2c3d4-0000-0000-0000-000000000010 \
--unattended-slots 5 --output-filter 'Data.Status'

Data shape (--output json)

{
"Code": "MachineUpdate",
"Data": {
"Key": "a1b2c3d4-0000-0000-0000-000000000010",
"Name": "staging-worker",
"Status": "Updated successfully"
}
}

uip or machines delete

Delete one or more machines. A single key uses DeleteById; multiple keys use the bulk API. Machines must be unassigned from all folders before deletion.

Arguments

NameRequiredPurpose
<machine-keys...>yesOne or more machine keys (GUIDs).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.

Examples

uip or machines delete a1b2c3d4-0000-0000-0000-000000000010
uip or machines delete key-1 key-2 key-3
uip or machines delete key-1 key-2 --output-filter 'Data.Count'

Data shape (--output json)

{
"Code": "MachineDelete",
"Data": {
"Deleted": [
{ "Key": "a1b2c3d4-0000-0000-0000-000000000010", "Name": "staging-worker" }
],
"Count": 1,
"Status": "Deleted successfully"
}
}

uip or machines assign

Assign one or more machines to a folder. Requires --folder-path or --folder-key.

Arguments

NameRequiredPurpose
<machine-keys...>yesOne or more machine keys (GUIDs).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
--folder-pathpathTarget folder by path.
--folder-keyGUIDTarget folder by key.

Examples

uip or machines assign a1b2c3d4-0000-0000-0000-000000000001 \
--folder-path "Shared"

uip or machines assign key-1 key-2 --folder-key b1c2d3e4-0000-0000-0000-000000000001

uip or machines assign a1b2c3d4-0000-0000-0000-000000000001 \
--folder-path "Shared" --output-filter 'Data.Status'

Data shape (--output json)

{
"Code": "MachineAssign",
"Data": {
"MachineKeys": ["a1b2c3d4-0000-0000-0000-000000000001"],
"FolderPath": "Shared",
"Count": 1,
"Status": "Assigned successfully"
}
}

uip or machines unassign

Remove machines from a folder. The machines are not deleted — only their folder assignment is removed. Requires --folder-path or --folder-key.

Arguments

NameRequiredPurpose
<machine-keys...>yesOne or more machine keys (GUIDs).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
--folder-pathpathFolder to unassign from.
--folder-keyGUIDFolder to unassign from.

Examples

uip or machines unassign a1b2c3d4-0000-0000-0000-000000000001 \
--folder-path "Shared"

uip or machines unassign key-1 key-2 --folder-path "Production"

uip or machines unassign a1b2c3d4-0000-0000-0000-000000000001 \
--folder-path "Shared" --output-filter 'Data.Count'

Data shape (--output json)

{
"Code": "MachineUnassign",
"Data": {
"MachineKeys": ["a1b2c3d4-0000-0000-0000-000000000001"],
"FolderPath": "Shared",
"Count": 1,
"Status": "Unassigned successfully"
}
}

Exit codes

See Exit codes. No verb-specific overrides.

  • uip or folders — especially folders runtimes to inspect machine allocation from the folder side.
  • uip or licenseslicenses toggle enables/disables licensing on a specific machine.
  • uip or jobsjobs start --machine-keys targets specific machines.

See also