Common Commands
This page is a quick reference for the most-used copera commands. Run copera <command> --help for the full list of flags and examples for any command.
Many commands accept --json for machine-readable output. The CLI also auto-switches to JSON when stdout is piped to another command — see Configuration → Machine-readable output.
Auth
copera auth login # Guided browser flow
copera auth login --token=cp_pat_xxx
copera auth status # Show active profile + token source
copera auth whoami # Show who the token belongs to
copera auth logout # Remove stored credential
See Authentication for details on token types and login flows.
Boards and tables
copera boards list
copera boards get <board-id>
copera tables list --board <board-id>
copera tables get <table-id> --board <board-id>
copera tables export <table-id> --board <board-id> --view <view-id> \
--format CSV -o out.csv
copera bases is a built-in alias for copera boards — use whichever feels natural.
Rows
The CLI exposes the full row lifecycle — create, read, update, delete — plus row-level metadata like descriptions and comments.
copera rows list --board <board-id> --table <table-id>
copera rows get <row-id> --board <board-id> --table <table-id>
copera rows create --board <board-id> --table <table-id> \
--data '{"columns":[{"columnId":"<column-id>","value":"Hello"}]}'
copera rows update <row-id> --board <board-id> --table <table-id> \
--data '{"columns":[{"columnId":"<column-id>","value":"Updated"}]}'
copera rows delete <row-id> --board <board-id> --table <table-id> --force
Descriptions and comments
copera rows description <row-id> --board <board-id> --table <table-id>
copera rows update-description <row-id> --board <board-id> --table <table-id> \
--content "New description"
copera rows comment <row-id> --board <board-id> --table <table-id> \
--content "Looks good"
copera rows comments <row-id> --board <board-id> --table <table-id>
Stdin support
rows create, rows comment, and similar commands accept piped input:
echo '{"columns":[{"columnId":"<column-id>","value":"Hello"}]}' \
| copera rows create --board <board-id> --table <table-id>
echo "Looks good" \
| copera rows comment <row-id> --board <board-id> --table <table-id>
Docs
Docs commands require a Personal Access Token (cp_pat_...).
copera docs tree
copera docs tree --parent <doc-id>
copera docs search "keyword"
copera docs get <doc-id>
copera docs content <doc-id>
copera docs create --title "New Doc" --content "Initial content"
copera docs update <doc-id> --content "Replacement content"
copera docs update <doc-id> --operation append --content "More content"
copera docs metadata <doc-id> --title "New title"
copera docs delete <doc-id> --force
Drive
Drive commands require a Personal Access Token with drive access.
copera drive tree
copera drive tree --parent <folder-id>
copera drive search "quarterly report"
copera drive get <file-id>
copera drive download <file-id> -o report.pdf
copera drive upload ./report.pdf --parent <folder-id>
copera drive upload ./project/ --parent <folder-id> # recursive
copera drive mkdir "New Folder"
Uploads support multipart transfer, configurable chunk size, concurrent part uploads, progress output in interactive terminals, and recursive directory upload.
Channels
copera channels message send "Hello" --channel <channel-id>
# Or from stdin
echo "Deploy done" | copera channels message send --channel <channel-id>
Messages support Markdown — headings, bold/italic, lists, code blocks, links.
Workspace, search, and notifications
copera workspace info
copera workspace members
copera workspace teams
copera search "contract"
copera search "contract" --type document --type driveContent
copera notifications list
copera notifications read <notification-id>
copera notifications unread <notification-id>
copera notifications delete <notification-id> --force
Cache and utilities
copera cache status
copera cache clean
copera version
copera version --json
copera completion bash
copera completion zsh
copera completion fish
Pipe the completion output into your shell's startup file. For example:
copera completion zsh >> ~/.zshrc
Then restart your shell or run source ~/.zshrc to activate tab completion.