Skip to main content
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.

Cases (duvo cases)

Inspect a Case’s history

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:
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.
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)

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.
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

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