{"command":{"effect":"write","timeoutSeconds":30,"inputSchema":{"type":"object","description":"Creates an asynchronous, object-storage-backed transfer for payloads larger than the streaming path supports (> ~50 MiB). Bulk bytes never traverse harness-api: the client PUTs/GETs presigned DO Spaces URLs directly.\n\nSet `direction` to `upload` or `download`.\n- `upload`: responds 201 with `transfer_id` + `part_size`; the client then requests per-part presigned PUT URLs, uploads them to Spaces, and calls `commit`.\n- `download`: responds 202 with `transfer_id`; the client polls GET until `completed` and then fetches `download_url` from Spaces.\n\nUpload and cancel currently return 501 until the sandbox backend RPCs ship; download is live.","properties":{"path":{"type":"object","properties":{"session_id":{"type":"string","examples":["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],"description":"The session UUID."}},"required":["session_id"],"additionalProperties":false},"body":{"type":"object","required":["direction","path"],"properties":{"direction":{"type":"string","enum":["upload","download"],"description":"Transfer direction.","examples":["upload"]},"path":{"type":"string","description":"Workspace-relative path. Destination for upload, source for download. Paths that escape the workspace root are rejected.","examples":["example"]},"is_archive":{"type":"boolean","description":"Upload only. When true, the payload is a tar the guest extracts at `path`.","examples":[true]},"as_archive":{"type":"boolean","description":"Download only. When true, `path` is exported as a tar stream.","examples":[true]},"size_bytes":{"type":"string","description":"Optional total payload size. Validated against the maximum staged object size (50 GiB); a larger value returns 413.","examples":["example"]},"sha256":{"type":"string","description":"Optional lowercase hex SHA-256 of the full payload. If set on an upload, it must match on commit.","examples":["example"]}}}},"required":["path","body"],"additionalProperties":false},"name":"Start a staged (large-file) workspace transfer.","id":"digitalocean.harness_create_session_workspace_transfer","example":{"path":{"session_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"},"body":{"direction":"upload","path":"example"}},"maxRequests":1,"summary":false}}