--- name: metabase_create_document kind: function lang: py domain: infra version: "1.0.0" purity: impure signature: "def metabase_create_document(client: MetabaseClient, name: str, document: dict, collection_id: int = 0) -> dict" description: "Crea un document nuevo con contenido ProseMirror. Endpoint: POST /api/document. Soporta cardEmbed, smartLink, flexContainer, callout, taskList y demas nodos custom de Metabase." tags: [metabase, document, create, api, prosemirror, python] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [httpx] params: - name: client desc: "instancia autenticada de MetabaseClient" - name: name desc: "titulo del document (1-254 caracteres, no blank)" - name: document desc: "arbol ProseMirror JSON: {type: 'doc', content: [...]}, o '' para arrancar vacio" - name: collection_id desc: "ID de coleccion destino (0 = root)" output: "dict: document recien creado con id, entity_id y metadata" tested: false tests: [] test_file_path: "" file_path: "python/functions/metabase/documents.py" --- ## Ejemplo ```python doc = metabase_create_document(client, "Notas", { "type": "doc", "content": [ {"type": "paragraph", "content": [{"type": "text", "text": "Hola"}]} ] }) print(doc["id"]) ``` ## Notas Nodos custom de Metabase observados (v0.59): `cardEmbed` (attrs.id=card_id), `smartLink` (attrs.entityId), `flexContainer` (attrs.columnWidths), `resizeNode`, `mention`. Marks estandar + `underline`, `highlight`, `subscript`, `textStyle`. Cuando embebes un card via `cardEmbed`, Metabase crea una copia interna del card con `document_id` apuntando al document — no referencia el card original.