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

# Advanced CLI Commands

These commands cover lower-level operations and edge cases. Most users won't need them day-to-day, but they're invaluable for scripting, integrations, and debugging.

## Sandboxes (`duvo sandboxes`)

Sandboxes are isolated file environments where you can stage files before starting a Run. Create a sandbox, upload files into it, then pass the sandbox ID when starting a Run with `duvo runs start --sandbox <sandbox-id>`.

```bash theme={"dark"}
duvo sandboxes create                              # create a new sandbox
duvo sandboxes files <sandbox-id>                  # list files in a sandbox
duvo sandboxes upload <sandbox-id> <file>          # upload a local file (max 10 MB)
duvo sandboxes prepare-upload-url <sandbox-id> \
  --path /workspace/data.csv                       # get a presigned URL for files over 10 MB
```

`--path` is the destination path inside the sandbox. After getting the URL, upload the file directly via HTTP.

## Revision integrations (`duvo revision-integrations`)

Revision integrations control which integrations (Connections) are attached to a specific Revision of an Agent, and let you pin particular Connection accounts to individual integration slots.

```bash theme={"dark"}
duvo revision-integrations list \
  --agent <agent-id> --revision <revision-id>             # list integrations on a Revision
duvo revision-integrations attach \
  --agent <agent-id> --revision <revision-id> \
  --integration <integration-id>                          # attach an integration (repeat --integration for multiple)
duvo revision-integrations remove <integration-id> \
  --agent <agent-id> --revision <revision-id> [-y]        # remove an integration from a Revision (prompts unless -y)
```

Use `duvo integrations list` to find integration IDs and `duvo connections list` to find Connection IDs.

### Pinned Connections

Pin a specific Connection account to an integration slot so the Agent always uses that account, regardless of who runs it.

```bash theme={"dark"}
duvo revision-integrations connections list \
  --agent <agent-id> --revision <revision-id> \
  --integration <integration-id>                          # list pinned Connections for a slot

duvo revision-integrations connections pin <connection-id> \
  --agent <agent-id> --revision <revision-id> \
  --integration <integration-id>                          # pin a Connection to a slot

duvo revision-integrations connections unpin <connection-id> \
  --agent <agent-id> --revision <revision-id> \
  --integration <integration-id> [-y]                     # unpin a Connection from a slot
```

## Raw API access (`duvo api`)

Call any Duvo API endpoint directly. Use this when you need an endpoint that doesn't have a dedicated `duvo` command yet, or when you want to inspect the raw API response.

```bash theme={"dark"}
duvo api GET /health
duvo api POST /v2/teams/{teamId}/runs --data '{"agent_id":"...","input":"..."}'
duvo api GET /v2/teams/{teamId}/agents --query 'limit=10'
```

The CLI authenticates the request using your active profile, so you don't have to handle headers manually.

## Deprecation notices

When the CLI detects that an API endpoint is deprecated, it prints a warning to `stderr` before the command output:

```
duvo: ⚠  GET /v1/old-endpoint is deprecated (sunset: 2026-08-01)
       See: https://docs.duvo.ai/api-reference/migration-guide
```

Notices include the sunset date (when the endpoint will stop working) and a link to the replacement or migration guide when available. Each `(method, path)` pair is only warned once per CLI invocation — repeated calls to the same endpoint won't repeat the notice.

If you see a deprecation notice, update your scripts to use the replacement endpoint shown in the linked documentation before the sunset date.

## Related

* [Public API Reference](../api-reference) — full schema for every endpoint
* [Managing Connections](/cli/managing-connections) — pair with `duvo revision-integrations` to control which Connections an Agent uses
