# uip platform users

> `uip platform users` manages per-user license-bundle allocation through the License Accountant. Allocate bundles directly to a directory user, list a user's current leases (and whether each one came from a direct allocation or a group rule), and view the account-level user-bundle availability.

`uip platform users` manages per-user license-bundle allocation through the License Accountant. Allocate bundles directly to a directory user, list a user's current leases (and whether each one came from a direct allocation or a group rule), and view the account-level user-bundle availability.

## Synopsis

```
uip platform users licenses <verb> [options] [<user>]
```

## Verbs

| Verb | Purpose |
|---|---|
| `set` | Allocate user bundle licenses directly to a directory user. |
| `get` | List the user-bundle leases currently held by a directory user, with the source of each lease. |
| `available` | Get the account-level summary of user-bundle licenses (total, allocated, available). |

## User resolution

`set` and `get` take a `<user>` positional argument — a name or email prefix. The CLI searches local and directory users with a "starts with" match and requires **exactly one** match:

- No match → error with `"No directory user found matching '<input>'."`.
- Multiple matches → error listing up to 10 candidates so you can refine the input.

## uip platform users licenses set

Allocate user bundle licenses to a directory user. Bundles in `--input` replace the user's directly-allocated bundles; bundles inherited from group rules are unaffected by this command.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<user>` | yes | User identifier (name or email prefix; must match exactly one directory user). |

### Options

| Long | Value | Default | Description |
|---|---|---|---|
| `--input` | path | **required** | Path to a JSON file with the desired user license allocation, for example `[{"code":"RPADEVPRONU"},{"code":"ATTUNU"},{"code":"TSTNU"}]`. |
| `--organization` | account-id | session default | Organization account GUID. Override the org resolved from the current login. |

### Example

```bash
uip platform users licenses set "dan.dinu@uipath.com" \
    --input ./user-bundles.json
```

`user-bundles.json`:

```json
[
  { "code": "RPADEVPRONU" },
  { "code": "ATTUNU" },
  { "code": "TSTNU" }
]
```

### Data shape (--output json)

```json
{
  "Code": "UserLicensesSet",
  "Data": [
    { "code": "RPADEVPRONU", "name": "RPADEVPRONU" },
    { "code": "ATTUNU",      "name": "ATTUNU" },
    { "code": "TSTNU",       "name": "TSTNU" }
  ]
}
```

## uip platform users licenses get

Get the user bundle licenses currently leased by a directory user. Each row is one leased bundle; `source` is `"group"` when the lease is inherited from a group rule, or `"direct"` for non-group allocations.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<user>` | yes | User identifier (name or email prefix; must match exactly one directory user). |

### Options

| Long | Value | Default | Description |
|---|---|---|---|
| `--organization` | account-id | session default | Organization account GUID. Override the org resolved from the current login. |

### Example

```bash
uip platform users licenses get "dan.dinu@uipath.com"
```

### Data shape (--output json)

```json
{
  "Code": "UserLicenses",
  "Data": [
    {
      "source": "direct",
      "code": "RPADEVPRONU",
      "name": "RPADEVPRONU",
      "leasedAt": "2026-04-15T10:30:00.000Z"
    },
    {
      "source": "group",
      "code": "ATTUNU",
      "name": "ATTUNU",
      "leasedAt": "2026-04-20T08:15:00.000Z"
    }
  ]
}
```

## uip platform users licenses available

Get the account-level summary of user-bundle licenses: how many seats per bundle exist (`total`), how many are already allocated (`allocated`), and how many remain available (`available`). Use this before allocating to confirm capacity.

### Options

| Long | Value | Default | Description |
|---|---|---|---|
| `--organization` | account-id | session default | Organization account GUID. Override the org resolved from the current login. |

### Example

```bash
uip platform users licenses available
```

### Data shape (--output json)

```json
{
  "Code": "UserLicensesAvailable",
  "Data": [
    { "code": "RPADEVPRONU", "name": "RPADEVPRONU", "total": 100, "allocated": 42, "available": 58 },
    { "code": "ATTUNU",      "name": "ATTUNU",      "total": 50,  "allocated": 50, "available": 0 }
  ]
}
```

## Exit codes

See [Exit codes](./exit-codes.md). No verb-specific overrides.

## Related commands

- [`uip platform groups`](./uip-platform-groups.md) — group rules that lease bundles to many users at once (these appear with `source: "group"` in `users licenses get`).
- [`uip platform tenants`](./uip-platform-tenants.md) — tenant-level runtime and consumable allocation.

## See also

- [Global options](./global-options.md).
