> ## Documentation Index
> Fetch the complete documentation index at: https://docs.duvo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Cases and Queues

> Inspect Case history, bulk-reprocess Cases on an Agent, and manage labels with the Duvo CLI.

A Case is a single piece of work delivered into a Queue for an Agent to pick up. The CLI lets you inspect Case history, re-process Cases in bulk, manage labels, and view the Agents bound to a Queue.

For an overview of the Queue system, see [Queue](/user-guide/assignment-features/case-queue).

## Cases (`duvo cases`)

### Inspect a Case's history

```bash theme={"dark"}
duvo cases runs <case-id>                                    # list all Runs that have worked on a Case
```

### Bulk-reprocess Cases

Re-process 1–100 Cases on a specific Agent in one call. Any active Runs for these Cases are interrupted:

```bash theme={"dark"}
duvo cases bulk-reprocess --queue <queue-id> \
  --agent <agent-id> \
  --ids <case-id-1>,<case-id-2>,<case-id-3>

duvo cases bulk-reprocess --queue <queue-id> \
  --agent <agent-id> \
  --ids <case-id-1>,<case-id-2> --yes                         # skip the confirmation prompt
```

### Manage Case labels

Attach or remove labels on a Case for filtering and organization.

```bash theme={"dark"}
duvo cases labels list <case-id> --queue <queue-id>          # list labels on a Case
duvo cases labels assign <case-id> --queue <queue-id> \
  --label "key=value" [--label "key=value" ...]              # assign one or more labels
duvo cases labels unlink <case-id> --queue <queue-id> \
  --label-id <label-id> [--label-id <label-id> ...]          # remove labels from a Case
```

`--label` accepts either `key=value` (for keyed labels like `priority=urgent`) or just `value` on its own (for tag-style labels like `urgent`).

## Queues (`duvo queues`)

```bash theme={"dark"}
duvo queues agents <queue-id>                                # list producer and consumer Agents bound to a Queue
```

## Queue labels (`duvo queue-labels`)

Queue labels are reusable label definitions on a Queue. Once defined, a label can be attached to any Case in that Queue.

```bash theme={"dark"}
duvo queue-labels list --queue <queue-id>                    # list all labels for a Queue
duvo queue-labels create --queue <queue-id> \
  --value "Urgent" [--key "priority"] \
  [--color "#FF0000"]                                        # create a new Queue label
duvo queue-labels delete <label-id> --queue <queue-id> [-y]  # delete a Queue label
```

## Scripting examples

### Relabel a Case if it had runs created today

```bash theme={"dark"}
TODAY=$(date -u +%Y-%m-%d)

duvo cases runs <case-id> --json \
  | jq -r --arg today "$TODAY" \
      '.runs[] | select(.created_at | startswith($today)) | .case_id' \
  | while read CASE_ID; do
      duvo cases labels assign "$CASE_ID" \
        --queue <queue-id> \
        --label "review=$TODAY"
    done
```
