An open-source command-line tool for interacting with Coda docs, pages, tables, and rows.
Not affiliated with or endorsed by Coda.io, Inc.
go install github.com/AfeefRazick/coda-cli/cmd/coda@latestDownload the latest release from the releases page.
Generate an API token at https://coda.io/account under API settings.
# Interactive prompt
coda auth login
# Pipe token directly
echo $TOKEN | coda auth login --with-token-stdin
# Or export for the session (takes precedence over saved config)
export CODA_API_TOKEN=your-tokenConfig is stored at ~/.config/coda-cli/config.yaml with 0600 permissions.
coda <command> [subcommand] [flags]
coda auth login # save a token
coda auth status # verify token and show user
coda auth logout # remove saved tokencoda docs list --all
coda docs list --query "roadmap" --owned
coda docs get <doc-id>
coda docs create --title "Launch Tracker"
coda docs update <doc-id> --title "New Title"
coda docs delete <doc-id> --yescoda pages list <doc-id>
coda pages get <doc-id> <page-id>
coda pages content <doc-id> <page-id> --format markdown
coda pages create <doc-id> --name Roadmap --content '<p>Hello</p>' --wait
coda pages update <doc-id> <page-id> --name "Updated Name" --wait
coda pages delete <doc-id> <page-id> --yes --waitcoda tables list <doc-id>
coda tables get <doc-id> <table-id>
coda columns list <doc-id> <table-id>
coda columns get <doc-id> <table-id> <column-id>coda rows list <doc-id> <table-id> --limit 50
coda rows get <doc-id> <table-id> <row-id>
coda rows insert <doc-id> <table-id> --value Name="Quarterly plan" --value Status=Draft --wait
coda rows upsert <doc-id> <table-id> --key Name --value Name="Q3 plan" --value Status=Active --wait
coda rows update <doc-id> <table-id> <row-id> --value Status=Done --wait
coda rows delete <doc-id> <table-id> <row-id> --yes --wait
coda rows delete-many <doc-id> <table-id> --row i-123 --row i-456 --yes --wait
coda rows push-button <doc-id> <table-id> <row-id> <button-column-id> --waitcoda api /docs --paginate
coda api /docs/<doc-id> --method PATCH --field title="New Title"
coda api /whoami
coda wait <request-id>coda search "quarterly plan"
coda search "status.*blocked" --ignore-case --refresh
coda experimental index
coda experimental index --force --json
coda experimental grep "quarterly plan"
coda experimental grep "status.*blocked" --ignore-caseThe experimental index is stored under your Coda CLI config directory, for example
~/.config/coda-cli/experimental/workspace-index unless CODA_CONFIG_DIR is set.
| Env var | Description |
|---|---|
CODA_API_TOKEN |
API token (takes precedence over config file) |
CODA_CONFIG_DIR |
Override config directory path |
Heavily inspired by GitHub CLI and jira-cli.
Contributions are welcome. Please open an issue first to discuss significant changes.
git clone https://github.com/AfeefRazick/coda-cli
cd coda-cli
make build
./bin/coda --helpSee CONTRIBUTING.md for details.