# uip or queue-items

> Syntax and options for `uip or queue-items`, which manages individual work transactions inside Orchestrator queues.

Manage **queue items** — individual work transactions inside queues. Items flow through states: `New → InProgress → Successful` / `Failed` / `Abandoned` / `Retried` / `Deleted`. Queue items are folder-scoped; most subcommands require `--folder-path` or `--folder-key`. For the queue itself, see [`uip or queues`](./uip-or-queues.md).

For the cross-resource conventions (auth, folder scoping, key types, output envelope), see the [`uip or` overview](./uip-or.md).

## Synopsis

```
uip or queue-items list                [--folder-path <path> | --folder-key <key> | --all-folders] [--queue-definition-key <key>] [--queue-name <name>] [--status <status>] [-l <n>] [--offset <n>] [--sort-by <field>] [--all-fields]
uip or queue-items get                 <queue-item-key> [--all-fields]
uip or queue-items update              <queue-item-key> [--priority ] [--due-date <iso>] [--defer-date <iso>] [--specific-content <json>]
uip or queue-items delete              <queue-item-key> --yes
uip or queue-items delete-bulk         <queue-item-key...> --yes
uip or queue-items set-review-status   <status> <queue-item-key...>
uip or queue-items set-reviewer        <queue-item-key...> --user-key <guid>
uip or queue-items unset-reviewer      <queue-item-key...>
uip or queue-items get-reviewers       [--folder-path <path> | --folder-key <key>] [--all-fields]
uip or queue-items get-history         <queue-item-key> [-l <n>] [--offset <n>] [--all-fields]
uip or queue-items get-last-retry      <retry-chain-key> [--all-fields]
uip or queue-items has-video           <queue-item-key>
uip or queue-items add                 <queue-name> --folder-path <path> | --folder-key <key> --specific-content <json> [-r <ref>] [-p <priority>] [--defer-date <iso>] [--due-date <iso>] [--all-fields]
uip or queue-items bulk-add            <queue-name> --folder-path <path> | --folder-key <key> --queue-items <json-array> [--commit-type <mode>]
```

:::note
There is currently no `set-progress` command and no `--progress` flag on `update` — progress text cannot be set through this CLI. If you were looking for it, check whether it's been added since this page was last verified, or use the Orchestrator API directly in the meantime.
:::

## list

List queue items in a folder, or across every accessible folder with `--all-folders`. Filter: `--queue-definition-key <guid>` and/or `--queue-name <name>` and/or `--status <state>`. Paginated via `-l, --limit` / `--offset`; `--sort-by <field>` sorts results (default `Id desc`). `--all-fields` returns the full API response instead of the curated subset.

```bash
uip or queue-items list --folder-path Shared \
  --queue-name InvoiceQueue --status Failed
```

## get

Get a queue item by `<queue-item-key>` (the `uniqueKey` field from `list` output, unique per attempt). `--all-fields` returns the full API response instead of the curated subset.

## update

Change fields on a queue item. Optional `--priority <High|Normal|Low>`, `--due-date <ISO-8601>`, `--defer-date <ISO-8601>`, `--specific-content <json>`.

## delete / delete-bulk

Delete one or many items by `<queue-item-key>` / `<queue-item-key...>`. Bulk form requires all items to belong to the same folder. Both require `-y, --yes` — the CLI never prompts for destructive operations.

```bash
uip or queue-items delete a1b2c3d4-0000-0000-0000-000000000001 --yes
```

## set-review-status

Set `<status>` (`Retried`, `Abandoned`, `Deleted`) for one or more `<queue-item-key...>`.

## set-reviewer / unset-reviewer

Assign or clear a reviewer on one or more `<queue-item-key...>`. `set-reviewer` requires `--user-key <guid>`.

## get-reviewers

List users available as reviewers (scoped by `--folder-path` / `--folder-key` if provided). Returned keys feed `set-reviewer --user-key`. `--all-fields` returns the full API response instead of the curated subset.

## get-history

Return the processing history for a queue item. Paginated via `-l, --limit` / `--offset`.

## get-last-retry

Return the most recent retry for an item. Argument is the **retry-chain key** (the `key` field from `list`, not `uniqueKey`).

## has-video

Return whether a queue item has a video recording attached.

## add

Add a single item to a queue by name. Requires `<queue-name>` and `--specific-content <json>`. Optional `-r, --reference`, `-p, --priority <High|Normal|Low>` (default `Normal`), `--defer-date`, `--due-date`.

```bash
uip or queue-items add InvoiceQueue --folder-path Shared \
  --specific-content '{"InvoiceId":"INV-001","Amount":1500}'
```

## bulk-add

Add multiple items in one request. Requires `<queue-name>` and `--queue-items <json-array>`. Optional `--commit-type <AllOrNothing|StopOnFirstFailure|ProcessAllIndependently>` (default `ProcessAllIndependently`).

```bash
ITEMS=$(jq -c . ./items.json)
uip or queue-items bulk-add InvoiceQueue \
  --folder-path Shared \
  --queue-items "$ITEMS" \
  --commit-type StopOnFirstFailure
```

## Exit codes

See [Exit codes](./exit-codes.md) for the shared contract. `delete` / `delete-bulk` exit `2` (validation error) if `-y, --yes` is omitted.

## Related commands

- [`uip or queues`](./uip-or-queues.md) — queue-level CRUD.

## See also

- [`uip or` overview](./uip-or.md) — shared conventions for every `uip or` verb.
- [How-to: manage Orchestrator assets and queues](./howto-manage-resources.md) — bulk patterns and CSV-driven dispatch.
