Files
fn_registry/python/functions/metabase/metabase_copy_document.md
T
egutierrez cf70385bca feat(metabase): expansion cards y documents — export, model, ProseMirror validation, copy nativo
Cards: export_card (CSV/XLSX/JSON), create_model (type=model para fuentes MBQL).
Documents: prosemirror_card_embed helper (resizeNode envolviendo cardEmbed),
validacion automatica contra whitelist TipTap antes de enviar, copy_document
refactorizado al endpoint nativo POST /api/document/:id/copy.
Docs: dataset_query legacy vs MBQL5, template-tags, whitelist de nodos.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:03:19 +02:00

1.6 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
metabase_copy_document function py infra 1.0.0 impure def metabase_copy_document(client: MetabaseClient, document_id: int, name: str | None = None, collection_id: int | None = None) -> dict Copia un document usando el endpoint nativo POST /api/document/:id/copy. Un solo request HTTP.
metabase
document
copy
clone
api
python
false error_go_core
httpx
name desc
client instancia autenticada de MetabaseClient
name desc
document_id ID del document original a copiar
name desc
name nombre del nuevo document; None = Metabase asigna nombre automatico
name desc
collection_id coleccion destino; None copia a la misma coleccion del original
dict: document nuevo recien creado con id asignado y metadata completa false
python/functions/metabase/documents.py

Ejemplo

# Copia con nombre personalizado a otra coleccion
copy = metabase_copy_document(client, 42, name="Backup Q1", collection_id=5)
print(copy["id"])  # ID del nuevo document

# Copia a la misma coleccion con nombre automatico de Metabase
copy = metabase_copy_document(client, 42)
print(copy["name"])  # nombre asignado por Metabase

Notas

Usa el endpoint nativo POST /api/document/:id/copy — un solo request HTTP.

Metabase asigna el nombre automaticamente si no se especifica name. El contenido ProseMirror (incluyendo cardEmbeds) se copia tal cual; las cards embebidas no se duplican.