Comandos
Esta é a referência completa de comandos do copera, agrupada por domínio. Rode copera <command> --help para a lista completa de flags e exemplos de qualquer comando.
A maioria dos comandos aceita --json para saída legível por máquina, e a CLI alterna automaticamente para JSON quando o stdout é encadeado ou redirecionado. Veja Formatos de saída.
Flags globais disponíveis em todo comando: --token, --profile, --json, --output auto|json|table|plain, --quiet/-q, --no-input, --verbose.
Auth
copera auth login # fluxo guiado pelo navegador
copera auth login --token=cp_pat_xxx # salva um token diretamente
copera auth login --token # prompt de colagem mascarado, sem navegador
copera auth status # perfil ativo + origem do token
copera auth whoami # a quem o token pertence
copera auth logout # remove a credencial armazenada
Veja Autenticação para tipos de token e modos de login.
Boards
copera bases é um alias embutido para copera boards — use o que parecer mais natural.
copera boards list
copera boards list --query "roadmap" # busca por nome ou descrição
copera boards get <board-id>
[
{
"_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"
}
]
Tabelas
copera tables list --board <board-id>
copera tables list --board <board-id> --query "tasks"
copera tables get <table-id> --board <board-id>
Cada tabela inclui seu schema completo de colunas — columnId, label e type, além de options para colunas STATUS e DROPDOWN. Use tables get para descobrir os IDs de colunas e os IDs de opções que você precisa antes de criar ou atualizar linhas.
Exportar uma tabela
copera tables export <table-id> --board <board-id> --view <view-id> \
--format CSV -o out.csv
--view é obrigatório e exporta linhas no mesmo formato de uma view salva. --format aceita CSV, XLSX, JSON, MARKDOWN, HTML, PDF, ZIP e ICS. -o/--output-file escreve em um caminho (padrão: stdout; - também significa stdout).
Linhas
A CLI expõe o ciclo de vida completo da linha — listar, obter, criar, atualizar, excluir — além de comentários, anexos, células de rich text e autenticação de linha.
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 busca nas colunas visíveis e não-senha da tabela.
Descrições e células de rich text
As linhas têm duas superfícies separadas de texto longo:
- Descrição legada fixa da linha — exibida por
rows getcomoDescription (legacy). Userows descriptionpara lê-la. Atualizá-la não é mais suportado pela CLI. - Células de coluna RICH TEXT / DESCRIPTION — colunas modernas de texto longo. Uma tabela pode ter várias, então mire em uma com
--column <column-id>.
# Lê a descrição legada da linha
copera rows description <row-id> --board <board-id> --table <table-id>
# Lê uma célula de coluna RICH TEXT / DESCRIPTION
copera rows column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id>
# Escreve em uma célula de coluna RICH TEXT / DESCRIPTION
copera rows update-column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id> --content "# Notes"
update-column-content suporta --operation replace (padrão), append ou prepend. Para encontrar um ID de coluna de uma coluna de tabela chamada Description, rode copera tables get <table-id> --board <board-id> --json.
Comentários
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>
Anexos
Baixe anexos de colunas FILE ou de comentários:
# De uma coluna FILE
copera rows attachments download <row-id> --board <board-id> --table <table-id> \
--column <column-id> --file <file-id> -o ./contract.pdf
# De um comentário
copera rows comments attachments download <row-id> --board <board-id> --table <table-id> \
--comment <comment-id> --file <file-id> -o ./contract.pdf
Autenticar uma linha
Verifique um par identificador/senha contra as colunas correspondentes de uma linha (por exemplo, uma tabela de credenciais):
copera rows authenticate --board <board-id> --table <table-id> \
--identifier-column <column-id> --identifier-value "[email protected]" \
--password-column <column-id> --password-value "secret"
Suporte a stdin
rows create, rows comment e rows update-column-content leem do stdin quando sua flag de conteúdo é omitida:
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
Os comandos de docs exigem um Personal Access Token (cp_pat_...).
copera docs tree
copera docs tree --parent <doc-id> # subárvore sob um doc
copera docs search "keyword"
copera docs get <doc-id> # metadados
copera docs content <doc-id> # corpo como Markdown
copera docs content <doc-id> --no-cache # ignora o cache local
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 aceita replace (padrão), append ou prepend. As atualizações de conteúdo são processadas de forma assíncrona — a API aceita a requisição e a aplica logo em seguida. Tanto docs create quanto docs update leem do stdin quando --content é omitido:
cat ./notes.md | copera docs create --title "Q2 Strategy"
cat ./report.md | copera docs update <doc-id>
Drive
Os comandos de drive exigem um Personal Access Token com acesso ao drive.
copera drive tree
copera drive tree --parent <folder-id> # subárvore sob uma pasta
copera drive tree --depth 5 # controla a profundidade de aninhamento (1-10, padrão 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> # upload recursivo de diretório
copera drive mkdir "New Folder"
copera drive mkdir "Sub Folder" --parent <folder-id>
Os uploads suportam transferência multipart, upload recursivo de diretório (a estrutura de pastas correspondente é criada automaticamente) e uma barra de progresso em terminais interativos. Ajuste-os com --chunk-size <bytes> (padrão 10 MB) e --concurrency <n> (padrão 4). download escreve no diretório atual a menos que você passe -o/--dest.
Channels
copera channels list
copera channels list --query "deploy" # nome, descrição ou participante
copera channels list --type <type> # filtra por tipo de channel
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 por ID de usuário
echo "Deploy done" | copera channels message send --channel <channel-id>
channels list --kind aceita group ou dm. Para enviar uma mensagem direta, use channels message send com --user <user-id> em vez de --channel — a Copera reutiliza o channel de DM existente quando há um. As mensagens suportam Markdown (títulos, negrito/itálico, listas, blocos de código, citações, links):
copera channels message send "## Build Report
* **Status:** Success
* **Duration:** 3m 42s
> All tests passed." --channel <channel-id>
Workspace
copera workspace info # metadados do workspace
copera workspace members # membros do workspace
copera workspace teams # times do workspace
Estes exigem um Personal Access Token.
Busca
Busque em diferentes tipos de recursos. --type é repetível para restringir os resultados:
copera search "contract"
copera search "contract" --type document --type driveContent
Exige um Personal Access Token.
Notificações
copera notifications list
copera notifications read <notification-id>
copera notifications unread <notification-id>
copera notifications delete <notification-id> --force
Exige um Personal Access Token.
Cache
A CLI armazena em cache o conteúdo dos documentos localmente para leituras mais rápidas.
copera cache status # tamanho, contagem de arquivos e caminho do cache
copera cache clean # limpa o cache
Use copera docs content <id> --no-cache para ignorar o cache em uma única leitura sem limpá-lo.
Utilitários
copera version
copera version --json
copera update # atualiza para a versão mais recente
copera update --version 1.2.0 # fixa em uma versão específica
copera update --force # pula o prompt de confirmação
copera completion bash
copera completion zsh
copera completion fish
Encadeie a saída de completion no arquivo de inicialização do seu shell para habilitar o autocompletar:
copera completion zsh >> ~/.zshrc # zsh
copera completion bash >> ~/.bashrc # bash
copera completion fish > ~/.config/fish/completions/copera.fish # fish
Reinicie seu shell ou rode source ~/.zshrc (ou equivalente) para ativar.
Relacionados
- Autenticação — tipos de token e fluxos de login.
- Configuração — perfis, IDs padrão e variáveis de ambiente.
- Referência da Public API — os endpoints REST por trás de cada comando.