changedInput schema / properties / action / description
Previous value: -"Operation to perform"New value: +"Operation. Use 'describe' for full action reference."
changedInput schema / properties / action / enum
Previous value: -[
- "create-session",
- "stream-upload",
- "batch",
- "chunk",
- "stream",
- "finalize",
- "status",
- "cancel",
- "list-sessions",
- "cancel-all",
- "chunk-status",
- "chunk-delete",
- "web-import",
- "web-list",
- "web-cancel",
- "web-status",
- "limits",
- "extensions",
- "blob-info"
-]New value: +[
+ "describe",
+ "create-session",
+ "stream-upload",
+ "batch",
+ "chunk",
+ "stream",
+ "finalize",
+ "status",
+ "cancel",
+ "list-sessions",
+ "cancel-all",
+ "chunk-status",
+ "chunk-delete",
+ "web-import",
+ "web-list",
+ "web-cancel",
+ "web-status",
+ "limits",
+ "extensions",
+ "blob-info"
+]
changedInput schema / properties / action_context / description
Previous value: -"Context action: create or update (used by: limits)"New value: +"Context: create or update."
changedInput schema / properties / blob_id / description
Previous value: -"Blob ID from POST /blob response. The standard method for uploading file data — avoids base64 overhead and MCP transport limits. Consumed (deleted) after use. (used by: chunk, stream, stream-upload as one of content/content_base64/blob_id)"New value: +"Blob ID from POST /blob. Preferred for binary/large files. Single-use."
changedInput schema / properties / blob_ref / description
Previous value: -"Alias for blob_id (deprecated — use blob_id instead)"New value: +"Alias for blob_id (deprecated)."
addedInput schema / properties / chunk_id / anyOf
Added value: +[
+ {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "pattern": "^-?\\d+$",
+ "type": "string"
+ }
+]
changedInput schema / properties / chunk_id / description
Previous value: -"Specific chunk number to retrieve (omit for all) (used by: chunk-status)"New value: +"Specific chunk number (omit for all)."
removedInput schema / properties / chunk_id / maximum
Removed value: -9007199254740991
removedInput schema / properties / chunk_id / minimum
Removed value: -1
removedInput schema / properties / chunk_id / type
Removed value: -"integer"
addedInput schema / properties / chunk_number / anyOf
Added value: +[
+ {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "pattern": "^-?\\d+$",
+ "type": "string"
+ }
+]
changedInput schema / properties / chunk_number / description
Previous value: -"1-indexed chunk number (required for: chunk, chunk-delete)"New value: +"1-indexed chunk number."
removedInput schema / properties / chunk_number / maximum
Removed value: -9007199254740991
removedInput schema / properties / chunk_number / minimum
Removed value: -1
removedInput schema / properties / chunk_number / type
Removed value: -"integer"
addedInput schema / properties / chunk_size / anyOf
Added value: +[
+ {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "pattern": "^-?\\d+$",
+ "type": "string"
+ }
+]
changedInput schema / properties / chunk_size / description
Previous value: -"Chunk size in bytes (optional, server picks default) (used by: create-session)"New value: +"Chunk size in bytes (server picks default)."
removedInput schema / properties / chunk_size / exclusiveMinimum
Removed value: -0
removedInput schema / properties / chunk_size / maximum
Removed value: -9007199254740991
removedInput schema / properties / chunk_size / type
Removed value: -"integer"
changedInput schema / properties / content / description
Previous value: -"Small **text** content (code snippets, JSON, plain text). Stored verbatim as UTF-8 bytes — do NOT pass base64 here, it will be saved as a base64 string and corrupt the file. For binary data inside MCP transport limits, use `content_base64`. For larger files, use POST /blob + `blob_id`. (used by: chunk, stream, stream-upload as one of content/content_base64/blob_id)"New value: +"**Text only** — stored verbatim UTF-8. Do NOT pass base64 here (use content_base64). One of content/content_base64/blob_id."
changedInput schema / properties / content_base64 / description
Previous value: -"Small **binary** content as a base64-encoded string — the server decodes it before writing. Useful for sandboxed agents that can produce base64 in JSON but cannot reach the POST /blob sidecar. Whitespace and newlines are stripped automatically. Practical cap is bounded by the MCP transport message size (a few MB); use POST /blob + `blob_id` for files larger than that. (used by: chunk, stream, stream-upload as one of content/content_base64/blob_id; batch uses the per-entry `files[].content_base64` field instead)"New value: +"Base64-encoded **binary** — server decodes before writing. Whitespace stripped. Practical cap a few MB; use blob_id for larger."
changedInput schema / properties / creator / description
Previous value: -"Optional client identifier echoed back in the response (1-150 chars, alphanumeric and hyphens only). (used by: batch)"New value: +"Client identifier echoed back (alphanumeric + hyphens)."
changedInput schema / properties / file_id / description
Previous value: -"File ID for update context (required if action_context=update) (used by: limits)"New value: +"File ID for update context."
changedInput schema / properties / filename / description
Previous value: -"Name of the file to upload. Required for create-session and stream-upload unless target_node_id is provided (in which case it's optional — omit to keep the existing node's name, auto-resolved via a storage details lookup; pass to rename-on-replace). Optional for web-import."New value: +"File name. Optional when target_node_id is set (auto-resolved); pass to rename-on-replace."
changedInput schema / properties / files / description
Previous value: -"Manifest of files to upload in a single batch (1..200 entries). Each entry needs filename + exactly one of blob_id|content|content_base64. (required for: batch)"New value: +"Batch manifest (1..200 entries). Each: filename + one of blob_id/content/content_base64."
changedInput schema / properties / files / items / properties / blob_id / description
Previous value: -"Blob ID from POST /blob. Exactly one of blob_id|content|content_base64 per entry; empty strings rejected."New value: +"Blob ID from POST /blob. One of blob_id/content/content_base64."
changedInput schema / properties / files / items / properties / content / description
Previous value: -"Inline **text** content for small files (stored verbatim as UTF-8 bytes — do NOT pass base64 here, use `content_base64` for binary). Exactly one of blob_id|content|content_base64 per entry; empty strings rejected (most plans reject zero-byte uploads server-side anyway). Resolved bytes must be ≤ 4 MB."New value: +"Inline **text** content (verbatim UTF-8; ≤4 MB). Do NOT pass base64 here."
changedInput schema / properties / files / items / properties / content_base64 / description
Previous value: -"Inline **binary** content as a base64-encoded string — the server decodes it before writing. Useful for sandboxed agents that cannot reach POST /blob. Whitespace/newlines stripped automatically. Exactly one of blob_id|content|content_base64 per entry. Decoded bytes must be ≤ 4 MB."New value: +"Inline **binary** as base64 (server-decoded; ≤4 MB)."
changedInput schema / properties / files / items / properties / filename / description
Previous value: -"File name for this manifest entry (1-255 chars; the server truncates names over 100 chars while preserving the extension)."New value: +"File name (1-255 chars; server truncates >100 chars while preserving extension)."
changedInput schema / properties / files / items / properties / hash / description
Previous value: -"Hex hash digest (lowercase or uppercase, at least 1 char). Both hash and hash_algo must be provided together if supplied; caller-supplied digests are forwarded verbatim without local verification."New value: +"Hex hash digest. Both hash and hash_algo must be supplied together."
changedInput schema / properties / files / items / properties / hash_algo / description
Previous value: -"Hash algorithm. Both hash and hash_algo must be provided together if supplied."New value: +"Hash algorithm. Pair with hash."
changedInput schema / properties / files / items / properties / relative_path / description
Previous value: -"Sub-folder path under folder_id (1-8192 UTF-8 chars). Trailing slash required — normalized if missing. Must not start with \"/\" or contain \".\" / \"..\" segments. Auto-created on upload if the sub-folder doesn't exist."New value: +"Sub-folder path under folder_id (trailing slash auto-added; no leading slash, no '.' or '..')."
addedInput schema / properties / filesize / anyOf
Added value: +[
+ {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "pattern": "^-?\\d+$",
+ "type": "string"
+ }
+]
changedInput schema / properties / filesize / description
Previous value: -"Total file size in bytes (required for: create-session when stream=false; optional when stream=true)"New value: +"Total file size in bytes."
removedInput schema / properties / filesize / exclusiveMinimum
Removed value: -0
removedInput schema / properties / filesize / maximum
Removed value: -9007199254740991
removedInput schema / properties / filesize / type
Removed value: -"integer"
changedInput schema / properties / folder_id / description
Previous value: -"Batch-level target folder OpaqueId or \"root\". All files land under this folder. Omit to upload to the root of the instance. (used by: batch)"New value: +"Target folder OpaqueId or \"root\". Omit for instance root."
changedInput schema / properties / hash / description
Previous value: -"File hash for verification (used by: stream, stream-upload)"New value: +"File hash for verification."
changedInput schema / properties / hash_algo / description
Previous value: -"Hash algorithm (e.g. 'sha256') (used by: stream, stream-upload)"New value: +"Hash algorithm (e.g. 'sha256')."
changedInput schema / properties / include_hash / description
Previous value: -"When true (default), SHA-256 is computed client-side for each entry that doesn't already carry hash/hash_algo. Server validates the digest and rejects truncated/corrupt transfers with a per-file error. Set false to skip hashing. (used by: batch)"New value: +"Compute SHA-256 client-side for entries without a hash (default true)."
changedInput schema / properties / instance_id / description
Previous value: -"Target workspace/share ID (required if action_context=create) (used by: limits)"New value: +"Target workspace/share ID."
addedInput schema / properties / limit / anyOf
Added value: +[
+ {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "pattern": "^-?\\d+$",
+ "type": "string"
+ }
+]
changedInput schema / properties / limit / description
Previous value: -"Max results (1-100, default 50) (used by: web-list)"New value: +"Max results (1-100, default 50)."
removedInput schema / properties / limit / maximum
Removed value: -100
removedInput schema / properties / limit / minimum
Removed value: -1
removedInput schema / properties / limit / type
Removed value: -"integer"
addedInput schema / properties / max_size / anyOf
Added value: +[
+ {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ },
+ {
+ "pattern": "^-?\\d+$",
+ "type": "string"
+ }
+]
changedInput schema / properties / max_size / description
Previous value: -"Ceiling for the stream body in bytes. Upload fails mid-transfer if actual bytes exceed this value — always overestimate, never undershoot. There is no penalty for setting it too high. Safest default: omit this parameter and the server uses your plan's file-size limit. Note: streaming uploads via MCP are also bounded by the `POST /blob` sidecar (100 MB cap per blob); for larger files use the chunked flow instead, and call `upload` action `limits` first to confirm plan headroom. Applies to stream sessions only (create-session with stream=true, or any stream-upload call). (used by: create-session, stream-upload)"New value: +"Stream-body byte ceiling — aborts mid-transfer if exceeded. Always overestimate; omit to use plan limit. Stream sessions only."
removedInput schema / properties / max_size / exclusiveMinimum
Removed value: -0
removedInput schema / properties / max_size / maximum
Removed value: -9007199254740991
removedInput schema / properties / max_size / type
Removed value: -"integer"
addedInput schema / properties / offset / anyOf
Added value: +[
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "pattern": "^-?\\d+$",
+ "type": "string"
+ }
+]
changedInput schema / properties / offset / description
Previous value: -"Pagination offset (used by: web-list)"New value: +"Pagination offset."
removedInput schema / properties / offset / maximum
Removed value: -9007199254740991
removedInput schema / properties / offset / minimum
Removed value: -0
removedInput schema / properties / offset / type
Removed value: -"integer"
changedInput schema / properties / org / description
Previous value: -"Organization ID for limit resolution (used by: limits)"New value: +"Org ID for limit resolution."
changedInput schema / properties / parent_node_id / description
Previous value: -"Parent folder OpaqueId or \"root\" (required for: create-session, stream-upload, web-import)"New value: +"Parent folder OpaqueId or \"root\". On create-session, stream-upload, and web-import, folder_id is accepted as an alias (either name works)."
changedInput schema / properties / plan / description
Previous value: -"Override billing plan to check (e.g. free, pro) (used by: extensions)"New value: +"Override billing plan to check (e.g. free, pro)."
changedInput schema / properties / profile_id / description
Previous value: -"Target workspace/share profile ID (also accepted as context_id) (required for: create-session, stream-upload, web-import)"New value: +"Polymorphic context ID. Pair with profile_type=workspace|share|org. Use workspace_id instead when only workspaces are valid. Target workspace/share ID (alias: context_id)."
changedInput schema / properties / profile_type / description
Previous value: -"Target type: workspace or share (also accepted as context_type) (required for: create-session, stream-upload, web-import)"New value: +"Target type: workspace or share (alias: context_type)."
changedInput schema / properties / status / description
Previous value: -"Filter by status (used by: web-list)"New value: +"Filter by status."
changedInput schema / properties / stream / description
Previous value: -"Enable stream mode — size becomes optional, upload via single POST to /upload/{id}/stream/ instead of chunking. Auto-finalizes on completion. (used by: create-session)"New value: +"Stream mode — size optional, single POST, auto-finalizes."
changedInput schema / properties / target_node_id / description
Previous value: -"When provided, overwrite this specific node_id (creating a new version). Overrides filename+parent matching — use this when you need a deterministic overwrite target (e.g., the filename may have drifted or the file lives in a folder you don't want to re-resolve). Preserves node_id; version-list shows prior versions. Must reference an existing file node (not a folder). When set, the API uses action=update and file_id=target_node_id; parent_node_id is ignored and filename is optional (if omitted, the tool auto-resolves the node's current name from storage details; pass filename only when renaming). (used by: create-session, stream-upload)"New value: +"Overwrite this specific node (preserves node_id; new version). When set, parent_node_id is ignored and filename is optional (auto-resolved). Must be a file node."
changedInput schema / properties / upload_id / description
Previous value: -"Upload session ID or web upload job ID (required for: chunk, stream, finalize, status, cancel, chunk-status, chunk-delete, web-cancel, web-status)"New value: +"Upload session ID or web upload job ID."
changedInput schema / properties / url / description
Previous value: -"Source URL to import from (required for: web-import)"New value: +"Source URL to import from."
addedInput schema / properties / wait / anyOf
Added value: +[
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "pattern": "^-?\\d+$",
+ "type": "string"
+ }
+]
changedInput schema / properties / wait / description
Previous value: -"Long-poll duration in milliseconds (0 = return immediately). Server holds connection until status changes or wait expires. (used by: status)"New value: +"Long-poll duration ms (0 = return immediately)."
removedInput schema / properties / wait / maximum
Removed value: -9007199254740991
removedInput schema / properties / wait / minimum
Removed value: -0
removedInput schema / properties / wait / type
Removed value: -"integer"