Ferrule

Box

36 tools OpenAPI spec ↗

MCPREST
GETget_file/files/:file_id

Retrieve details for a file by its ID, including name, size, owner, path, and metadata.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file (e.g. '12345').

Query Parameters

NameTypeRequiredDescription
fieldsstringNoComma-separated list of fields to include (e.g. 'name,size,modified_at').

Response

typestring
idstring
nameobject
descriptionobject
sizeobject
pathCollectionobject
createdAtobject
modifiedAtobject
contentCreatedAtobject
contentModifiedAtobject
createdByobject
modifiedByobject
ownedByobject
sharedLinkobject
parentobject
itemStatusobject
sequenceIdobject
etagobject
sha1object
fileVersionobject
tagsobject
extensionobject
permissionsobject
lockobject
metadataobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "get_file"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "get_file",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
PATCHupdate_file/files/:file_id

Update a file's name, description, or move it to a different folder by changing its parent.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file to update.

Query Parameters

NameTypeRequiredDescription
namestringNoNew name for the file.
descriptionstringNoNew description for the file.
parent_idstringNoID of the new parent folder to move the file into. Use '0' for root.
tagsobjectNoArray of tags to set on the file.

Response

typestring
idstring
nameobject
descriptionobject
sizeobject
pathCollectionobject
createdAtobject
modifiedAtobject
contentCreatedAtobject
contentModifiedAtobject
createdByobject
modifiedByobject
ownedByobject
sharedLinkobject
parentobject
itemStatusobject
sequenceIdobject
etagobject
sha1object
fileVersionobject
tagsobject
extensionobject
permissionsobject
lockobject
metadataobject

Runtime output is unvalidated JSON (raw passthrough).

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "update_file"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "update_file",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
DELETEdelete_file/files/:file_id

Delete a file by its ID, moving it to the trash.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file to delete.

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "delete_file"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "delete_file",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
POSTcopy_file/files/:file_id/copy

Copy a file to a destination folder. Optionally provide a new name.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file to copy.

Query Parameters

NameTypeRequiredDescription
parent_idstringNoID of the destination folder for the copy.
namestringNoOptional new name for the copied file.

Response

typestring
idstring
nameobject
descriptionobject
sizeobject
pathCollectionobject
createdAtobject
modifiedAtobject
contentCreatedAtobject
contentModifiedAtobject
createdByobject
modifiedByobject
ownedByobject
sharedLinkobject
parentobject
itemStatusobject
sequenceIdobject
etagobject
sha1object
fileVersionobject
tagsobject
extensionobject
permissionsobject
lockobject
metadataobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "copy_file"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "copy_file",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
GETget_download_url/files/:file_id/download-url

Get a temporary download URL for a file. The URL is valid for a short time.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file to download.

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "get_download_url"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "get_download_url",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
GETlist_file_versions/files/:file_id/versions

List all past versions of a file. Versions are only tracked for premium accounts.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file.

Query Parameters

NameTypeRequiredDescription
limitnumberNoMaximum number of versions to return per page.
offsetnumberNoOffset for pagination (0-based).

Response

totalCountnumber
entriesarray
offsetobject
limitobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "list_file_versions"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "list_file_versions",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
POSTpromote_file_version/files/:file_id/versions/promote

Promote an older version of a file to become the current version. Creates a copy of the old version as the latest.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file.

Query Parameters

NameTypeRequiredDescription
version_idstringNoThe ID of the file version to promote.

Response

typestring
idstring
nameobject
sizeobject
createdAtobject
modifiedAtobject
modifiedByobject
sha1object
trashedAtobject
trashedByobject
restoredAtobject
restoredByobject
purgedAtobject
uploaderDisplayNameobject
versionNumberobject

Runtime output is unvalidated JSON (raw passthrough).

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "promote_file_version"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "promote_file_version",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
GETget_folder/folders/:folder_id

Retrieve details for a folder by its ID, including the first 100 items. Use '0' for the root folder.

Request

Path Parameters

NameTypeRequiredDescription
folder_idstringYesThe unique identifier of the folder. Use '0' for the root folder.

Query Parameters

NameTypeRequiredDescription
fieldsstringNoComma-separated list of fields to include.

Response

typestring
idstring
nameobject
descriptionobject
sizeobject
pathCollectionobject
createdAtobject
modifiedAtobject
createdByobject
modifiedByobject
ownedByobject
sharedLinkobject
parentobject
itemStatusobject
sequenceIdobject
etagobject
itemCollectionobject
tagsobject
permissionsobject
folderUploadEmailobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "get_folder"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "get_folder",
      "params": {
        "folder_id": "<folder_id>"
      }
    }
  }
}
GETlist_folder_items/folders/:folder_id/items

List items (files, folders, web links) in a folder with pagination support.

Request

Path Parameters

NameTypeRequiredDescription
folder_idstringYesThe unique identifier of the folder. Use '0' for the root folder.

Query Parameters

NameTypeRequiredDescription
fieldsstringNoComma-separated list of fields to include.
limitnumberNoMaximum number of items to return (max 1000).
offsetnumberNoOffset for pagination (0-based).
sortstringNoSort field: 'id', 'name', or 'date'.
directionstringNoSort direction: 'ASC' or 'DESC'.

Response

totalCountnumber
entriesarray
offsetobject
limitobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "list_folder_items"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "list_folder_items",
      "params": {
        "folder_id": "<folder_id>"
      }
    }
  }
}
POSTcreate_folder/folders

Create a new folder inside a parent folder.

Request

Query Parameters

NameTypeRequiredDescription
namestringNoName for the new folder.
parent_idstringNoID of the parent folder. Use '0' to create in the root folder.

Response

typestring
idstring
nameobject
descriptionobject
sizeobject
pathCollectionobject
createdAtobject
modifiedAtobject
createdByobject
modifiedByobject
ownedByobject
sharedLinkobject
parentobject
itemStatusobject
sequenceIdobject
etagobject
itemCollectionobject
tagsobject
permissionsobject
folderUploadEmailobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "create_folder"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "create_folder",
      "params": {}
    }
  }
}
PATCHupdate_folder/folders/:folder_id

Update a folder's name, description, or move it to a different parent folder.

Request

Path Parameters

NameTypeRequiredDescription
folder_idstringYesThe unique identifier of the folder to update.

Query Parameters

NameTypeRequiredDescription
namestringNoNew name for the folder.
descriptionstringNoNew description for the folder.
parent_idstringNoID of the new parent folder to move into.
tagsobjectNoArray of tags to set on the folder.

Response

typestring
idstring
nameobject
descriptionobject
sizeobject
pathCollectionobject
createdAtobject
modifiedAtobject
createdByobject
modifiedByobject
ownedByobject
sharedLinkobject
parentobject
itemStatusobject
sequenceIdobject
etagobject
itemCollectionobject
tagsobject
permissionsobject
folderUploadEmailobject

Runtime output is unvalidated JSON (raw passthrough).

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "update_folder"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "update_folder",
      "params": {
        "folder_id": "<folder_id>"
      }
    }
  }
}
DELETEdelete_folder/folders/:folder_id

Delete a folder by its ID, moving it to the trash. Set recursive to true to delete non-empty folders.

Request

Path Parameters

NameTypeRequiredDescription
folder_idstringYesThe unique identifier of the folder to delete.

Query Parameters

NameTypeRequiredDescription
recursivebooleanNoWhether to delete the folder even if it is not empty (default: false).

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "delete_folder"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "delete_folder",
      "params": {
        "folder_id": "<folder_id>"
      }
    }
  }
}
POSTcopy_folder/folders/:folder_id/copy

Copy a folder and its contents to a destination folder. Optionally provide a new name.

Request

Path Parameters

NameTypeRequiredDescription
folder_idstringYesThe unique identifier of the folder to copy.

Query Parameters

NameTypeRequiredDescription
parent_idstringNoID of the destination folder for the copy.
namestringNoOptional new name for the copied folder.

Response

typestring
idstring
nameobject
descriptionobject
sizeobject
pathCollectionobject
createdAtobject
modifiedAtobject
createdByobject
modifiedByobject
ownedByobject
sharedLinkobject
parentobject
itemStatusobject
sequenceIdobject
etagobject
itemCollectionobject
tagsobject
permissionsobject
folderUploadEmailobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "copy_folder"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "copy_folder",
      "params": {
        "folder_id": "<folder_id>"
      }
    }
  }
}
POSTsearch_content/search

Search for files, folders, and web links across the user's content. Supports full-text search with Boolean operators (AND, OR, NOT).

Request

Query Parameters

NameTypeRequiredDescription
querystringNoSearch query string. Supports AND, OR, NOT operators and quoted exact matches.
typestringNoLimit to 'file', 'folder', or 'web_link'.
file_extensionsstringNoComma-separated file extensions to filter by (e.g. 'pdf,docx').
ancestor_folder_idsstringNoComma-separated folder IDs to scope the search.
content_typesstringNoComma-separated content types: 'name', 'description', 'file_content', 'comments', 'tags'.
limitnumberNoMaximum number of results to return.
offsetnumberNoOffset for pagination (max 10000).
sortstringNoSort by 'relevance' (default) or 'modified_at'.
directionstringNoSort direction: 'ASC' or 'DESC'.
created_at_rangestringNoComma-separated date range for creation date (e.g. '2023-01-01T00:00:00Z,2023-12-31T23:59:59Z'). Omit start or end for open ranges.
updated_at_rangestringNoComma-separated date range for last update date (e.g. '2023-01-01T00:00:00Z,2023-12-31T23:59:59Z'). Omit start or end for open ranges.

Response

totalCountobject
entriesarray
offsetobject
limitobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "search_content"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "search_content",
      "params": {}
    }
  }
}
GETlist_folder_collaborations/folders/:folder_id/collaborations

List all collaborations (shared access) on a folder, including pending invitations.

Request

Path Parameters

NameTypeRequiredDescription
folder_idstringYesThe unique identifier of the folder.

Response

totalCountnumber
entriesarray
offsetobject
limitobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "list_folder_collaborations"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "list_folder_collaborations",
      "params": {
        "folder_id": "<folder_id>"
      }
    }
  }
}
POSTadd_collaboration/collaborations

Add a collaborator to a file or folder. Specify the item, the user or group, and their role.

Request

Query Parameters

NameTypeRequiredDescription
item_typestringNoType of item: 'file' or 'folder'.
item_idstringNoID of the file or folder.
accessible_by_typestringNoType of collaborator: 'user' or 'group'.
accessible_by_idstringNoID of the user or group. Required if login is not provided.
accessible_by_loginstringNoEmail of the user to invite. Required if id is not provided.
rolestringNoRole: 'editor', 'viewer', 'previewer', 'uploader', 'previewer uploader', 'viewer uploader', 'co-owner'.

Response

typestring
idstring
createdByobject
createdAtobject
modifiedAtobject
expiresAtobject
statusobject
accessibleByobject
roleobject
acknowledgedAtobject
inviteEmailobject
itemobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "add_collaboration"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "add_collaboration",
      "params": {}
    }
  }
}
PATCHupdate_collaboration/collaborations/:collaboration_id

Update the role or status of an existing collaboration.

Request

Path Parameters

NameTypeRequiredDescription
collaboration_idstringYesThe unique identifier of the collaboration.

Query Parameters

NameTypeRequiredDescription
rolestringNoNew role: 'editor', 'viewer', 'previewer', 'uploader', 'previewer uploader', 'viewer uploader', 'co-owner', 'owner'.
statusstringNoNew status: 'accepted' or 'rejected' (for pending invites).

Response

typestring
idstring
createdByobject
createdAtobject
modifiedAtobject
expiresAtobject
statusobject
accessibleByobject
roleobject
acknowledgedAtobject
inviteEmailobject
itemobject

Runtime output is unvalidated JSON (raw passthrough).

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "update_collaboration"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "update_collaboration",
      "params": {
        "collaboration_id": "<collaboration_id>"
      }
    }
  }
}
DELETEremove_collaboration/collaborations/:collaboration_id

Remove a collaboration (revoke access) by its ID.

Request

Path Parameters

NameTypeRequiredDescription
collaboration_idstringYesThe unique identifier of the collaboration to remove.

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "remove_collaboration"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "remove_collaboration",
      "params": {
        "collaboration_id": "<collaboration_id>"
      }
    }
  }
}
GETlist_file_comments/files/:file_id/comments

List all comments on a file.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file.

Query Parameters

NameTypeRequiredDescription
limitnumberNoMaximum number of comments to return per page.
offsetnumberNoOffset for pagination (0-based).

Response

totalCountnumber
entriesarray
offsetobject
limitobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "list_file_comments"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "list_file_comments",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
POSTcreate_comment/comments

Add a comment to a file. Use tagged_message to @mention users with @[user_id:name] syntax.

Request

Query Parameters

NameTypeRequiredDescription
file_idstringNoThe ID of the file to comment on.
messagestringNoThe comment text. Use this for simple comments.
tagged_messagestringNoComment text with @mentions using @[user_id:name] syntax. Use instead of message when mentioning users.

Response

typestring
idstring
messageobject
taggedMessageobject
createdAtobject
modifiedAtobject
createdByobject
isReplyCommentobject
itemobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "create_comment"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "create_comment",
      "params": {}
    }
  }
}
DELETEdelete_comment/comments/:comment_id

Permanently delete a comment by its ID.

Request

Path Parameters

NameTypeRequiredDescription
comment_idstringYesThe unique identifier of the comment to delete.

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "delete_comment"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "delete_comment",
      "params": {
        "comment_id": "<comment_id>"
      }
    }
  }
}
GETlist_file_tasks/files/:file_id/tasks

List all tasks on a file.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file.

Response

totalCountnumber
entriesarray
offsetobject
limitobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "list_file_tasks"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "list_file_tasks",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
POSTcreate_task/tasks

Create a task on a file. The task will need to be assigned separately using create_task_assignment.

Request

Query Parameters

NameTypeRequiredDescription
file_idstringNoThe ID of the file to create a task on.
messagestringNoAn optional message/description for the task.
actionstringNoTask action: 'review' (approval task) or 'complete' (general task). Defaults to 'review'.
due_atstringNoDue date in ISO 8601 format (e.g. '2024-12-31T23:59:59Z').
completion_rulestringNoCompletion rule: 'all_assignees' (default) or 'any_assignee'.

Response

typestring
idstring
itemobject
dueAtobject
actionobject
messageobject
taskAssignmentCollectionobject
isCompletedobject
createdAtobject
createdByobject
completionRuleobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "create_task"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "create_task",
      "params": {}
    }
  }
}
POSTcreate_task_assignment/task-assignments

Assign a task to a user by user ID or email address.

Request

Query Parameters

NameTypeRequiredDescription
task_idstringNoThe ID of the task to assign.
user_idstringNoThe ID of the user to assign. Provide either user_id or login.
loginstringNoThe email of the user to assign. Provide either user_id or login.

Response

typestring
idstring
itemobject
assignedToobject
messageobject
completedAtobject
assignedAtobject
remindedAtobject
resolutionStateobject
assignedByobject
statusobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "create_task_assignment"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "create_task_assignment",
      "params": {}
    }
  }
}
PATCHupdate_task_assignment/task-assignments/:task_assignment_id

Update a task assignment's resolution state (e.g., mark as completed, approved, or rejected).

Request

Path Parameters

NameTypeRequiredDescription
task_assignment_idstringYesThe unique identifier of the task assignment.

Query Parameters

NameTypeRequiredDescription
messagestringNoAn optional message from the assignee.
resolution_statestringNoResolution state: 'completed', 'incomplete', 'approved', or 'rejected'.

Response

typestring
idstring
itemobject
assignedToobject
messageobject
completedAtobject
assignedAtobject
remindedAtobject
resolutionStateobject
assignedByobject
statusobject

Runtime output is unvalidated JSON (raw passthrough).

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "update_task_assignment"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "update_task_assignment",
      "params": {
        "task_assignment_id": "<task_assignment_id>"
      }
    }
  }
}
GETlist_task_assignments/tasks/:task_id/assignments

List all assignments for a task.

Request

Path Parameters

NameTypeRequiredDescription
task_idstringYesThe unique identifier of the task.

Response

totalCountnumber
entriesarray
offsetobject
limitobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "list_task_assignments"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "list_task_assignments",
      "params": {
        "task_id": "<task_id>"
      }
    }
  }
}
GETlist_file_metadata/files/:file_id/metadata

List all metadata instances applied to a file.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file.

Response

entriesarray
limitobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "list_file_metadata"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "list_file_metadata",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
GETget_file_metadata/files/:file_id/metadata/:scope/:template_key

Get a specific metadata instance on a file by scope and template key.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file.
scopestringYesMetadata scope: 'global' or 'enterprise' (e.g. 'enterprise_12345').
template_keystringYesThe key of the metadata template (e.g. 'contractTemplate').

Response

object

Runtime output is unvalidated JSON (raw passthrough).

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "get_file_metadata"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "get_file_metadata",
      "params": {
        "file_id": "<file_id>",
        "scope": "<scope>",
        "template_key": "<template_key>"
      }
    }
  }
}
POSTcreate_file_metadata/files/:file_id/metadata/:scope/:template_key

Apply a metadata template instance to a file with the given key-value pairs.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file.
scopestringYesMetadata scope: 'global' or 'enterprise' (e.g. 'enterprise_12345').
template_keystringYesThe key of the metadata template.

Query Parameters

NameTypeRequiredDescription
dataobjectNoKey-value pairs for the metadata instance. Example: { "category": "contract", "amount": 100 }.

Response

object

Runtime output is unvalidated JSON (raw passthrough).

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "create_file_metadata"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "create_file_metadata",
      "params": {
        "file_id": "<file_id>",
        "scope": "<scope>",
        "template_key": "<template_key>"
      }
    }
  }
}
DELETEdelete_file_metadata/files/:file_id/metadata/:scope/:template_key

Remove a metadata instance from a file by scope and template key.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the file.
scopestringYesMetadata scope: 'global' or 'enterprise'.
template_keystringYesThe key of the metadata template to remove.

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "delete_file_metadata"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "delete_file_metadata",
      "params": {
        "file_id": "<file_id>",
        "scope": "<scope>",
        "template_key": "<template_key>"
      }
    }
  }
}
GETget_current_user/users/me

Get the user profile for the currently authenticated user, including storage usage and role.

Request

No input parameters.

Response

typestring
idstring
nameobject
loginobject
createdAtobject
modifiedAtobject
languageobject
timezoneobject
spaceAmountobject
spaceUsedobject
maxUploadSizeobject
statusobject
jobTitleobject
phoneobject
addressobject
avatarUrlobject
roleobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "get_current_user"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "get_current_user",
      "params": {}
    }
  }
}
GETget_trashed_file/trash/files/:file_id

Get details of a file that has been moved to the trash.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the trashed file.

Response

typestring
idstring
nameobject
descriptionobject
sizeobject
pathCollectionobject
createdAtobject
modifiedAtobject
trashedAtobject
purgedAtobject
createdByobject
modifiedByobject
ownedByobject
parentobject
itemStatusobject
sequenceIdobject
sha1object

Runtime output is unvalidated JSON (raw passthrough).

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "get_trashed_file"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "get_trashed_file",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}
POSTrestore_file_from_trash/trash/files/:file_id/restore

Restore a file from the trash. Optionally provide a new parent folder if the original was deleted.

Request

Path Parameters

NameTypeRequiredDescription
file_idstringYesThe unique identifier of the trashed file to restore.

Query Parameters

NameTypeRequiredDescription
namestringNoOptional new name for the restored file.
parent_idstringNoOptional ID of the folder to restore into (if the original parent was deleted).

Response

typestring
idstring
nameobject
descriptionobject
sizeobject
pathCollectionobject
createdAtobject
modifiedAtobject
contentCreatedAtobject
contentModifiedAtobject
createdByobject
modifiedByobject
ownedByobject
sharedLinkobject
parentobject
itemStatusobject
sequenceIdobject
etagobject
sha1object
fileVersionobject
tagsobject
extensionobject
permissionsobject
lockobject
metadataobject

Runtime output is unvalidated JSON (raw passthrough).

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "box",
      "method": "restore_file_from_trash"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_box",
    "arguments": {
      "method": "restore_file_from_trash",
      "params": {
        "file_id": "<file_id>"
      }
    }
  }
}