Box ACTION
List File Versions
Lists prior versions of a file (does not include the current version). Box only tracks file versions for users with premium accounts, so this returns an empty list on free accounts. Use Get File Metadata for current file details, or Upload File Version to create a new version. See the documentation.
- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Box account once, then configure and run List File Versions from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "box-list-file-versions",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
box: { authProvisionId: "apn_xxxxxxx" },
folderId: "Parent Folder",
fileId: "File",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "box-list-file-versions",
"configured_props": {
"box": { "authProvisionId": "apn_xxxxxxx" },
"folderId": "Parent Folder",
"fileId": "File"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "box",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "box-list-file-versions",
arguments: {
folderId: "Parent Folder",
fileId: "File",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
folderId Parent Folder | string | The parent folder of the file. Use 0 for the root folder. Use the List Folders action to retrieve folder IDs. Optional Dynamic |
fileId File | string | The file to list versions for (e.g. 123456789). Use the List Folder Items action to retrieve file IDs. Required Dynamic |
fields Fields | string[] | A comma-separated list of attributes to include in the response. See available fields. Optional |
limit Limit | integer | The maximum number of results to return per page. Use an integer from 1 through 1000. Optional |
offset Offset | integer | The zero-based position at which to start listing versions (e.g. 100). Pass a multiple of Limit to page through results. Box rejects offsets above 10000. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- box-list-file-versions
- Version
- 0.0.2
- App
- Box
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗