sumcli is Summation’s first-party command-line client. It talks to the stable /v1 routes of the Public API and emits agent-friendly JSON, making it the right tool for scripted automation and headless agent workflows.
Install
Requires uv and Python 3.11+ (uv can install Python for you). Installs into an isolated tool environment sosumcli lands on your PATH without touching any project’s virtualenv.
Sign in
sumcli stores credentials in profiles in ~/.summation/summation-config. Create a profile, then authenticate.
- Device login (people)
- Machine-to-machine (automation)
auth login prints a device code and a URL. Approve it in the browser — the same device sign-in the plugin uses. No secrets are entered on the command line.--project:
Resources
Bare invocation prints the live command tree. Resource names and actions come from the installed CLI:
Output for agents and scripts
When stdout isn’t a terminal — piped, captured, or run by an agent —sumcli emits JSON envelopes with contextual next_actions, and NDJSON for streaming commands. At an interactive terminal it renders a human-readable view instead.
Force either mode explicitly:
Common workflows
Load a local CSV into a table
Two ways: a one-shot direct ingest, or an explicit two-step that goes through the project file tree first. One-shot (recommended when you don’t need the file in the project tree):importStatus: SUCCESS with the new tbl-... ID.
Two-step (when you want the CSV in the project file tree too):
--file-id file-... if you have the ID directly. If the file is already in the project (uploaded by someone else, dropped via the UI, etc.):
Inspect, attach, query, and clean up
A freshly imported table lives in the tenant grid but is not attached to the project catalog. Attach it to make it visible incatalog list and queryable as a project resource:
Ask Addison and generate reports
Long-running commands (--wait / --follow)
chats create, chats reply, reports generate, reports verify, grid push, and tables import all support --wait / --no-wait (and --follow where applicable).
All of those commands default to
--wait. reports generate and reports verify also default to --follow; the rest default to --no-follow. --no-wait --follow is rejected (INVALID_FLAGS, exit 1).
tables import takes --wait / --no-wait but has no --follow; it streams NDJSON whenever it waits.
Working with profiles
Each profile pairs an API host with credentials and session state. Switch the active profile, or select one per command:Configuration reference
sumcli reads settings with field-specific precedence — CLI flags win, then environment variables, then the config file.
Identity always comes from the bearer token —
sumcli never trusts caller-supplied identity headers. For the underlying endpoints and error conventions, see the Public API.