Comandi
Questo è il riferimento completo dei comandi di copera, raggruppati per dominio. Esegui copera <command> --help per l'elenco completo dei flag e gli esempi di qualsiasi comando.
La maggior parte dei comandi accetta --json per output leggibile dalle macchine, e la CLI passa automaticamente a JSON quando stdout è pipato o reindirizzato. Vedi Formati di output.
Flag globali disponibili su ogni comando: --token, --profile, --json, --output auto|json|table|plain, --quiet/-q, --no-input, --verbose.
Auth
copera auth login # guided browser flow
copera auth login --token=cp_pat_xxx # save a token directly
copera auth login --token # masked paste prompt, no browser
copera auth status # active profile + token source
copera auth whoami # who the token belongs to
copera auth logout # remove the stored credential
Vedi Autenticazione per i tipi di token e le modalità di login.
Boards
copera bases è un alias integrato di copera boards — usa quello che ti risulta più naturale.
copera boards list
copera boards list --query "roadmap" # search by name or description
copera boards get <board-id>
copera boards create --name "Q3 Roadmap"
copera boards create --name "CRM" --description "Sales pipeline" \
--table-name "Leads"
copera boards update <board-id> --name "Q3 Launch Plan"
copera boards update <board-id> --description "Updated plan" --icon "🚀"
copera boards delete <board-id> --force
copera boards participants add --board <board-id> \
--participant <user-or-team-id> --participant <another-id>
copera boards participants remove <participant-id> --board <board-id> --force
La CLI installata v0.15.0 crea una board con una table iniziale, ma il comando boards create non accetta un blueprint di colonne personalizzate. La Public API più recente, i tool MCP hostati e Ask Copera possono creare la board e fino a 32 colonne personalizzate in modo atomico e restituire i veri ID di colonna e opzione. L'input atomico di blueprint è un follow-up per una futura release della CLI; non c'è un flag --columns in v0.15.0.
[
{
"_id": "64a1b2c3d4e5f6a7b8c9d0e1",
"name": "Engineering Roadmap",
"description": "Track features, bugs, and milestones across the engineering team.",
"createdAt": "2025-03-10T09:15:42.301Z",
"updatedAt": "2026-02-18T11:30:05.128Z"
}
]
Tables
copera tables list --board <board-id>
copera tables list --board <board-id> --query "tasks"
copera tables get <table-id> --board <board-id>
copera tables create --board <board-id> --name "Campaigns"
copera tables update <table-id> --board <board-id> --name "Launch Campaigns"
copera tables delete <table-id> --board <board-id> --force
Ogni table include lo schema completo delle colonne — columnId, label e type, più options per le colonne STATUS e DROPDOWN. Usa tables get per scoprire gli ID di colonna e di opzione di cui hai bisogno prima di creare o aggiornare righe.
Columns
copera tables columns add --board <board-id> --table <table-id> \
--label "Priority" --type STATUS \
--option "Low:green" --option "High:red"
copera tables columns update <column-id> --board <board-id> --table <table-id> \
--label "Stage"
copera tables columns update <column-id> --board <board-id> --table <table-id> \
--add-option "Blocked:red"
Nella CLI v0.15.0, --option e --add-option sono ripetibili e accettano "Label" o "Label:color". La CLI attualmente elenca TEXT, PARAGRAPH, NUMBER, MONEY, DATE, EMAIL, PHONE, WEBSITE, CHECKBOX, STATUS, DROPDOWN, LABELS, USERS, LOCATION, DESCRIPTION e FILE per --type.
La Public API supporta inoltre colonne CHECKLIST e formati DATE DATE_ISO e DATE_TIME_ISO. Quegli input sono un follow-up della CLI: v0.15.0 non elenca CHECKLIST né espone un flag per il formato DATE.
Esportare una table
copera tables export <table-id> --board <board-id> --view <view-id> \
--format CSV -o out.csv
--view è obbligatorio ed esporta le righe nella stessa forma di una view salvata. --format accetta CSV, XLSX, JSON, MARKDOWN, HTML, PDF, ZIP e ICS. -o/--output-file scrive su un percorso (predefinito: stdout; - significa pure stdout).
Rows
La CLI espone l'intero ciclo di vita delle righe — list, get, create, update, delete — più commenti, allegati, celle rich-text e autenticazione di riga.
copera rows list --board <board-id> --table <table-id>
copera rows list --board <board-id> --table <table-id> --query "oauth"
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
--query cerca nelle colonne visibili e non-password della table.
Descrizioni e celle rich-text
Le righe hanno due superfici distinte di testo lungo:
- Descrizione legacy fissa della riga — mostrata da
rows getcomeDescription (legacy). Usarows descriptionper leggerla. Aggiornarla non è più supportato dalla CLI. - Celle di colonna RICH TEXT / DESCRIPTION — colonne moderne di testo lungo. Una table può averne diverse, quindi punta a una con
--column <column-id>.
# Read the legacy row description
copera rows description <row-id> --board <board-id> --table <table-id>
# Read a RICH TEXT / DESCRIPTION column cell
copera rows column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id>
# Write a RICH TEXT / DESCRIPTION column cell
copera rows update-column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id> --content "# Notes"
update-column-content supporta --operation replace (predefinito), append o prepend. Per trovare l'ID di una colonna della table chiamata Description, esegui copera tables get <table-id> --board <board-id> --json.
Commenti
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>
Allegati
Scarica gli allegati dalle colonne FILE o dai commenti:
# From a FILE column
copera rows attachments download <row-id> --board <board-id> --table <table-id> \
--column <column-id> --file <file-id> -o ./contract.pdf
# From a comment
copera rows comments attachments download <row-id> --board <board-id> --table <table-id> \
--comment <comment-id> --file <file-id> -o ./contract.pdf
Autenticare una riga
Verifica una coppia identifier/password rispetto alle colonne corrispondenti di una riga (ad esempio, una table di credenziali):
copera rows authenticate --board <board-id> --table <table-id> \
--identifier-column <column-id> --identifier-value "[email protected]" \
--password-column <column-id> --password-value "secret"
Supporto stdin
rows create, rows comment e rows update-column-content leggono da stdin quando il flag di contenuto è omesso:
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>
echo "# Notes" \
| copera rows update-column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id>
Docs
I comandi Docs richiedono un Personal Access Token (cp_pat_...).
copera docs tree
copera docs tree --parent <doc-id> # subtree under a doc
copera docs search "keyword"
copera docs get <doc-id> # metadata
copera docs content <doc-id> # body as Markdown
copera docs content <doc-id> --no-cache # bypass the local cache
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
docs update --operation accetta replace (predefinito), append o prepend. Gli aggiornamenti di contenuto sono elaborati in modo asincrono — l'API accetta la richiesta e la applica poco dopo. docs create e docs update leggono entrambi da stdin quando --content è omesso:
cat ./notes.md | copera docs create --title "Q2 Strategy"
cat ./report.md | copera docs update <doc-id>
Drive
I comandi Drive richiedono un Personal Access Token con accesso al drive.
copera drive tree
copera drive tree --parent <folder-id> # subtree under a folder
copera drive tree --depth 5 # control nesting depth (1-10, default 3)
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 directory upload
copera drive mkdir "New Folder"
copera drive mkdir "Sub Folder" --parent <folder-id>
Gli upload supportano il trasferimento multipart, l'upload ricorsivo di directory (la struttura di cartelle corrispondente viene creata automaticamente) e una barra di avanzamento nei terminali interattivi. Regolali con --chunk-size <bytes> (predefinito 10 MB) e --concurrency <n> (predefinito 4). download scrive nella directory corrente a meno che non passi -o/--dest.
Channels
copera channels list
copera channels list --query "deploy" # name, description, or participant
copera channels list --type <type> # filter by channel type
copera channels list --kind dm --participant <user-id>
copera channels message send "Hello" --channel <channel-id>
copera channels message send "Hello" --user <user-id> # DM by user ID
echo "Deploy done" | copera channels message send --channel <channel-id>
channels list --kind accetta group o dm. Per inviare un messaggio diretto, usa channels message send con --user <user-id> invece di --channel — Copera riusa il channel DM esistente se ce n'è uno. I messaggi supportano Markdown (heading, grassetto/corsivo, liste, blocchi di codice, citazioni, link):
copera channels message send "## Build Report
* **Status:** Success
* **Duration:** 3m 42s
> All tests passed." --channel <channel-id>
Workspace
copera workspace info # workspace metadata
copera workspace members # members of the workspace
copera workspace teams # teams in the workspace
Questi richiedono un Personal Access Token.
Search
Cerca tra i tipi di risorsa. --type è ripetibile per restringere i risultati:
copera search "contract"
copera search "contract" --type document --type driveContent
Richiede un Personal Access Token.
Notifications
copera notifications list
copera notifications read <notification-id>
copera notifications unread <notification-id>
copera notifications delete <notification-id> --force
Richiede un Personal Access Token.
Cache
La CLI mette in cache localmente il contenuto dei documenti per letture più veloci.
copera cache status # size, file count, and cache path
copera cache clean # clear the cache
Usa copera docs content <id> --no-cache per ignorare la cache per una singola lettura senza svuotarla.
Utilities
copera version
copera version --json
copera update # update to the latest version
copera update --version 1.2.0 # pin to a specific version
copera update --force # skip the confirmation prompt
copera completion bash
copera completion zsh
copera completion fish
Pipetta l'output di completion nel file di avvio della shell per abilitare il completamento con Tab:
copera completion zsh >> ~/.zshrc # zsh
copera completion bash >> ~/.bashrc # bash
copera completion fish > ~/.config/fish/completions/copera.fish # fish
Riavvia la shell o esegui source ~/.zshrc (o equivalente) per attivarlo.
Correlati
- Autenticazione — tipi di token e flussi di login.
- Configurazione — profili, ID predefiniti e variabili d'ambiente.
- Riferimento Public API — gli endpoint REST dietro ogni comando.