Upload bundle part
upload_bundle_partSend one numbered slice of a .zip, or of a single non-zip file, into an upload opened by create_bundle_upload, encoded as base64 in this call. This is the route that needs no network beyond the one carrying this tool call, so it is how a sandboxed client publishes a multi-file bundle or a lone Markdown, notebook, PDF, Word, PowerPoint, Excel, image, video, audio, CSV, Mermaid or text file. Split the file into slices of at most 1048576 bytes, base64 each slice on its own, and send them as part 0, 1, 2, ... with no gaps; part 0 must be the opening bytes of the archive unless filename names a single non-zip file. Nothing is published until publish_site or update_site is called with the upload_id, which joins the parts in index order and verifies the bytes, so a rejected or damaged part costs only that part: send that index again, the others still stand. Re-sending an index replaces it. Pass the same workspace_id as create_bundle_upload did.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| part | Yes | 0-based index of this slice in the .zip, sent in order and with no gaps | |
| filename | No | The single file's own name (`report.pdf`), when the upload is one non-zip file rather than a .zip; part 0 is then not expected to begin an archive. Pass the same name to publish_site / update_site. | |
| upload_id | Yes | The `upload_id` from create_bundle_upload | |
| partBase64 | Yes | This slice of the file, base64-encoded. It is a slice, not a file of its own, and every slice but the first is meaningless alone. Read it from the encoded file verbatim rather than reproducing it from memory. | |
| workspace_id | No | Optional: the workspace to act in, from list_workspaces (the connection reaches the person's personal space and every workspace they are a member of). Required on a write when the connection reaches more than one workspace. Omit to act in the personal space (for an older single-workspace connection, the one workspace it was authorized for). |