The CLI builds its command list from the Bento API. Endpoints are grouped by tag, so each one becomesDocumentation Index
Fetch the complete documentation index at: https://docs.bentolabs.ai/llms.txt
Use this file to discover all available pages before exploring further.
bentolabs <group> <command>.
bentolabs refresh pulls a fresh command list from the API.
How arguments work
A generated command takes three kinds of input: path params, query params, and a request body. Path params like/things/{thing_id} become required positional arguments, in the same order as the path. The workspace_id path param is the exception. It’s never a positional; the CLI fills it from --workspace or the saved default. Query params become keyword --flags, with types drawn from the API spec (string, int, float, bool, list). Repeat the flag to pass a list. A request body arrives through --data '<json>', --data-file <path>, or stdin.
bentolabs workspaces list and bentolabs workspaces use <id>.
Shared flags
These flags work on every generated command:| Flag | What it does |
|---|---|
--workspace <id> | Use this workspace instead of the saved default. Only on commands that need one. |
--data '<json>' | Send a JSON request body inline. |
--data-file <path> | Send a JSON request body from a file. |
--output <mode> | pretty (default), raw, or table. See below. |
--help | Show the command’s signature and exit. |
Output modes
Pretty-printed JSON is the default. Switch with--output:
| Mode | Use case |
|---|---|
pretty | Default. Human-readable JSON with syntax highlighting. |
raw | Plain JSON to stdout. Pipe into jq, grep, or a file. |
table | Renders a table for list endpoints. Falls back to pretty if the shape is not tabular. |
{"items": [...], "next_cursor": ...} shape, so list endpoints render directly.
Built-in commands
A small set of commands are hand-written rather than generated.auth
Sign in, sign out, and check who you are.
bentolabs auth login again.
workspaces use
Save a default workspace so other commands don’t need --workspace.
raw
Send a raw request to any API path, for endpoints the generated tree doesn’t expose cleanly.
raw uses the same auth and --output modes as generated commands. It passes path params through untouched, including workspace_id. The body comes from --data or --data-file only, not from stdin.
refresh
Pull a fresh copy of the command list from the API. Run this when an endpoint is missing from --help.
config
Inspect the active CLI configuration.
config show prints the current values and the path to the config file on disk. auth login writes the tokens, and workspaces use writes the default workspace. The config file is created with 0600 permissions.
version
Print the installed CLI version.
Examples
List the 5 most recent traces in the default workspace:See also
Installation
Install the CLI and sign in.
Python SDK
Send traces and signals from your code.