Comandos
Esta es la referencia completa de comandos de copera, agrupada por dominio. Ejecuta copera <command> --help para la lista completa de flags y ejemplos de cualquier comando.
La mayoría de los comandos aceptan --json para una salida legible por máquina, y la CLI cambia automáticamente a JSON cuando stdout se canaliza o se redirige. Consulta Formatos de salida.
Flags globales disponibles en cada comando: --token, --profile, --json, --output auto|json|table|plain, --quiet/-q, --no-input, --verbose.
Auth
copera auth login # flujo guiado por navegador
copera auth login --token=cp_pat_xxx # guardar un token directamente
copera auth login --token # aviso de pegado enmascarado, sin navegador
copera auth status # perfil activo + origen del token
copera auth whoami # a quién pertenece el token
copera auth logout # eliminar la credencial almacenada
Consulta Autenticación para los tipos de token y los modos de inicio de sesión.
Boards
copera bases es un alias incorporado de copera boards: usa el que te resulte más natural.
copera boards list
copera boards list --query "roadmap" # buscar por nombre o descripción
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"
}
]
Tablas
copera tables list --board <board-id>
copera tables list --board <board-id> --query "tasks"
copera tables get <table-id> --board <board-id>
Cada tabla incluye su schema de columnas completo: columnId, label y type, además de options para columnas STATUS y DROPDOWN. Usa tables get para descubrir los IDs de columna y los IDs de opción que necesitas antes de crear o actualizar filas.
Exportar una tabla
copera tables export <table-id> --board <board-id> --view <view-id> \
--format CSV -o out.csv
--view es obligatorio y exporta las filas con la misma forma que una vista guardada. --format acepta CSV, XLSX, JSON, MARKDOWN, HTML, PDF, ZIP e ICS. -o/--output-file escribe en una ruta (predeterminado: stdout; - también significa stdout).
Filas
La CLI expone el ciclo de vida completo de las filas: list, get, create, update, delete, además de comentarios, adjuntos, celdas de texto enriquecido y autenticación de filas.
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 en las columnas visibles y sin contraseña de la tabla.
Descripciones y celdas de texto enriquecido
Las filas tienen dos superficies de texto largo independientes:
- Descripción de fila heredada y fija: mostrada por
rows getcomoDescription (legacy). Usarows descriptionpara leerla. Actualizarla ya no es compatible con la CLI. - Celdas de columna de tabla RICH TEXT / DESCRIPTION: columnas modernas de texto largo. Una tabla puede tener varias, así que apunta a una con
--column <column-id>.
# Leer la descripción de fila heredada
copera rows description <row-id> --board <board-id> --table <table-id>
# Leer una celda de columna RICH TEXT / DESCRIPTION
copera rows column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id>
# Escribir una celda de columna RICH TEXT / DESCRIPTION
copera rows update-column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id> --content "# Notes"
update-column-content admite --operation replace (predeterminado), append o prepend. Para encontrar el ID de columna de una columna de tabla llamada Description, ejecuta copera tables get <table-id> --board <board-id> --json.
Comentarios
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>
Adjuntos
Descarga adjuntos de columnas FILE o de comentarios:
# Desde una columna FILE
copera rows attachments download <row-id> --board <board-id> --table <table-id> \
--column <column-id> --file <file-id> -o ./contract.pdf
# Desde un comentario
copera rows comments attachments download <row-id> --board <board-id> --table <table-id> \
--comment <comment-id> --file <file-id> -o ./contract.pdf
Autenticar una fila
Verifica un par identificador/contraseña contra las columnas coincidentes de una fila (por ejemplo, una tabla de credenciales):
copera rows authenticate --board <board-id> --table <table-id> \
--identifier-column <column-id> --identifier-value "[email protected]" \
--password-column <column-id> --password-value "secret"
Compatibilidad con stdin
rows create, rows comment y rows update-column-content leen desde stdin cuando se omite su flag de contenido:
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
Los comandos de docs requieren un Personal Access Token (cp_pat_...).
copera docs tree
copera docs tree --parent <doc-id> # subárbol bajo un doc
copera docs search "keyword"
copera docs get <doc-id> # metadatos
copera docs content <doc-id> # cuerpo como Markdown
copera docs content <doc-id> --no-cache # omitir la caché 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 acepta replace (predeterminado), append o prepend. Las actualizaciones de contenido se procesan de forma asíncrona: la API acepta la solicitud y la aplica poco después. docs create y docs update leen desde stdin cuando se omite --content:
cat ./notes.md | copera docs create --title "Q2 Strategy"
cat ./report.md | copera docs update <doc-id>
Drive
Los comandos de drive requieren un Personal Access Token con acceso a drive.
copera drive tree
copera drive tree --parent <folder-id> # subárbol bajo una carpeta
copera drive tree --depth 5 # controlar la profundidad de anidamiento (1-10, predeterminado 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> # carga recursiva de directorio
copera drive mkdir "New Folder"
copera drive mkdir "Sub Folder" --parent <folder-id>
Las cargas admiten transferencia multiparte, carga recursiva de directorios (la estructura de carpetas coincidente se crea automáticamente) y una barra de progreso en terminales interactivas. Ajústalas con --chunk-size <bytes> (predeterminado 10 MB) y --concurrency <n> (predeterminado 4). download escribe en el directorio actual a menos que pases -o/--dest.
Channels
copera channels list
copera channels list --query "deploy" # nombre, descripción o participante
copera channels list --type <type> # filtrar 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 usuario
echo "Deploy done" | copera channels message send --channel <channel-id>
channels list --kind acepta group o dm. Para enviar un mensaje directo, usa channels message send con --user <user-id> en lugar de --channel: Copera reutiliza el channel de DM existente cuando lo hay. Los mensajes admiten Markdown (encabezados, negrita/cursiva, listas, bloques de código, citas, enlaces):
copera channels message send "## Build Report
* **Status:** Success
* **Duration:** 3m 42s
> All tests passed." --channel <channel-id>
Workspace
copera workspace info # metadatos del workspace
copera workspace members # miembros del workspace
copera workspace teams # equipos del workspace
Estos requieren un Personal Access Token.
Búsqueda
Busca entre tipos de recursos. --type es repetible para acotar los resultados:
copera search "contract"
copera search "contract" --type document --type driveContent
Requiere un Personal Access Token.
Notificaciones
copera notifications list
copera notifications read <notification-id>
copera notifications unread <notification-id>
copera notifications delete <notification-id> --force
Requiere un Personal Access Token.
Caché
La CLI almacena en caché localmente el contenido de los documentos para lecturas más rápidas.
copera cache status # tamaño, recuento de archivos y ruta de la caché
copera cache clean # limpiar la caché
Usa copera docs content <id> --no-cache para omitir la caché en una sola lectura sin limpiarla.
Utilidades
copera version
copera version --json
copera update # actualizar a la última versión
copera update --version 1.2.0 # fijar una versión específica
copera update --force # omitir el aviso de confirmación
copera completion bash
copera completion zsh
copera completion fish
Canaliza la salida de completion a tu archivo de inicio de shell para habilitar el autocompletado con tabulador:
copera completion zsh >> ~/.zshrc # zsh
copera completion bash >> ~/.bashrc # bash
copera completion fish > ~/.config/fish/completions/copera.fish # fish
Reinicia tu shell o ejecuta source ~/.zshrc (o equivalente) para activarlo.
Relacionado
- Autenticación: tipos de token y flujos de inicio de sesión.
- Configuración: perfiles, IDs predeterminados y variables de entorno.
- Referencia de la Public API: los endpoints REST detrás de cada comando.