diff --git a/app/en/mcp-servers/components/toolkits-config.ts b/app/en/mcp-servers/components/toolkits-config.ts index 775de27e..b04afe64 100644 --- a/app/en/mcp-servers/components/toolkits-config.ts +++ b/app/en/mcp-servers/components/toolkits-config.ts @@ -481,13 +481,13 @@ const comingSoonTools: Tool[] = [ isComingSoon: true, }, { - name: "Box", + name: "Box API", image: "box.svg", - summary: "Manage files and folders in Box with your agents.", - link: "/mcp-servers/productivity/box", + summary: "Enable agents to interact with the low-level Box API.", + link: "/mcp-servers/productivity/box-api", category: "productivity", - type: "arcade", - isComingSoon: true, + type: "arcade_starter", + isComingSoon: false, }, { name: "Braze", diff --git a/app/en/mcp-servers/productivity/box-api/page.mdx b/app/en/mcp-servers/productivity/box-api/page.mdx new file mode 100644 index 00000000..b1e9c801 --- /dev/null +++ b/app/en/mcp-servers/productivity/box-api/page.mdx @@ -0,0 +1,5655 @@ +# BoxApi + +import StarterToolInfo from "@/app/_components/starter-tool-info"; +import ToolInfo from "@/app/_components/tool-info"; +import Badges from "@/app/_components/badges"; +import TabbedCodeBlock from "@/app/_components/tabbed-code-block"; +import TableOfContents from "@/app/_components/table-of-contents"; +import ToolFooter from "@/app/_components/tool-footer"; +import { Callout } from "nextra/components"; + + + + + + + +The BoxApi MCP Server offers a comprehensive set of tools for managing Box content, metadata, security, collaboration, enterprise settings, Doc Gen/Sign workflows, and integrations. Key capabilities include: + +- Manage files, folders, trashed items, versions, thumbnails, downloads, and upload sessions (including chunked uploads). +- Inspect and modify file/folder metadata, classifications, watermarks, skills metadata, and app associations. +- Manage collaborations, comments, tasks, collections, shared links, web links, and related permissions. +- Create, list, inspect, and remove Box Doc Gen templates, template tags, and Doc Gen jobs (including batch and template-specific job listings). +- Manage Box Sign requests and templates (retrieve, resend, cancel, list). +- Admin and enterprise ops: list/manage users, groups, Hubs, archives, storage policies, retention and legal hold policies, device pins, terms of service, safe-collaboration domains, shield information barriers, and enterprise events. +- Manage metadata templates, cascade policies, and metadata instances (retrieve, find, delete). +- Manage webhooks, integrations (Slack, Teams), AI agents, and related mappings. +- Retrieve audit/operational data: recent items, events, collections, and activity for troubleshooting or reporting. +- Permanently delete or restore content: delete files/folders, remove from trash, delete archives, templates, policies, and other irreversible removals. + +Use these tools to build agents or apps that automate Box content lifecycle, security/compliance workflows, collaboration administration, document generation/signing, and enterprise integrations. + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your own + tools](/home/build-tools/create-a-mcp-server). + + +## BoxApi.ListBoxDocTemplates + +
+ + +Retrieve Box Doc Gen templates the user collaborates on. + +**Parameters** + +- **pagination_start_marker** (`string`, optional) Defines the starting position for pagination of results. Requires `usemarker` to be set to `true`. +- **max_items_per_page** (`integer`, optional) Specify the maximum number of Box Doc Gen templates to return in a single page. + +## BoxApi.UnmarkBoxDocTemplate + +
+ + +Unmarks a file as a Box Doc Gen template. + +**Parameters** + +- **file_id_to_unmark** (`string`, required) The ID of the file that will no longer be marked as a Box Doc Gen template. + +## BoxApi.GetBoxDocgenTemplateDetails + +
+ + +Fetch details of a specific Box Doc Gen template. + +**Parameters** + +- **box_docgen_template_id** (`string`, required) The ID of the Box Doc Gen template to retrieve details for. + +## BoxApi.ListBoxDocgenTemplateTags + +
+ + +Retrieve tags from a specific Box Doc Gen template. + +**Parameters** + +- **template_id** (`string`, required) The unique identifier for the Box Doc Gen template whose tags you want to retrieve. +- **template_version_id** (`string`, optional) The ID of the specific version of the template to retrieve tags from. +- **pagination_start_marker** (`string`, optional) Defines the starting position for results when using marker-based pagination. Must have `usemarker` set to `true`. +- **maximum_items_per_page** (`integer`, optional) Specifies the maximum number of tags to return per page from the Box Doc Gen template. + +## BoxApi.GetBoxDocgenJobDetails + +
+ + +Retrieve details of a Box Doc Gen job using its ID. + +**Parameters** + +- **box_doc_gen_job_id** (`string`, required) The unique identifier for the Box Doc Gen job you want details for. + +## BoxApi.ListBoxDocgenJobs + +
+ + +Retrieves a list of Box Doc Gen jobs for a user. + +**Parameters** + +- **pagination_marker** (`string`, optional) Starting position marker for paginating results. Requires 'usemarker' set to true. +- **maximum_items_per_page** (`integer`, optional) The maximum number of items to return per page. Specify an integer value to set the limit for pagination. + +## BoxApi.ListTemplateJobs + +
+ + +Retrieve jobs associated with a specific document template. + +**Parameters** + +- **template_identifier** (`string`, required) The unique ID of the template for which jobs need to be retrieved. +- **pagination_start_marker** (`string`, optional) Defines the starting position for pagination. Requires 'usemarker' to be set to true. +- **max_items_per_page** (`integer`, optional) The maximum number of items to return per page from the list of jobs. + +## BoxApi.ListDocgenBatchJobs + +
+ + +Retrieve details of Box Doc Gen jobs in a batch. + +**Parameters** + +- **box_doc_gen_batch_id** (`string`, required) The identifier for a Box Doc Gen batch used to retrieve specific job details. +- **pagination_marker** (`string`, optional) The position marker to start returning results. Use for marker-based pagination. Requires `usemarker` set to `true`. +- **maximum_items_per_page** (`integer`, optional) The maximum number of items to return per page when retrieving Box Doc Gen jobs. + +## BoxApi.GetBoxHubs + +
+ + +Retrieve all Box Hubs for the user. + +**Parameters** + +- **hub_search_query** (`string`, optional) The string to search for specific Box Hubs. Use keywords to refine search results. +- **hub_scope** (`string`, optional) Specifies which Box Hubs to retrieve. Options: `editable`, `view_only`, `all`. Default is `all`. +- **sort_results_by** (`string`, optional) Field to sort Box Hubs by: `name`, `updated_at`, `last_accessed_at`, `view_count`, `relevance` (default: `relevance`). +- **sort_direction** (`string`, optional) Specify the sort order: 'ASC' for ascending or 'DESC' for descending. +- **pagination_start_marker** (`string`, optional) Defines the position marker to begin returning results, used for marker-based pagination. +- **max_items_per_page** (`integer`, optional) The maximum number of Box Hubs to return per page. Use for pagination control. + +## BoxApi.GetEnterpriseBoxHubs + +
+ + +Retrieve Box Hubs for an enterprise. + +**Parameters** + +- **search_query_for_box_hubs** (`string`, optional) The search query string to find specific Box Hubs within an enterprise. +- **sort_results_by** (`string`, optional) The field to sort the Box Hubs by. Options: 'name', 'updated_at', 'last_accessed_at', 'view_count', 'relevance'. Default is 'relevance'. +- **sort_direction** (`string`, optional) The direction to sort results: alphabetical ascending ('ASC') or descending ('DESC'). +- **pagination_marker** (`string`, optional) The starting position marker for returning results, used in marker-based pagination. +- **max_items_per_page** (`integer`, optional) The maximum number of Box Hubs to return per page. This controls the page size for the result set. + +## BoxApi.RetrieveBoxHubDetails + +
+ + +Fetch Box Hub details using its ID. + +**Parameters** + +- **box_hub_identifier** (`string`, required) The unique ID representing a Box Hub, found in the URL when visiting the hub. + +## BoxApi.DeleteBoxHub + +
+ + +Delete a specific Box Hub using its ID. + +**Parameters** + +- **box_hub_unique_id** (`string`, required) The unique identifier for a Box Hub, obtainable from the hub's URL. + +## BoxApi.RetrieveBoxHubCollaborations + +
+ + +Retrieves collaborations for a Box Hub. + +**Parameters** + +- **hub_identifier** (`string`, required) The unique string identifier for a Box Hub, found in the Hub's URL. +- **pagination_marker** (`string`, optional) The position marker to begin returning results, used for marker-based pagination. Ensure `usemarker` is set to `true`. +- **max_items_per_page** (`integer`, optional) The maximum number of collaboration items to return per page. Determines the page size for results. + +## BoxApi.GetBoxHubCollaborationDetails + +
+ + +Retrieve details for a Box Hub collaboration by ID. + +**Parameters** + +- **hub_collaboration_id** (`string`, required) The unique identifier for the specific Box Hub collaboration you want to retrieve details for. + +## BoxApi.DeleteBoxHubCollaboration + +
+ + +Remove a specific Box Hub collaboration. + +**Parameters** + +- **hub_collaboration_identifier** (`string`, required) The unique identifier for the Box Hub collaboration to be deleted. + +## BoxApi.RetrieveBoxHubItems + +
+ + +Fetch all items from a specified Box Hub. + +**Parameters** + +- **hub_identifier** (`string`, required) The unique ID representing a Box Hub, retrievable from the hub's URL. +- **pagination_start_marker** (`string`, optional) Defines the starting position for results when using marker-based pagination. Requires `usemarker` to be `true`. +- **maximum_items_per_page** (`integer`, optional) The maximum number of items to return per page from a Box Hub. Specify an integer value to limit the number of items in each result set. + +## BoxApi.GetEnterpriseShieldLists + +
+ + +Retrieve all shield lists for the enterprise. + +**Parameters** + +This tool does not take any parameters. + +## BoxApi.RetrieveShieldListById + +
+ + +Retrieve details of a specific shield list by ID. + +**Parameters** + +- **shield_list_identifier** (`string`, required) The unique identifier for a shield list. Retrieve this ID by calling the endpoint that lists all shield lists for your enterprise. + +## BoxApi.DeleteShieldListById + +
+ + +Delete a shield list using its ID. + +**Parameters** + +- **shield_list_id** (`string`, required) The unique identifier for the shield list to be deleted. Obtainable from the response of fetching all shield lists for the enterprise. + +## BoxApi.RetrieveEnterpriseArchives + +
+ + +Retrieve archives for an enterprise from Box. + +**Parameters** + +- **max_items_per_page** (`integer`, optional) The maximum number of archive items to return per page when retrieving data. +- **pagination_start_marker** (`string`, optional) Defines the position marker to start returning results for pagination in archive retrieval. + +## BoxApi.DeleteArchive + +
+ + +Permanently delete an archive by ID. + +**Parameters** + +- **archive_id** (`string`, required) The unique identifier of the archive to be permanently deleted. This ID is required for the deletion process. + +## BoxApi.RetrieveFileDetails + +
+ + +Fetch details about a specific file using its ID. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for a file, found in the URL of the file in the web application. Example: from `https://*.app.box.com/files/123`, use `123`. +- **included_file_attributes** (`array[string]`, optional) Specify attributes to include in the response as a list of strings. Additional attributes replace standard fields unless explicitly included. Metadata can be queried using 'metadata' with scope and key. +- **etag_conditional_retrieval** (`string`, optional) Provide the last observed etag value to retrieve the file only if it has changed. Returns a 304 status if unchanged. +- **shared_link_with_optional_password** (`string`, optional) Provide the shared link URL for the item. Use the format 'shared_link=[link]' or 'shared_link=[link]&shared_link_password=[password]' if a password is required. +- **file_representations_request** (`string`, optional) Request specific representations of a file using hints, e.g., '[jpg?dimensions=32x32][jpg?dimensions=64x64]'. + +## BoxApi.DeleteFileFromBox + +
+ + +Delete a file from Box or move it to trash. + +**Parameters** + +- **file_identifier** (`string`, required) The unique ID representing a file in Box. Found in the URL when viewing a file: https://\*.app.box.com/files/file_id. +- **ensure_no_recent_changes_etag** (`string`, optional) Pass the file's last observed etag value to ensure it hasn't changed before deletion. If the etag has changed, the operation will fail. + +## BoxApi.GetFileAppAssociations + +
+ + +Retrieve app items associated with a specific file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique ID representing a file in Box. Can be obtained from the file URL. +- **items_per_page_limit** (`integer`, optional) The maximum number of items to return per page. +- **pagination_marker** (`string`, optional) Defines the position marker for pagination. Required if using marker-based pagination. Ensure `usemarker` is set to `true`. +- **filter_by_application_type** (`string`, optional) Specify the application type to filter and return only app items related to it. + +## BoxApi.DownloadFileContent + +
+ + +Retrieve the binary content of a specified file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for the file to download. Obtainable from the file's URL in the web application. +- **file_version_to_download** (`string`, optional) The specific version of the file to retrieve in binary format. +- **optional_access_token** (`string`, optional) A string for an optional access token to pre-authenticate the file download request. Ensure it's scoped for read access only. +- **download_byte_range** (`string`, optional) Specify the byte range for the content to download in the format `bytes={start_byte}-{end_byte}` to define which section of the file to retrieve. +- **shared_link_with_optional_password** (`string`, optional) Provide the shared link URL of the item. Include a password if required, using the format `shared_link=[link]` or `shared_link=[link]&shared_link_password=[password]`. This allows access to files not explicitly shared with the user. + +## BoxApi.GetUploadSessionDetails + +
+ + +Retrieve details of a specific file upload session. + +**Parameters** + +- **upload_session_id** (`string`, required) The ID of the upload session to retrieve information for. + +## BoxApi.AbortUploadSession + +
+ + +Abort an upload session and discard all uploaded data. + +**Parameters** + +- **upload_session_id** (`string`, required) The unique identifier of the upload session to be aborted. This ID is required to specify which upload session should be cancelled and its data discarded. + +## BoxApi.GetUploadedChunksList + +
+ + +Retrieve the list of uploaded chunks for an upload session. + +**Parameters** + +- **upload_session_identifier** (`string`, required) The unique identifier for the upload session. Use this to retrieve the list of uploaded chunks. +- **response_offset** (`integer`, optional) The starting position of the response item list. Must not exceed 10000, as higher values will result in a 400 error. +- **max_items_per_page** (`integer`, optional) The maximum number of uploaded chunks to return per page in the response. + +## BoxApi.RetrieveFileThumbnail + +
+ + +Retrieves a thumbnail image of a specified file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for the file. You can find this ID in the file URL on the Box web application. +- **thumbnail_file_format** (`string`, required) Specify the file format for the thumbnail, either 'png' or 'jpg'. +- **minimum_thumbnail_height** (`integer`, optional) Specify the minimum height for the thumbnail image required. Accepts an integer value. +- **minimum_thumbnail_width** (`integer`, optional) The minimum width of the thumbnail to be retrieved. Specify an integer value. +- **maximum_thumbnail_height** (`integer`, optional) The maximum height of the thumbnail in pixels. Valid values depend on the specified format. For .png, maximum is 256; for .jpg, maximum is 320. +- **maximum_thumbnail_width** (`integer`, optional) The maximum width for the thumbnail image in pixels. Define the width according to the available sizes in .png or .jpg formats. + +## BoxApi.GetFileCollaborations + +
+ + +Retrieve collaborations for a specific file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique file ID needed to retrieve collaborations. Obtainable from the file's URL in the web app. +- **requested_fields** (`array[string]`, optional) A list of specific attributes to include in the response. These fields are not typically included and override the standard response fields. +- **max_items_per_page** (`integer`, optional) The maximum number of collaboration items to return per page in the response. Useful for paginating results. +- **pagination_start_marker** (`string`, optional) Specifies the position marker for starting result pagination. Requires 'usemarker' set to 'true'. + +## BoxApi.GetFileComments + +
+ + +Retrieve comments for a specific file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique file ID, found in the Box web app URL, e.g., for `https://*.app.box.com/files/123`, the ID is `123`. +- **include_fields_in_response** (`array[string]`, optional) List of attributes to include in the response. Only specified fields and mini representation are returned. +- **maximum_items_per_page** (`integer`, optional) The maximum number of comments to return per page for the specified file. +- **response_start_offset** (`integer`, optional) The starting point for comments retrieval. Must not exceed 10000, or a 400 error occurs. + +## BoxApi.GetFileTasks + +
+ + +Retrieve all tasks associated with a specific file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for a file, found in the file URL on the Box web application. + +## BoxApi.RetrieveTrashedFile + +
+ + +Retrieve a file that has been moved to the trash. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier of a file moved to trash, obtained from the file's URL in the web application. +- **include_attributes_in_response** (`array[string]`, optional) A list of attributes to include in the response. Only specified fields and mini representation fields are returned. + +## BoxApi.PermanentlyDeleteFileFromTrash + +
+ + +Permanently delete a file that is in the trash. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier of a file to be permanently deleted from the trash. Obtainable from the file URL. + +## BoxApi.GetFileVersionHistory + +
+ + +Retrieve a list of past versions for a file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique ID representing a file in Box. Obtainable from the file's URL, e.g., `https://*.app.box.com/files/123` where `123` is the ID. +- **requested_fields** (`array[string]`, optional) A list of specific file attributes to include in the response. Only these fields, plus the mini representation, will be returned. +- **max_items_per_page** (`integer`, optional) Maximum number of file versions to return per page. +- **response_start_offset** (`integer`, optional) The item offset to begin the response from. Must not exceed 10000; otherwise, a 400 error will be returned. + +## BoxApi.RetrieveFileVersion + +
+ + +Retrieve a specific version of a file for premium Box users. + +**Parameters** + +- **unique_file_identifier** (`string`, required) The unique identifier for a file on Box. Obtainable from the file's URL (e.g., '123' in 'https://\*.app.box.com/files/123'). +- **file_version_identifier** (`string`, required) The unique ID representing the specific version of a file to retrieve. +- **include_additional_attributes** (`array[string]`, optional) List of additional attributes to include in the response. Specify as an array of strings. Only fields specified will be returned, along with the mini representation. + +## BoxApi.DeleteBoxFileVersion + +
+ + +Delete a specific file version from Box. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for a file in Box. Obtain it from the file's URL in the web app. Example: '123' for URL 'https://\*.app.box.com/files/123'. +- **file_version_id** (`string`, required) The unique identifier of the file version to be deleted. Obtainable from the Box platform. +- **if_match_etag_value** (`string`, optional) Pass the item's last observed etag value to ensure it hasn't changed before deletion. Use this to prevent conflicts. + +## BoxApi.RetrieveFileMetadata + +
+ + +Retrieve all metadata for a specific file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier of a file, obtained from the URL in the Box web application. For example, from `https://*.app.box.com/files/123`, the `file_id` is `123`. + +## BoxApi.GetFileClassificationMetadata + +
+ + +Retrieve classification metadata for a specific file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for a file, obtained from the file's URL in the Box web application. For example, in `https://*.app.box.com/files/123`, the `file_id` is `123`. + +## BoxApi.RemoveFileClassification + +
+ + +Remove classifications from a specified file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for the file whose classification is to be removed. Obtainable from the Box file URL. + +## BoxApi.RetrieveFileTemplateMetadata + +
+ + +Retrieve metadata for a specific file template. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for a file, obtainable from the file URL in the Box web application. +- **metadata_scope** (`string`, required) Defines the scope of the metadata template to be retrieved. Options are 'global' or 'enterprise'. +- **metadata_template_name** (`string`, required) The name of the metadata template to retrieve for the specified file. + +## BoxApi.DeleteFileMetadata + +
+ + +Deletes metadata from a specified file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for a file, retrievable from the file URL, e.g., `https://*.app.box.com/files/123` where `123` is the ID. +- **metadata_scope** (`string`, required) Specifies the scope of the metadata template. Choose 'global' or 'enterprise'. +- **metadata_template_name** (`string`, required) The name of the metadata template to be deleted from the file. + +## BoxApi.GetBoxSkillsMetadata + +
+ + +Retrieve Box Skills metadata cards for a given file. + +**Parameters** + +- **file_id** (`string`, required) The unique identifier for the file in Box. Obtainable from the file's URL in the Box web app. + +## BoxApi.RemoveBoxSkillsMetadata + +
+ + +Remove Box Skills cards metadata from a file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier for a file, which can be extracted from the URL in the web application. For example, in `https://*.app.box.com/files/123`, the `file_id` is `123`. + +## BoxApi.GetFileWatermark + +
+ + +Retrieve the watermark for a file by its ID. + +**Parameters** + +- **file_identifier** (`string`, required) The unique identifier of a file. Obtainable from the URL when viewing a file on the web application. + +## BoxApi.RemoveFileWatermark + +
+ + +Removes the watermark from a specified file. + +**Parameters** + +- **file_identifier** (`string`, required) The unique ID for the file, found in its Box URL. For example, from `https://*.app.box.com/files/123`, `file_id` is `123`. + +## BoxApi.RetrieveFileRequestInfo + +
+ + +Retrieve information about a specific file request. + +**Parameters** + +- **file_request_unique_id** (`string`, required) The unique identifier for a file request, obtainable from the URL in the file request builder. + +## BoxApi.DeleteFileRequest + +
+ + +Permanently delete a specific file request. + +**Parameters** + +- **file_request_identifier** (`string`, required) The unique ID representing a file request, extracted from the URL in the file request builder. + +## BoxApi.GetFolderDetails + +
+ + +Retrieve details for a folder and its first 100 entries. + +**Parameters** + +- **folder_unique_identifier** (`string`, required) The unique identifier for a folder. Obtainable from the folder's URL, e.g., `123` in `https://*.app.box.com/folder/123`. The root folder's ID is `0`. +- **requested_fields** (`array[string]`, optional) A list of attributes to include in the response. Use for fields not normally returned in standard responses or for querying file metadata. +- **secondary_sort_attribute** (`string`, optional) Defines the second attribute by which folder items are sorted. Options include 'id', 'name', 'date', or 'size'. Not supported for root folders. +- **sort_direction** (`string`, optional) The order to sort results: 'ASC' for ascending or 'DESC' for descending. +- **response_offset** (`integer`, optional) The zero-based index to start the response from. Values exceeding 10000 are rejected with a 400 error. +- **max_items_per_page** (`integer`, optional) The maximum number of items to return in a single page of results. Controls pagination by limiting the number of entries per response. +- **ensure_item_has_changed** (`string`, optional) Supply the item's last known etag value to receive a response only if the item has changed. If unchanged, it returns a 304 status. +- **shared_link_credentials** (`string`, optional) The URL and optional password for the shared link to access items. Format as `shared_link=[link]` or `shared_link=[link]&shared_link_password=[password]`. + +## BoxApi.DeleteFolder + +
+ + +Delete a folder permanently or move it to the trash. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier representing a folder. Determine it by copying the ID from the folder's URL in the Box web application. The root folder ID is '0'. +- **ensure_unchanged_etag** (`string`, optional) Last observed `etag` value to ensure the folder hasn't changed before deletion. If changed, the operation fails with a 412 error. +- **delete_recursively** (`boolean`, optional) Set to true to delete a non-empty folder and all its content recursively. + +## BoxApi.GetFolderAppItemAssociations + +
+ + +Retrieve app items associated with a specific folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier representing a folder. Obtainable from the folder's URL. The root folder ID is '0'. +- **max_items_per_page** (`integer`, optional) The maximum number of items to return per page when retrieving app items associated with a folder. +- **pagination_start_marker** (`string`, optional) Position marker to begin returning results. Used for marker-based pagination. Requires `usemarker` set to `true`. +- **filter_by_application_type** (`string`, optional) Return only app items for the specified application type. + +## BoxApi.RetrieveFolderItems + +
+ + +Retrieve items in a specified folder, including files and links. + +**Parameters** + +- **folder_identifier** (`string`, required) Unique ID of a folder. Obtainable from the folder's URL. Root folder ID is always '0'. +- **included_attributes** (`array[string]`, optional) List of attributes to include in the response. Specify fields normally omitted in standard responses or query metadata using the format 'metadata.scope.key'. +- **pagination_start_marker** (`string`, optional) Specifies the starting point for marker-based pagination. Requires 'usemarker' to be set to true. +- **starting_item_offset** (`integer`, optional) Specifies the starting point for the items to be returned. Must be an integer and cannot exceed 10000, or a 400 response is returned. +- **max_items_per_page** (`integer`, optional) The maximum number of items to return per page. Specify an integer value. +- **sort_attribute** (`string`, optional) Specifies the secondary attribute for sorting folder items. Options: 'id', 'name', 'date', or 'size'. Not supported for marker-based pagination on root folders. +- **sort_direction** (`string`, optional) The direction to sort results: alphabetical ascending (ASC) or descending (DESC). +- **shared_link_credentials** (`string`, optional) Provide the shared link URL and optional password to access items not explicitly shared with a user. Use 'shared_link=[link]' or 'shared_link=[link]&shared_link_password=[password]'. +- **use_marker_based_pagination** (`boolean`, optional) Set to true to enable marker-based pagination, which returns a marker for fetching the next page. Only one pagination method can be active at a time. + +## BoxApi.GetFolderCollaborations + +
+ + +Retrieve pending and active collaborations for a folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier for a folder, obtainable from the folder's URL in the Box web application. For example, in the URL `https://*.app.box.com/folder/123`, the `folder_id` is `123`. +- **included_attributes** (`array[string]`, optional) List of attributes to include in the response, overriding standard fields unless specified. +- **max_items_per_page** (`integer`, optional) The maximum number of items to return per page. +- **start_position_marker** (`string`, optional) The position marker to begin returning results for marker-based pagination. Requires usemarker set to true. + +## BoxApi.RetrieveTrashedFolder + +
+ + +Retrieve a specific folder from the trash. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier for a folder. Obtainable from the folder's URL in the web application. '0' represents the root folder. +- **include_attributes_in_response** (`array[string]`, optional) A list of attribute names to include in the response, specifying non-standard fields for retrieval. + +## BoxApi.PermanentlyDeleteFolderInTrash + +
+ + +Permanently delete a folder from the trash. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier representing a folder to be permanently deleted from the trash. Obtainable from folder URL or use '0' for root folder. + +## BoxApi.RetrieveFolderMetadata + +
+ + +Retrieve all metadata for a specific folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier for a folder, excluding the root folder with ID `0`. Obtainable from the URL when viewing a folder in Box. + +## BoxApi.GetFolderClassification + +
+ + +Retrieve classification metadata for a specific folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier for a folder, retrievable from the folder's URL or as `0` for the root folder. + +## BoxApi.RemoveFolderClassifications + +
+ + +Remove classifications from a specified folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier representing a folder. Obtain this by visiting the folder URL (e.g., `https://*.app.box.com/folder/123`). The root folder ID is `0`. + +## BoxApi.GetFolderMetadata + +
+ + +Retrieve metadata template instance applied to a folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique ID representing a folder. Obtainable from the folder's URL, but not the root folder (ID `0`). +- **metadata_scope** (`string`, required) The scope of the metadata template. It can be either 'global' or 'enterprise'. +- **metadata_template_name** (`string`, required) The name of the metadata template to retrieve from the folder. Excludes root folder (ID `0`). + +## BoxApi.DeleteFolderMetadata + +
+ + +Deletes metadata from a specified folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier for a folder. Obtainable from the folder URL; use '0' for the root folder. +- **metadata_template_scope** (`string`, required) The scope of the metadata template. Choose either 'global' or 'enterprise'. +- **metadata_template_name** (`string`, required) The name of the metadata template to be deleted from the folder. + +## BoxApi.RetrieveTrashedItems + +
+ + +Retrieve files and folders from the trash. + +**Parameters** + +- **include_attributes** (`array[string]`, optional) List of attributes to include in the response, such as non-default fields. Only these and mini representation fields will be returned. +- **maximum_items_per_page** (`integer`, optional) Specify the maximum number of items to return per page when retrieving trashed items. This value controls pagination to limit the items returned in a single request. +- **pagination_offset** (`integer`, optional) The index to start retrieving items from the trash. Must be less than or equal to 10000. +- **pagination_marker** (`string`, optional) Defines the position marker for marker-based pagination. Requires 'use_marker_based_pagination' to be true. +- **sort_direction** (`string`, optional) The direction to sort results: 'ASC' for ascending or 'DESC' for descending alphabetical order. +- **secondary_sort_attribute** (`string`, optional) Defines the second attribute by which items are sorted, such as 'name', 'date', or 'size'. Unsupported with marker-based pagination. +- **use_marker_based_pagination** (`boolean`, optional) Set to true to use marker-based pagination instead of offset-based pagination, allowing retrieval of the next page with a 'marker' field. + +## BoxApi.GetFolderWatermark + +
+ + +Retrieve the watermark for a specific folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique ID representing a folder. It can be found in the URL when viewing the folder in the web app. The root folder ID is '0'. + +## BoxApi.RemoveWatermarkFromFolder + +
+ + +Removes the watermark from a specified folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier for a folder. This ID can be found in the URL when visiting the folder in the Box web application. For instance, in `https://*.app.box.com/folder/123`, the `folder_id` is `123`. The root folder is always `0`. + +## BoxApi.RetrieveFolderLockDetails + +
+ + +Retrieve lock details for a specific folder. + +**Parameters** + +- **folder_identifier** (`string`, required) The unique identifier for a folder. Obtainable by visiting the folder URL in the Box web app. The root folder is ID '0'. + +## BoxApi.DeleteFolderLock + +
+ + +Delete a specific folder lock if you're the owner or co-owner. + +**Parameters** + +- **folder_lock_identifier** (`string`, required) The unique ID of the folder lock to be deleted. You must be the owner or co-owner of the folder. + +## BoxApi.FindMetadataTemplate + +
+ + +Retrieve metadata template details by ID. + +**Parameters** + +- **metadata_instance_id** (`string`, required) The ID of the metadata template instance to retrieve details for. +- **pagination_position_marker** (`string`, optional) Defines the starting position for marker-based pagination results. Requires `usemarker` to be `true`. +- **items_per_page_limit** (`integer`, optional) Specify the maximum number of items to return per page for pagination purposes. + +## BoxApi.GetClassificationMetadata + +
+ + +Retrieve classification metadata template for the enterprise. + +**Parameters** + +This tool does not take any parameters. + +## BoxApi.RetrieveMetadataTemplate + +
+ + +Retrieve a metadata template by scope and template key. + +**Parameters** + +- **metadata_template_scope** (`string`, required) Specifies the scope for the metadata template. Choose between 'global' or 'enterprise'. +- **metadata_template_name** (`string`, required) The name of the metadata template to retrieve its details. + +## BoxApi.DeleteMetadataTemplate + +
+ + +Permanently delete a metadata template and its instances. + +**Parameters** + +- **metadata_template_scope** (`string`, required) Specifies the scope of the metadata template. Allowed values are 'global' or 'enterprise'. +- **metadata_template_name** (`string`, required) The name of the metadata template to be permanently deleted. + +## BoxApi.FetchMetadataTemplateById + +
+ + +Retrieve a metadata template using its ID. + +**Parameters** + +- **template_id** (`string`, required) The unique identifier for the metadata template to be retrieved. Provide a valid template ID. + +## BoxApi.RetrieveGlobalMetadataTemplates + +
+ + +Fetches global metadata templates from Box. + +**Parameters** + +- **pagination_start_marker** (`string`, optional) Specifies the position marker to begin returning results for paginated data. +- **max_items_per_page** (`integer`, optional) The maximum number of metadata templates to return per page from the Box global templates. + +## BoxApi.RetrieveEnterpriseMetadataTemplates + +
+ + +Retrieve metadata templates for the user's enterprise. + +**Parameters** + +- **pagination_start_marker** (`string`, optional) Position marker to begin returning results, used with marker-based pagination. Requires `usemarker` to be `true`. +- **maximum_items_per_page** (`integer`, optional) The maximum number of items to return per page when retrieving metadata templates. + +## BoxApi.GetMetadataCascadePolicies + +
+ + +Retrieve metadata cascade policies for a folder. + +**Parameters** + +- **target_folder_id** (`string`, required) The ID of the folder to query for metadata cascade policies. The root folder with ID '0' is not allowed. +- **owner_enterprise_id** (`string`, optional) The ID of the enterprise to find metadata cascade policies for. Defaults to the current enterprise if not specified. +- **pagination_marker** (`string`, optional) Position marker for paginating results. Set `usemarker` to true to enable. +- **response_offset** (`integer`, optional) The offset at which to begin the response, must not exceed 10000. + +## BoxApi.RetrieveMetadataCascadePolicy + +
+ + +Retrieve a specific metadata cascade policy for a folder. + +**Parameters** + +- **metadata_cascade_policy_id** (`string`, required) The unique identifier for the metadata cascade policy to retrieve. + +## BoxApi.DeleteMetadataCascadePolicy + +
+ + +Deletes a metadata cascade policy by ID. + +**Parameters** + +- **metadata_cascade_policy_id** (`string`, required) The unique ID of the metadata cascade policy to be deleted. Ensure it is valid and exists. + +## BoxApi.FetchCommentDetails + +
+ + +Retrieve detailed information about a specific comment. + +**Parameters** + +- **comment_id** (`string`, required) The unique identifier for the comment whose details are being fetched. This ID is required to retrieve the comment's message, metadata, and creator information. +- **include_fields** (`array[string]`, optional) A list of attributes to include in the response. Only specified fields will be returned along with the mini representation. + +## BoxApi.DeleteComment + +
+ + +Permanently deletes a specific comment by ID. + +**Parameters** + +- **comment_id** (`string`, required) The unique identifier of the comment you want to permanently delete. + +## BoxApi.GetCollaborationDetails + +
+ + +Retrieve details of a specific collaboration. + +**Parameters** + +- **collaboration_id** (`string`, required) The unique identifier for the collaboration to retrieve details about. +- **include_fields** (`array[string]`, optional) List of specific attributes to include in the response, which are not typically returned. Specify explicitly to retrieve these fields. + +## BoxApi.DeleteCollaboration + +
+ + +Deletes a specified collaboration by ID. + +**Parameters** + +- **collaboration_id_to_delete** (`string`, required) The unique identifier of the collaboration to be deleted. Provide this ID to remove the specified collaboration. + +## BoxApi.GetPendingCollaborationInvites + +
+ + +Retrieve user's pending collaboration invites from Box. + +**Parameters** + +- **collaboration_status** (`string`, required) Set to 'pending' to retrieve all pending collaboration invitations. +- **include_attributes** (`array[string]`, optional) List of attribute names to include in the response. This overrides default fields, returning only specified attributes. +- **starting_item_offset** (`integer`, optional) Starting index for the response items. Cannot exceed 10000 to avoid errors. +- **maximum_items_per_page** (`integer`, optional) The maximum number of collaboration invites to return per page. + +## BoxApi.RetrieveTaskInformation + +
+ + +Fetch details of a specific task by ID. + +**Parameters** + +- **task_id** (`string`, required) The unique identifier for the specific task to retrieve information about. + +## BoxApi.DeleteTaskFromFile + +
+ + +Removes a specific task from a file. + +**Parameters** + +- **task_identifier** (`string`, required) The unique identifier for the task to be removed from the file. + +## BoxApi.ListTaskAssignments + +
+ + +Retrieve all assignments for a specified task. + +**Parameters** + +- **task_id** (`string`, required) The unique identifier of the task for which assignments need to be retrieved. It must be provided as a string. + +## BoxApi.RetrieveTaskAssignmentInfo + +
+ + +Retrieve detailed information about a task assignment. + +**Parameters** + +- **task_assignment_id** (`string`, required) The unique identifier for the task assignment to retrieve its details. + +## BoxApi.DeleteTaskAssignment + +
+ + +Delete a specific task assignment. + +**Parameters** + +- **task_assignment_id** (`string`, required) The unique identifier of the task assignment to be deleted. + +## BoxApi.RetrieveSharedFileInfo + +
+ + +Retrieve file information from a shared link. + +**Parameters** + +- **shared_link_credentials** (`string`, required) A header string containing the shared link and optional password. Format: `shared_link=[link]&shared_link_password=[password]`. +- **include_attributes_in_response** (`array[string]`, optional) A list of attributes to include in the response, specifying non-standard fields and affecting returned data format. +- **etag_for_change_detection** (`string`, optional) Pass the last observed etag value to return the item only if it has changed. + +## BoxApi.GetSharedLinkInfo + +
+ + +Retrieve shared link details for a specific file. + +**Parameters** + +- **include_shared_link_fields** (`string`, required) Specify if the `shared_link` fields should be explicitly returned for the file item. +- **file_identifier** (`string`, required) The unique identifier for a file, found in the URL when accessing a file in the web application (e.g., for the URL `https://*.app.box.com/files/123`, the `file_id` is `123`). + +## BoxApi.GetSharedFolderInfo + +
+ + +Retrieve folder details using a shared link. + +**Parameters** + +- **shared_link_header** (`string`, required) A string containing the shared link and optional password formatted as 'shared_link=[link]&shared_link_password=[password]'. +- **include_fields** (`array[string]`, optional) A list of specific attributes to include in the response. Only these fields will be returned unless explicitly specified otherwise. +- **etag_condition** (`string`, optional) Provide the last observed etag to receive the item only if it has changed. Useful for caching and reducing unnecessary data transfer. + +## BoxApi.GetFolderSharedLinkInfo + +
+ + +Retrieve information for a shared link on a folder. + +**Parameters** + +- **include_shared_link_fields** (`string`, required) Specify if the shared_link fields should be explicitly returned for this folder. +- **folder_identifier** (`string`, required) The unique ID of the folder to retrieve shared link info for. It can be found in the folder URL in Box or use '0' for the root folder. + +## BoxApi.RetrieveWebLinkInfo + +
+ + +Retrieve information about a specific web link. + +**Parameters** + +- **web_link_id** (`string`, required) The unique identifier for the web link to retrieve information about. +- **shared_link_access_details** (`string`, optional) The URL and optional password for accessing the shared link, formatted as `shared_link=[link]` or `shared_link=[link]&shared_link_password=[password]`. Use this to access items not explicitly shared with a user. + +## BoxApi.DeleteWebLink + +
+ + +Delete a specified web link based on its ID. + +**Parameters** + +- **web_link_id** (`string`, required) The unique identifier for the web link to be deleted. + +## BoxApi.RetrieveTrashedWebLink + +
+ + +Retrieves a web link that has been moved to the trash. + +**Parameters** + +- **web_link_id** (`string`, required) The unique identifier of the web link to retrieve from the trash. +- **include_fields_in_response** (`array[string]`, optional) List of attributes to include in the response, overriding standard fields; only mini representation plus these fields will be returned. + +## BoxApi.PermanentlyDeleteTrashedWebLink + +
+ + +Permanently delete a trashed web link. + +**Parameters** + +- **web_link_identifier** (`string`, required) The unique identifier of the web link to be permanently deleted from the trash. This ID is required to specify which web link should be removed. + +## BoxApi.RetrieveSharedWebLink + +
+ + +Retrieve information about a shared web link using a shared link. + +**Parameters** + +- **shared_link_header** (`string`, required) A string containing the shared link and optional password in the format: 'shared_link=[link]&shared_link_password=[password]'. +- **include_attributes_in_response** (`array[string]`, optional) A list of attributes to include in the response. Only specified fields and fields for the mini representation will be returned. +- **etag_if_updated_only** (`string`, optional) Provide the last observed etag value to only return the web link if it has been updated. This helps avoid unnecessary data transfer if no changes have occurred. + +## BoxApi.GetSharedWebLinkInfo + +
+ + +Retrieve shared link information for a web link. + +**Parameters** + +- **request_shared_link_fields** (`string`, required) Specify the shared link fields to be explicitly returned for the web link. +- **web_link_identifier** (`string`, required) The ID of the web link for which to retrieve shared link information. + +## BoxApi.GetSharedAppItem + +
+ + +Retrieve details of an app item using a shared link. + +**Parameters** + +- **shared_link_information** (`string`, required) A string with the format `shared_link=[link]&shared_link_password=[password]`, containing the shared link and an optional password. + +## BoxApi.ListEnterpriseUsers + +
+ + +Retrieve all users in the enterprise. + +**Parameters** + +- **search_term_for_user_filtering** (`string`, optional) Limits results to users whose name or login begins with the specified term. Complete match required for external users. +- **user_type_filter** (`string`, optional) Specify the type of users to include: 'all', 'managed', or 'external'. +- **filter_by_external_app_user_id** (`string`, optional) Filter results to app users with the specified external app user ID. Used for retrieving users matching this ID. +- **include_additional_fields** (`array[string]`, optional) Specify additional attributes for inclusion in the response. Only selected fields and mini representation fields will be returned. +- **response_offset** (`integer`, optional) The starting point for the response; queries exceeding 10000 will return a 400 error. +- **max_items_per_page** (`integer`, optional) The maximum number of user records to return per page. +- **pagination_start_marker** (`string`, optional) Defines the position marker where results begin when using marker-based pagination. Requires `usemarker` set to `true`. +- **use_marker_pagination** (`boolean`, optional) Set to true to use marker-based pagination. This enables a `marker` field in the response for pagination. + +## BoxApi.GetAuthenticatedUserInfo + +
+ + +Retrieve details of the currently authenticated user. + +**Parameters** + +- **requested_user_attributes** (`array[string]`, optional) List of user attributes to include in the response. Use to request non-standard fields, results in basic fields only unless specified. + +## BoxApi.GetUserInformation + +
+ + +Retrieve detailed user information in the enterprise. + +**Parameters** + +- **user_identifier** (`string`, required) The unique identifier for the user whose information you want to retrieve. +- **requested_user_fields** (`array[string]`, optional) An array of attributes to include in the response. Only specified fields are returned unless otherwise stated. + +## BoxApi.DeleteUserAccount + +
+ + +Delete a user account from the system. + +**Parameters** + +- **user_id** (`string`, required) The unique identifier for the user to be deleted. Required for specifying which user account to delete. +- **send_deletion_notification** (`boolean`, optional) Indicate whether the user should receive an email notification about the deletion. Set to true to send notification. +- **force_delete_user** (`boolean`, optional) Set to true to delete the user and their files even if they still own content. + +## BoxApi.GetUserAvatar + +
+ + +Retrieve the image of a user's avatar. + +**Parameters** + +- **user_id** (`string`, required) The ID of the user whose avatar you want to retrieve. + +## BoxApi.RemoveUserAvatar + +
+ + +Removes a user's existing avatar. + +**Parameters** + +- **user_identifier** (`string`, required) The unique identifier of the user whose avatar is to be deleted. Ensure this ID is correct, as the operation cannot be reversed. + +## BoxApi.GetUserEmailAliases + +
+ + +Retrieve all email aliases for a specific user. + +**Parameters** + +- **user_identifier** (`string`, required) The unique ID of the user to retrieve email aliases for, formatted as a string. + +## BoxApi.RemoveUserEmailAlias + +
+ + +Removes an email alias from a user account. + +**Parameters** + +- **user_identifier** (`string`, required) The unique ID of the user whose email alias is to be removed. +- **email_alias_id** (`string`, required) The unique identifier of the email alias to be removed. This is required to specify which alias to delete from the user account. + +## BoxApi.GetUserGroupMemberships + +
+ + +Retrieve all groups a user belongs to. + +**Parameters** + +- **user_identifier** (`string`, required) The ID of the user to retrieve group memberships for. +- **max_items_per_page** (`integer`, optional) Maximum number of items to return per page. Set an integer value to limit the results displayed at once. +- **response_offset** (`integer`, optional) The starting point offset for the response items. Must be 10000 or less. + +## BoxApi.CheckUserInviteStatus + +
+ + +Retrieve the status of a specific user invite. + +**Parameters** + +- **invite_id** (`string`, required) The unique identifier for the user invite you want to check. This ID is necessary to retrieve the invite's status. +- **included_attributes** (`array[string]`, optional) A list of attributes to include in the response. Specify attributes not normally returned in a standard response. Only the mini representation fields are returned unless explicitly specified. + +## BoxApi.RetrieveEnterpriseGroups + +
+ + +Retrieve all groups for an enterprise with admin rights. + +**Parameters** + +- **group_name_starts_with** (`string`, optional) Returns groups whose names start with this search term. +- **included_attributes** (`array[string]`, optional) List of specific attributes to include in the response. Defaults to mini representation if unspecified. +- **max_items_per_page** (`integer`, optional) The maximum number of groups to return per page. +- **starting_item_offset** (`integer`, optional) The offset of the item at which to begin the response. Ensure the value does not exceed 10000 to avoid errors. + +## BoxApi.RetrieveGroupInfo + +
+ + +Retrieve detailed information about a specified group. + +**Parameters** + +- **group_id** (`string`, required) The unique identifier of the group to retrieve information for. Ensure the user has the necessary permissions. +- **include_additional_fields** (`array[string]`, optional) A list of attributes to include in the response. Only specified fields will be returned alongside default mini representation fields. + +## BoxApi.DeleteGroup + +
+ + +Permanently delete a group with admin permissions. + +**Parameters** + +- **group_id** (`string`, required) The unique identifier of the group to be permanently deleted. Must be used by an admin. + +## BoxApi.RetrieveGroupMemberships + +
+ + +Fetch members of a specified group. + +**Parameters** + +- **group_identifier** (`string`, required) The unique ID of the group to fetch its members. Only members or admins can access this. +- **max_items_per_page** (`integer`, optional) Specify the maximum number of members to retrieve per page. +- **response_offset** (`integer`, optional) The starting point for retrieving members. Must not exceed 10000 to avoid errors. + +## BoxApi.GetGroupCollaborations + +
+ + +Retrieve collaborations for a specified group. + +**Parameters** + +- **group_id** (`string`, required) The unique identifier of the group whose collaborations you want to retrieve. This ID is required to specify the group. +- **max_items_per_page** (`integer`, optional) Specifies the maximum number of collaboration items to return per page. Accepts an integer value. +- **response_offset** (`integer`, optional) Starting point in the list of collaborations. Must be an integer not exceeding 10000 to avoid rejection. + +## BoxApi.RetrieveGroupMembership + +
+ + +Fetch details of a specific group membership. + +**Parameters** + +- **group_membership_id** (`string`, required) The unique identifier for the specific group membership to retrieve. Only admins or users with admin-level permissions can access this information. +- **include_fields_list** (`array[string]`, optional) List of specific attributes to include in the response, overriding standard fields. + +## BoxApi.DeleteGroupMembership + +
+ + +Delete a specific group membership by ID. + +**Parameters** + +- **group_membership_id** (`string`, required) The unique identifier for the group membership to be deleted. Required for specifying which membership to remove. + +## BoxApi.ListDefinedWebhooks + +
+ + +Retrieve all webhooks for your application. + +**Parameters** + +- **pagination_start_marker** (`string`, optional) The position marker to start returning results from. Required for marker-based pagination with `usemarker` set to `true`. +- **maximum_items_per_page** (`integer`, optional) The maximum number of webhooks to return per page. + +## BoxApi.GetSpecificWebhook + +
+ + +Retrieve details of a specific webhook by ID. + +**Parameters** + +- **webhook_id** (`string`, required) The unique identifier of the webhook to retrieve details for. + +## BoxApi.DeleteWebhook + +
+ + +Delete a specified webhook. + +**Parameters** + +- **webhook_id** (`string`, required) The unique identifier of the webhook to be deleted. It must be a valid string. + +## BoxApi.GetBoxEvents + +
+ + +Retrieve up to a year of past events for a user or enterprise. + +**Parameters** + +- **event_stream_type** (`string`, optional) Specifies the category of events to retrieve. Options: 'all' for all user events, 'changes' for file updates, 'sync' for synced folders, 'admin_logs' for full enterprise events (requires admin), and 'admin_logs_streaming' for live enterprise events (requires admin). +- **event_stream_start_position** (`string`, optional) Specifies where to start receiving events in the stream. Use 'now' for initialization or '0' to retrieve all events. +- **event_limit** (`integer`, optional) The maximum number of events to retrieve. Fewer events may be returned if already available. +- **event_type_filter** (`array[string]`, optional) List of event types to filter by. Only applicable for 'admin_logs' or 'admin_logs_streaming' stream types. +- **event_start_date** (`string`, optional) The start date and time for filtering events. Used only with 'admin_logs' stream type. +- **event_time_upper_bound** (`string`, optional) The upper bound date and time for returning events, used only with 'admin_logs' stream type. Ignored for other stream types. + +## BoxApi.RetrieveUserCollections + +
+ + +Retrieve collections for a user, including favorites. + +**Parameters** + +- **requested_fields** (`array[string]`, optional) A list of attribute names to include in the response. Only specified fields will be returned along with the mini representation. +- **pagination_offset** (`integer`, optional) Offset of the item to start the response. Must be 10000 or less to avoid rejection with a 400 error. +- **maximum_items_per_page** (`integer`, optional) The maximum number of items to return per page when retrieving user collections. + +## BoxApi.RetrieveCollectionContents + +
+ + +Fetch files and folders from a specific collection. + +**Parameters** + +- **collection_id** (`string`, required) The unique identifier for the collection whose contents are to be retrieved. +- **attributes_to_include** (`array[string]`, optional) List of attributes to include in the response. Only the specified fields will be returned alongside the mini representation. +- **response_offset** (`integer`, optional) The starting position in the collection. Must not exceed 10000 to avoid errors. +- **max_items_per_page** (`integer`, optional) Specifies the maximum number of items to return per page when retrieving the collection contents. This controls pagination and helps manage large datasets. + +## BoxApi.RetrieveCollectionById + +
+ + +Retrieve details of a collection using its ID. + +**Parameters** + +- **collection_identifier** (`string`, required) The unique ID of the collection to retrieve details for. + +## BoxApi.GetRecentItemsInfo + +
+ + +Fetch recent items accessed by a user in Box. + +**Parameters** + +- **include_additional_fields** (`array[string]`, optional) A list of attributes to include in the response, overriding the default fields. +- **max_items_per_page** (`integer`, optional) The maximum number of items to return per page when fetching recent items accessed by a user. +- **pagination_start_marker** (`string`, optional) A position marker to begin returning results, used for marker-based pagination. Requires `usemarker=true`. + +## BoxApi.GetEnterpriseRetentionPolicies + +
+ + +Retrieve all retention policies for an enterprise. + +**Parameters** + +- **filter_by_policy_name_prefix** (`string`, optional) Filter results using a case-sensitive prefix for retention policy names. +- **filter_by_retention_policy_type** (`string`, optional) Filter retention policies by type: 'finite' or 'indefinite'. +- **filter_by_creator_user_id** (`string`, optional) Filters the retention policies by the ID of the user who created them. Provide the user ID for specific filtering. +- **include_fields** (`array[string]`, optional) A list of attributes to include in the response, replacing standard fields unless specified. +- **maximum_items_per_page** (`integer`, optional) The maximum number of retention policies to return per page. +- **pagination_start_marker** (`string`, optional) Defines the position marker to begin returning results for marker-based pagination. + +## BoxApi.GetRetentionPolicy + +
+ + +Retrieve details of a specified retention policy. + +**Parameters** + +- **retention_policy_id** (`string`, required) The ID of the retention policy to retrieve details for. This ID is essential for accessing the specific policy information. +- **include_attributes** (`array[string]`, optional) List of attributes to include in the response. Standard fields are omitted unless explicitly specified. + +## BoxApi.DeleteRetentionPolicy + +
+ + +Permanently deletes a specified retention policy. + +**Parameters** + +- **retention_policy_id** (`string`, required) The unique identifier of the retention policy to be permanently deleted. + +## BoxApi.GetRetentionPolicyAssignments + +
+ + +Retrieve retention policy assignments by policy ID. + +**Parameters** + +- **retention_policy_id** (`string`, required) The unique identifier of the retention policy to retrieve assignments for. +- **assignment_type** (`string`, optional) The type of retention policy assignment to retrieve, such as 'folder', 'enterprise', or 'metadata_template'. +- **include_fields_in_response** (`array[string]`, optional) A list of attribute names to include in the response. These specify additional fields to return beyond the standard response. +- **pagination_start_marker** (`string`, optional) The position marker to begin returning results for marker-based pagination. +- **max_items_per_page** (`integer`, optional) The maximum number of items to return per page when retrieving retention policy assignments. + +## BoxApi.RetrieveRetentionPolicyAssignment + +
+ + +Fetch details of a retention policy assignment by ID. + +**Parameters** + +- **retention_policy_assignment_id** (`string`, required) The ID of the specific retention policy assignment to retrieve details for. +- **include_fields_in_response** (`array[string]`, optional) A list of attributes to include in the response. If specified, standard fields are excluded unless explicitly mentioned. + +## BoxApi.RemoveRetentionPolicyAssignment + +
+ + +Removes a retention policy assignment from content. + +**Parameters** + +- **retention_policy_assignment_id** (`string`, required) The unique identifier for the retention policy assignment to be removed. + +## BoxApi.ListFilesUnderRetentionPolicy + +
+ + +Retrieve files under a retention policy assignment. + +**Parameters** + +- **retention_policy_assignment_id** (`string`, required) The ID of the retention policy assignment used to identify which retention policy's files to retrieve. +- **position_marker** (`string`, optional) A string to define where to start returning results for pagination using marker-based pagination. Requires `usemarker` to be `true`. +- **max_items_per_page** (`integer`, optional) The maximum number of files to retrieve per page. Determines the page size for the results. + +## BoxApi.GetFileVersionsUnderRetention + +
+ + +Fetch file versions under a specific retention policy assignment. + +**Parameters** + +- **retention_policy_assignment_id** (`string`, required) The ID of the retention policy assignment to retrieve file versions under retention. +- **pagination_start_marker** (`string`, optional) Defines the position marker to start returning results. Requires `usemarker` to be `true` for marker-based pagination. +- **max_items_per_page** (`integer`, optional) Specifies the maximum number of file versions to return per page during retrieval. + +## BoxApi.RetrieveLegalHoldPolicies + +
+ + +Retrieve a list of enterprise legal hold policies. + +**Parameters** + +- **policy_name_prefix** (`string`, optional) Limits results to policies where names start with this term. It's case-insensitive. +- **response_attributes** (`array[string]`, optional) A list of attributes to include in the response. Only the specified fields and mini representation fields will be returned. +- **pagination_marker** (`string`, optional) The position marker to start returning results, used for marker-based pagination. Requires `usemarker` to be `true`. +- **maximum_items_per_page** (`integer`, optional) The maximum number of items to return per page. This controls the number of legal hold policies retrieved in a single request. + +## BoxApi.RetrieveLegalHoldPolicy + +
+ + +Retrieve information about a specific legal hold policy. + +**Parameters** + +- **legal_hold_policy_id** (`string`, required) The unique identifier for the specific legal hold policy to retrieve. + +## BoxApi.DeleteLegalHoldPolicy + +
+ + +Initiate deletion of a legal hold policy. + +**Parameters** + +- **legal_hold_policy_id** (`string`, required) The ID of the legal hold policy to delete. This is necessary to identify and initiate the deletion of the specified policy. + +## BoxApi.GetLegalHoldPolicyAssignments + +
+ + +Retrieve items assigned to a legal hold policy. + +**Parameters** + +- **legal_hold_policy_id** (`string`, required) The unique identifier for the legal hold policy to retrieve assignments for. +- **filter_by_assignment_type** (`string`, optional) Specify the type of item (e.g., file, folder, user, etc.) the policy was applied to. Choices: ['file', 'file_version', 'folder', 'user', 'ownership', 'interactions']. +- **filter_by_item_id** (`string`, optional) Filters results by the ID of the item the policy was applied to. +- **pagination_marker** (`string`, optional) Specifies the position to start retrieving results using marker-based pagination. Requires `usemarker` to be set to `true`. +- **maximum_items_per_page** (`integer`, optional) Set the maximum number of items to retrieve per page for optimal pagination control. +- **response_fields** (`array[string]`, optional) List of attributes to include in the response, overriding standard fields unless specified. + +## BoxApi.RetrieveLegalHoldPolicyAssignment + +
+ + +Retrieve details of a specific legal hold policy assignment. + +**Parameters** + +- **legal_hold_policy_assignment_id** (`string`, required) The unique identifier for the legal hold policy assignment to retrieve details about. + +## BoxApi.RemoveLegalHoldFromItem + +
+ + +Initiate removal of a legal hold from an item. + +**Parameters** + +- **legal_hold_policy_assignment_id** (`string`, required) The unique identifier for the legal hold policy assignment you wish to remove. This value is necessary to initiate the removal process. + +## BoxApi.GetFilesOnLegalHold + +
+ + +Retrieve files currently on legal hold for a specific assignment. + +**Parameters** + +- **legal_hold_policy_assignment_id** (`string`, required) The ID of the legal hold policy assignment to retrieve files currently on hold. +- **pagination_marker** (`string`, optional) Position marker for starting the result set when using marker-based pagination. Requires the 'usemarker' parameter to be true. +- **maximum_items_per_page** (`integer`, optional) The maximum number of items to return per page. Use this to control pagination size. +- **included_attributes** (`array[string]`, optional) A list of specific attributes to include in the response. Only these attributes will be returned unless others are explicitly specified. Use this to customize the response fields. + +## BoxApi.GetFileVersionRetentions + +
+ + +Retrieve file version retentions for an enterprise. + +**Parameters** + +- **filter_by_file_id** (`string`, optional) Filters results to include only files with this specific file ID. +- **filter_by_file_version_id** (`string`, optional) Filters results by file versions matching this ID. +- **retention_policy_id** (`string`, optional) Filter results by the specific retention policy ID. +- **filter_by_disposition_action** (`string`, optional) Filter results based on the retention policy's disposition action, such as 'permanently_delete' or 'remove_retention'. +- **filter_by_disposition_before_date** (`string`, optional) Provide a date to filter results by files that will have their disposition come into effect before this date. Format: YYYY-MM-DD. +- **disposition_effective_after_date** (`string`, optional) Filter results by files with disposition effective after this date. Use ISO 8601 format (e.g., '2023-10-01'). +- **max_items_per_page** (`integer`, optional) The maximum number of items to return per page. +- **pagination_start_marker** (`string`, optional) Defines the starting point for paginated results using a position marker. Requires marker-based pagination to be enabled. + +## BoxApi.GetFileVersionsOnLegalHold + +
+ + +Retrieve previous file versions under a legal hold assignment. + +**Parameters** + +- **legal_hold_policy_assignment_id** (`string`, required) The ID of the legal hold policy assignment to retrieve previous file versions for. +- **pagination_start_marker** (`string`, optional) Defines the position marker to start returning results for paginated data retrieval. Requires `usemarker` to be set to `true`. +- **max_items_per_page** (`integer`, optional) The maximum number of items to return per page when retrieving file versions. +- **include_additional_fields_in_response** (`array[string]`, optional) List of attribute names to include in the response. Only specified fields and mini representation fields will be returned. + +## BoxApi.GetFileVersionRetentionInfo + +
+ + +Retrieve details of a file version retention. + +**Parameters** + +- **file_version_retention_id** (`string`, required) The ID of the specific file version retention to retrieve information for. This is required to access retention details. + +## BoxApi.RetrieveFileVersionLegalHolds + +
+ + +Get details of legal holds on a specific file version. + +**Parameters** + +- **file_version_legal_hold_id** (`string`, required) The unique identifier of the file version legal hold to retrieve specific legal hold policy details. + +## BoxApi.GetLegacyFileVersionLegalHolds + +
+ + +Retrieve file versions on legal hold in the legacy system. + +**Parameters** + +- **legal_hold_policy_id** (`string`, required) The ID of the legal hold policy for which file version legal holds need to be retrieved. +- **pagination_marker** (`string`, optional) A string that defines the starting point for marker-based pagination. Requires `usemarker` to be true. +- **max_items_per_page** (`integer`, optional) Specify the maximum number of items to return per page for the request. + +## BoxApi.GetShieldInformationBarrier + +
+ + +Retrieve shield information barrier by ID. + +**Parameters** + +- **shield_information_barrier_id** (`string`, required) The unique identifier for the shield information barrier to be retrieved. + +## BoxApi.GetShieldInformationBarriers + +
+ + +Retrieve shield information barriers for the enterprise. + +**Parameters** + +- **pagination_marker** (`string`, optional) Defines the starting point for paginated results using marker-based pagination. +- **max_items_per_page** (`integer`, optional) The maximum number of shield information barrier objects to return per page. This controls the pagination size. + +## BoxApi.GetShieldInformationBarrierReports + +
+ + +Retrieve shield information barrier reports. + +**Parameters** + +- **shield_information_barrier_id** (`string`, required) The unique identifier for the shield information barrier whose reports need to be fetched. +- **pagination_marker** (`string`, optional) Position marker to start returning results for pagination. Requires 'usemarker' set to 'true'. +- **maximum_items_per_page** (`integer`, optional) The maximum number of shield information barrier reports to return per page. This integer value controls the page size for result sets. + +## BoxApi.FetchShieldBarrierReport + +
+ + +Retrieve details of a shield information barrier report by ID. + +**Parameters** + +- **shield_barrier_report_id** (`string`, required) The unique ID of the shield information barrier report to retrieve. + +## BoxApi.GetShieldInfoBarrierSegment + +
+ + +Retrieve shield information barrier segment by ID. + +**Parameters** + +- **barrier_segment_id** (`string`, required) The unique ID of the shield information barrier segment to be retrieved. + +## BoxApi.DeleteShieldInformationBarrierSegment + +
+ + +Delete a shield information barrier segment by ID. + +**Parameters** + +- **shield_information_barrier_segment_id** (`string`, required) The ID of the shield information barrier segment to delete. This should be a valid string representing the segment's unique identifier. + +## BoxApi.GetShieldInformationBarrierSegments + +
+ + +Retrieve shield information barrier segment details. + +**Parameters** + +- **shield_information_barrier_id** (`string`, required) The unique identifier for the shield information barrier that specifies the segment objects to retrieve. +- **pagination_position_marker** (`string`, optional) Defines the position marker to start returning results from, used for marker-based pagination. Requires usemarker to be true. +- **maximum_items_per_page** (`integer`, optional) The maximum number of shield information barrier segment items to return in a single request. Ideal for controlling page size during pagination. + +## BoxApi.GetShieldInfoBarrierMember + +
+ + +Retrieve details of a shield information barrier segment member. + +**Parameters** + +- **member_id** (`string`, required) The ID of the shield information barrier segment member to retrieve details for. + +## BoxApi.RemoveShieldBarrierMember + +
+ + +Delete a shield information barrier segment member by ID. + +**Parameters** + +- **member_id_for_deletion** (`string`, required) The ID of the shield information barrier segment member to be deleted. + +## BoxApi.ListShieldBarrierSegmentMembers + +
+ + +Retrieve members of shield information barrier segments. + +**Parameters** + +- **segment_id** (`string`, required) The ID of the shield information barrier segment to retrieve members for. +- **pagination_marker** (`string`, optional) The position marker to begin returning paginated results. Requires `usemarker` to be `true`. +- **items_per_page_limit** (`integer`, optional) The maximum number of segment members to return per page. Use this to control pagination by specifying the number of results per page. + +## BoxApi.GetShieldInformationBarrierSegmentInfo + +
+ + +Retrieve shield barrier segment restriction by ID. + +**Parameters** + +- **segment_restriction_id** (`string`, required) The unique identifier for the shield information barrier segment restriction. + +## BoxApi.DeleteShieldBarrierSegmentRestriction + +
+ + +Delete a specific shield barrier segment restriction by ID. + +**Parameters** + +- **barrier_segment_restriction_id** (`string`, required) The ID of the shield information barrier segment restriction to delete. + +## BoxApi.GetShieldInformationRestrictions + +
+ + +Retrieve restrictions for a shield information barrier segment. + +**Parameters** + +- **segment_id** (`string`, required) The unique identifier for the shield information barrier segment to retrieve restrictions. +- **pagination_position_marker** (`string`, optional) Defines the position marker to begin results, used for marker-based pagination. Requires `usemarker` to be `true`. +- **max_items_per_page** (`integer`, optional) The maximum number of items to return per page when retrieving shield information barrier segment restrictions. + +## BoxApi.GetDevicePinInfo + +
+ + +Retrieve details of a specific device pin. + +**Parameters** + +- **device_pin_identifier** (`string`, required) The unique identifier for the device pin to retrieve information about. + +## BoxApi.DeleteDevicePin + +
+ + +Delete a specific device pin from the system. + +**Parameters** + +- **device_pin_id** (`string`, required) The unique identifier of the device pin to be deleted. + +## BoxApi.GetEnterpriseDevicePins + +
+ + +Retrieve all device pins for a specific enterprise. + +**Parameters** + +- **enterprise_id** (`string`, required) The unique identifier for the enterprise whose device pins are to be retrieved. This is a mandatory field. +- **pagination_start_marker** (`string`, optional) Defines the starting position for paginated results. Requires 'usemarker' to be true. +- **max_items_per_page** (`integer`, optional) The maximum number of device pins to retrieve per page. +- **sort_direction** (`string`, optional) The direction to sort results: alphabetical ascending ('ASC') or descending ('DESC'). + +## BoxApi.GetEnterpriseTermsOfService + +
+ + +Retrieve the enterprise's terms of service. + +**Parameters** + +- **terms_of_service_type** (`string`, optional) Specify the type of terms of service to retrieve. Options are 'external' or 'managed'. + +## BoxApi.GetSpecificTermsOfService + +
+ + +Fetches details of a specific terms of service. + +**Parameters** + +- **terms_of_service_id** (`string`, required) The unique identifier for the terms of service to be fetched. + +## BoxApi.GetUserTosStatus + +
+ + +Retrieve user acceptance status for terms of service. + +**Parameters** + +- **terms_of_service_id** (`string`, required) The unique identifier for the specific terms of service document. +- **filter_by_user_id** (`string`, optional) Limits results to the specified user ID for retrieving their terms of service acceptance status. + +## BoxApi.GetSafeCollaborationDomains + +
+ + +Retrieve domains approved for safe collaboration. + +**Parameters** + +- **pagination_start_marker** (`string`, optional) The position marker to begin returning results, used for marker-based pagination. Requires `usemarker` to be `true`. +- **maximum_items_per_page** (`integer`, optional) The maximum number of domains to return per page. Adjust this to control the page size of results. + +## BoxApi.FetchSafeCollaborationDomain + +
+ + +Retrieve a designated safe collaboration domain within an enterprise. + +**Parameters** + +- **collaboration_whitelist_entry_id** (`string`, required) The ID of the trusted domain entry in the whitelist. Provide this to retrieve its details. + +## BoxApi.RemoveSafeCollaborationDomain + +
+ + +Remove a domain from the safe collaboration list. + +**Parameters** + +- **whitelist_entry_id** (`string`, required) The unique identifier for the domain entry in the safe collaboration list to be removed. + +## BoxApi.GetCollaborationWhitelistExemptUsers + +
+ + +Retrieve users exempt from collaboration restrictions. + +**Parameters** + +- **pagination_position_marker** (`string`, optional) Start position for returning results. Used for marker-based pagination. Requires `usemarker` set to `true`. +- **max_items_per_page** (`integer`, optional) The maximum number of users to return per page. Controls pagination size. + +## BoxApi.GetCollaborationWhitelistExemptUser + +
+ + +Retrieve user exempt from collaboration restrictions. + +**Parameters** + +- **exemption_target_id** (`string`, required) The ID of the user who is exempt from collaboration domain restrictions. This ID is required to retrieve specific user details. + +## BoxApi.RemoveCollaborationWhitelistExemption + +
+ + +Remove a user's exemption from domain restrictions in collaborations. + +**Parameters** + +- **exemption_id** (`string`, required) The ID of the user's exemption to be removed from the collaboration whitelist. + +## BoxApi.FetchEnterpriseStoragePolicies + +
+ + +Fetches all storage policies in the enterprise. + +**Parameters** + +- **include_attributes** (`array[string]`, optional) An array of attribute names to include in the response. Specify attributes not normally returned in a standard response. Only mini representation fields and requested attributes will be returned. +- **pagination_marker** (`string`, optional) Defines the starting position for returning results using marker-based pagination. Requires `usemarker` to be `true`. +- **max_items_per_page** (`integer`, optional) Specify the maximum number of storage policy items to return per page. + +## BoxApi.FetchStoragePolicy + +
+ + +Retrieve details of a specific storage policy. + +**Parameters** + +- **storage_policy_identifier** (`string`, required) The unique ID of the storage policy to retrieve details for. + +## BoxApi.FetchStoragePolicyAssignments + +
+ + +Retrieve storage policy assignments for enterprise or user. + +**Parameters** + +- **target_type_for_assignments** (`string`, required) Specifies whether to return storage policy assignments for a 'user' or 'enterprise'. +- **target_user_or_enterprise_id** (`string`, required) The ID of the user or enterprise to fetch storage policy assignments for. +- **pagination_marker** (`string`, optional) Defines the position marker to start returning results for pagination. Requires 'usemarker' to be true. + +## BoxApi.FetchStoragePolicyAssignment + +
+ + +Retrieve a storage policy assignment by ID. + +**Parameters** + +- **storage_policy_assignment_id** (`string`, required) The unique identifier of the storage policy assignment to be retrieved. + +## BoxApi.DeleteStoragePolicyAssignment + +
+ + +Delete a user's storage policy assignment. + +**Parameters** + +- **storage_policy_assignment_id** (`string`, required) The ID of the storage policy assignment to delete. This is required and identifies which assignment to delete, reverting the user to the default policy. + +## BoxApi.DownloadZipContent + +
+ + +Download the contents of a zip archive. + +**Parameters** + +- **zip_archive_unique_id** (`string`, required) The unique identifier for the zip archive to be downloaded. This ID must be obtained from the 'Create zip download' API response. + +## BoxApi.CheckZipDownloadStatus + +
+ + +Check the status of a zip archive download. + +**Parameters** + +- **zip_archive_unique_identifier** (`string`, required) The unique identifier representing the zip archive for which to check download status. Obtainable from the `status_url` in the Create zip download API. + +## BoxApi.CancelSignRequest + +
+ + +Cancel an existing sign request to stop further processing. + +**Parameters** + +- **sign_request_id** (`string`, required) The unique identifier of the signature request to be cancelled. + +## BoxApi.ResendSignatureRequestEmail + +
+ + +Resend signature request email to outstanding signers. + +**Parameters** + +- **signature_request_id** (`string`, required) The unique identifier of the signature request to resend emails to outstanding signers. + +## BoxApi.RetrieveSignRequestById + +
+ + +Retrieve details of a specific sign request by ID. + +**Parameters** + +- **signature_request_id** (`string`, required) The unique identifier for the signature request to retrieve. + +## BoxApi.FetchSignatureRequests + +
+ + +Retrieve signature requests created by a user. + +**Parameters** + +- **pagination_marker** (`string`, optional) Defines the starting point for returning results, used for marker-based pagination. Requires use_marker to be true. +- **max_items_per_page** (`integer`, optional) Specify the maximum number of signature requests to return per page. +- **sender_email_list** (`array[string]`, optional) A list of sender emails to filter the signature requests by sender. `shared_requests` must be `true` if provided. +- **include_shared_requests** (`boolean`, optional) Set to true to include signature requests where the user is a collaborator but not the owner. Must be true if sender emails are provided. + +## BoxApi.GetManualStartWorkflows + +
+ + +Retrieve workflows with manual start triggers for a folder. + +**Parameters** + +- **folder_id** (`string`, required) The unique identifier representing a folder. You can find this by visiting the folder in the web application and copying the ID from the URL. The root folder is always represented by ID '0'. +- **trigger_type_filter** (`string`, optional) Specify the trigger type to search for in workflows. Use 'WORKFLOW_MANUAL_START' for manual triggers. +- **max_items_per_page** (`integer`, optional) The maximum number of workflows to retrieve per page. Adjust based on your needs to control pagination. +- **pagination_marker** (`string`, optional) Specifies the position marker to start returning results. Used for marker-based pagination and requires `usemarker` to be set to `true`. + +## BoxApi.GetBoxSignTemplates + +
+ + +Retrieve Box Sign templates created by a user. + +**Parameters** + +- **pagination_marker** (`string`, optional) The starting position marker for result pagination. Requires `usemarker` to be set to `true`. +- **max_items_per_page** (`integer`, optional) The maximum number of templates to return in a single response. + +## BoxApi.FetchBoxSignTemplateDetails + +
+ + +Retrieve details of a specific Box Sign template. + +**Parameters** + +- **box_sign_template_id** (`string`, required) The unique identifier for a Box Sign template to retrieve its details. + +## BoxApi.ListSlackIntegrationMappings + +
+ + +Retrieve Slack integration mappings for a Box enterprise. + +**Parameters** + +- **pagination_start_marker** (`string`, optional) Defines the starting position for pagination results. Requires 'usemarker' to be true. +- **max_items_per_page** (`integer`, optional) The maximum number of Slack integration mappings to return per page from the user's enterprise. +- **mapped_item_type** (`string`, optional) The type of mapped item for which the Slack integration mapping should be returned. Only 'channel' is supported. +- **mapped_item_id** (`string`, optional) ID of the mapped item for which the Slack integration mapping should be retrieved. +- **box_item_id** (`string`, optional) Box item ID for which to retrieve Slack integration mappings. Must be a valid ID within the user's enterprise. +- **box_item_type** (`string`, optional) Specify the type of Box item for which the mappings should be returned. Currently, only 'folder' is supported. +- **include_manually_created_mappings** (`boolean`, optional) Set to true to include mappings that have been manually created. + +## BoxApi.DeleteSlackIntegrationMapping + +
+ + +Deletes a Slack integration mapping for Box content. + +**Parameters** + +- **slack_integration_mapping_id** (`string`, required) The ID of the Slack integration mapping to be deleted. This requires Admin or Co-Admin permission. + +## BoxApi.GetTeamsIntegrationMappings + +
+ + +Retrieve Teams integration mappings for an enterprise. + +**Parameters** + +- **mapped_item_type** (`string`, optional) Specify the type of item ('channel' or 'team') for which the mapping should be returned. +- **mapped_item_id** (`string`, optional) The ID of the mapped item for which the mapping should be returned. Required for retrieving specific integration mappings. +- **box_item_id_for_mappings** (`string`, optional) The Box item ID to retrieve integration mappings for. Required for fetching specific mappings. +- **box_item_type** (`string`, optional) Specify the type of Box item for which the mappings should be returned. Acceptable value is 'folder'. + +## BoxApi.DeleteTeamsIntegrationMapping + +
+ + +Deletes a Teams integration mapping in Box. + +**Parameters** + +- **integration_mapping_identifier** (`string`, required) The ID of the Teams integration mapping to be deleted. Required for identifying the specific mapping. + +## BoxApi.GetAiAgentDefaultConfig + +
+ + +Retrieve the default configuration for the AI agent. + +**Parameters** + +- **filter_mode** (`string`, required) Specifies the mode to filter and return the agent configuration. Options: 'ask', 'text_gen', 'extract', 'extract_structured'. +- **agent_config_language_code** (`string`, optional) The ISO language code to specify the language for the AI agent configuration. Default is returned if unsupported. +- **model_identifier** (`string`, optional) Specify the model name to retrieve the default agent configuration. Ensure it matches the supported model names. + +## BoxApi.ListAiAgents + +
+ + +Retrieve a list of AI agents with specified parameters. + +**Parameters** + +- **filter_by_mode** (`array[string]`, optional) List of modes to filter the agent configuration. Options: `ask`, `text_gen`, `extract`. +- **response_fields** (`array[string]`, optional) List of fields to return for each AI agent in the response. Specify as an array of strings. +- **agent_state_filter** (`array[string]`, optional) Specify the states of agents to return. Acceptable values include: 'enabled', 'disabled', and 'enabled_for_selected_users'. +- **results_start_position_marker** (`string`, optional) The starting point marker for returning paginated results. Use this to continue a previous query from where it left off. +- **max_items_per_page** (`integer`, optional) The maximum number of AI agents to return for a single page of results. +- **include_box_default_agents** (`boolean`, optional) Set to true to include Box default AI agents in the response, false otherwise. + +## BoxApi.GetAiAgentDetails + +
+ + +Retrieve details of a specific AI agent by ID. + +**Parameters** + +- **agent_unique_identifier** (`string`, required) The unique identifier of the AI agent to retrieve details for. +- **fields_to_return** (`array[string]`, optional) List of specific fields to return in the response for the AI agent details. + +## BoxApi.DeleteAiAgent + +
+ + +Removes an AI agent by its ID. + +**Parameters** + +- **agent_id** (`string`, required) The unique identifier of the AI agent you want to delete. This ID specifies which agent will be removed. + + diff --git a/public/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.js new file mode 100644 index 00000000..878c1b60 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.AbortUploadSession"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "upload_session_id": "sess_Abc123XYZ" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.py new file mode 100644 index 00000000..dcd60837 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.AbortUploadSession" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'upload_session_id': 'sess_Abc123XYZ' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.js new file mode 100644 index 00000000..8f853e3e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.CancelSignRequest"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "sign_request_id": "sr_abc123xyz" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.py new file mode 100644 index 00000000..12bc53b8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.CancelSignRequest" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'sign_request_id': 'sr_abc123xyz' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.js new file mode 100644 index 00000000..5cd741e9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.CheckUserInviteStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "invite_id": "inv_9a8b7c6d", + "included_attributes": [ + "created_at", + "expires_at" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.py new file mode 100644 index 00000000..79bef366 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.CheckUserInviteStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'invite_id': 'inv_9a8b7c6d', 'included_attributes': ['created_at', 'expires_at'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.js new file mode 100644 index 00000000..b69229c5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.CheckZipDownloadStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "zip_archive_unique_identifier": "zip_12345abcdef" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.py new file mode 100644 index 00000000..771a958a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.CheckZipDownloadStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'zip_archive_unique_identifier': 'zip_12345abcdef' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.js new file mode 100644 index 00000000..065d79ad --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteAiAgent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "agent_id": "agent_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.py new file mode 100644 index 00000000..eb1a70eb --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteAiAgent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'agent_id': 'agent_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.js new file mode 100644 index 00000000..feae9a76 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteArchive"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "archive_id": "arch_12345abcd" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.py new file mode 100644 index 00000000..4a170fc4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteArchive" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'archive_id': 'arch_12345abcd' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.js new file mode 100644 index 00000000..d96a2f8c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteBoxFileVersion"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "12345", + "file_version_id": "67890", + "if_match_etag_value": "\"3a5f9c2b\"" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.py new file mode 100644 index 00000000..6ab197ec --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteBoxFileVersion" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '12345', 'file_version_id': '67890', 'if_match_etag_value': '"3a5f9c2b"' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.js new file mode 100644 index 00000000..87c3ab09 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteBoxHubCollaboration"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "hub_collaboration_identifier": "collab_987654321" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.py new file mode 100644 index 00000000..c67293f2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteBoxHubCollaboration" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'hub_collaboration_identifier': 'collab_987654321' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.js new file mode 100644 index 00000000..7ce72049 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteBoxHub"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "box_hub_unique_id": "hub_3f7a9b2c" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.py new file mode 100644 index 00000000..049bdbc1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteBoxHub" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'box_hub_unique_id': 'hub_3f7a9b2c' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.js new file mode 100644 index 00000000..e3e86f55 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteCollaboration"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "collaboration_id_to_delete": "collab_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.py new file mode 100644 index 00000000..6e03bc9a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteCollaboration" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'collaboration_id_to_delete': 'collab_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.js new file mode 100644 index 00000000..11bb4770 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteComment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "comment_id": "cmt_8f3a2b9d" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.py new file mode 100644 index 00000000..4a7c71d6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteComment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'comment_id': 'cmt_8f3a2b9d' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.js new file mode 100644 index 00000000..b8a924d8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteDevicePin"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "device_pin_id": "pin_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.py new file mode 100644 index 00000000..5a2df5f7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteDevicePin" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'device_pin_id': 'pin_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.js new file mode 100644 index 00000000..cd3546d8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteFileFromBox"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1234567890", + "ensure_no_recent_changes_etag": "0a1b2c3d4e" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.py new file mode 100644 index 00000000..9cec3155 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteFileFromBox" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1234567890', 'ensure_no_recent_changes_etag': '0a1b2c3d4e' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.js new file mode 100644 index 00000000..330a6630 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteFileMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "12345", + "metadata_scope": "enterprise", + "metadata_template_name": "project-info" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.py new file mode 100644 index 00000000..b358036d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteFileMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '12345', + 'metadata_scope': 'enterprise', + 'metadata_template_name': 'project-info' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.js new file mode 100644 index 00000000..d152ff24 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteFileRequest"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_request_identifier": "fr_8a1b2c3d4e5f6g7h" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.py new file mode 100644 index 00000000..c07824dc --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteFileRequest" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_request_identifier': 'fr_8a1b2c3d4e5f6g7h' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.js new file mode 100644 index 00000000..fbd93b02 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteFolder"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "123456789", + "ensure_unchanged_etag": "0a1b2c3d4e", + "delete_recursively": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.py new file mode 100644 index 00000000..d3d49d2c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteFolder" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '123456789', + 'ensure_unchanged_etag': '0a1b2c3d4e', + 'delete_recursively': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.js new file mode 100644 index 00000000..9257ea4d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteFolderLock"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_lock_identifier": "lock_9f4b2a1c" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.py new file mode 100644 index 00000000..a83ad6e2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteFolderLock" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_lock_identifier': 'lock_9f4b2a1c' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.js new file mode 100644 index 00000000..fc3fed0b --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteFolderMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "123456789", + "metadata_template_scope": "enterprise", + "metadata_template_name": "project_status" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.py new file mode 100644 index 00000000..2e151000 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteFolderMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '123456789', + 'metadata_template_scope': 'enterprise', + 'metadata_template_name': 'project_status' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.js new file mode 100644 index 00000000..1a928c6c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteGroup"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "group_id": "grp_4a1f9b2c" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.py new file mode 100644 index 00000000..7a0c6acb --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteGroup" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'group_id': 'grp_4a1f9b2c' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.js new file mode 100644 index 00000000..f6cd941b --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteGroupMembership"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "group_membership_id": "gm_9b2f7a1c" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.py new file mode 100644 index 00000000..7ab65f72 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteGroupMembership" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'group_membership_id': 'gm_9b2f7a1c' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.js new file mode 100644 index 00000000..f9d8d86e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteLegalHoldPolicy"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "legal_hold_policy_id": "lhp_8f3b2a1c" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.py new file mode 100644 index 00000000..59045035 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteLegalHoldPolicy" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'legal_hold_policy_id': 'lhp_8f3b2a1c' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.js new file mode 100644 index 00000000..368b2b44 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteMetadataCascadePolicy"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "metadata_cascade_policy_id": "csp_1234567890abcdef" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.py new file mode 100644 index 00000000..258c3e9a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteMetadataCascadePolicy" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'metadata_cascade_policy_id': 'csp_1234567890abcdef' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.js new file mode 100644 index 00000000..92ff00e9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteMetadataTemplate"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "metadata_template_scope": "enterprise", + "metadata_template_name": "confidential_project_template" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.py new file mode 100644 index 00000000..0b4f5cde --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteMetadataTemplate" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'metadata_template_scope': 'enterprise', 'metadata_template_name': 'confidential_project_template' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.js new file mode 100644 index 00000000..1e448f02 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteRetentionPolicy"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "retention_policy_id": "rp_8f4b2a1c" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.py new file mode 100644 index 00000000..728ef1ab --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteRetentionPolicy" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'retention_policy_id': 'rp_8f4b2a1c' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.js new file mode 100644 index 00000000..625d3374 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteShieldBarrierSegmentRestriction"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "barrier_segment_restriction_id": "rstr_123abc" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.py new file mode 100644 index 00000000..c3cb9e31 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteShieldBarrierSegmentRestriction" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'barrier_segment_restriction_id': 'rstr_123abc' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.js new file mode 100644 index 00000000..917afdc9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteShieldInformationBarrierSegment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shield_information_barrier_segment_id": "sibseg_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.py new file mode 100644 index 00000000..e057cfa8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteShieldInformationBarrierSegment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shield_information_barrier_segment_id': 'sibseg_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.js new file mode 100644 index 00000000..65a99c7f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteShieldListById"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shield_list_id": "shld_1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.py new file mode 100644 index 00000000..98f0a45e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteShieldListById" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shield_list_id': 'shld_1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.js new file mode 100644 index 00000000..2c913244 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteSlackIntegrationMapping"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "slack_integration_mapping_id": "sim_01F2ABCD3EFGHIJKL" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.py new file mode 100644 index 00000000..af83d1af --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteSlackIntegrationMapping" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'slack_integration_mapping_id': 'sim_01F2ABCD3EFGHIJKL' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.js new file mode 100644 index 00000000..8be89512 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteStoragePolicyAssignment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "storage_policy_assignment_id": "spa_12345abcde" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.py new file mode 100644 index 00000000..1cfa4b3d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteStoragePolicyAssignment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'storage_policy_assignment_id': 'spa_12345abcde' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.js new file mode 100644 index 00000000..58ef5065 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteTaskAssignment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "task_assignment_id": "ta_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.py new file mode 100644 index 00000000..2875dda6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteTaskAssignment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'task_assignment_id': 'ta_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.js new file mode 100644 index 00000000..048bd559 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteTaskFromFile"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "task_identifier": "task-3a9f2b" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.py new file mode 100644 index 00000000..483d4d66 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteTaskFromFile" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'task_identifier': 'task-3a9f2b' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.js new file mode 100644 index 00000000..a665c82c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteTeamsIntegrationMapping"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "integration_mapping_identifier": "teams-mapping-789" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.py new file mode 100644 index 00000000..82572d44 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteTeamsIntegrationMapping" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'integration_mapping_identifier': 'teams-mapping-789' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.js new file mode 100644 index 00000000..f191d31a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteUserAccount"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "user_id": "user_7890", + "send_deletion_notification": true, + "force_delete_user": false +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.py new file mode 100644 index 00000000..850fe5c4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteUserAccount" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'user_id': 'user_7890', 'send_deletion_notification': True, 'force_delete_user': False +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.js new file mode 100644 index 00000000..b2c16825 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteWebLink"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "web_link_id": "wl_9a7b3c" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.py new file mode 100644 index 00000000..3d559078 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteWebLink" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'web_link_id': 'wl_9a7b3c' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.js new file mode 100644 index 00000000..fc88c350 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DeleteWebhook"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "webhook_id": "wh_12345abcdef" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.py new file mode 100644 index 00000000..7f5007ac --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DeleteWebhook" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'webhook_id': 'wh_12345abcdef' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.js new file mode 100644 index 00000000..708f8fa5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DownloadFileContent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "f_9a8b7c6d", + "file_version_to_download": "v2", + "optional_access_token": "rk-read-12345", + "download_byte_range": "bytes=0-1048575", + "shared_link_with_optional_password": "shared_link=https://files.example.com/s/abc123&shared_link_password=secret" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.py new file mode 100644 index 00000000..b3924dab --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DownloadFileContent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': 'f_9a8b7c6d', + 'file_version_to_download': 'v2', + 'optional_access_token': 'rk-read-12345', + 'download_byte_range': 'bytes=0-1048575', + 'shared_link_with_optional_password': 'shared_link=https://files.example.com/s/abc123&shared_link_password=secret' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.js new file mode 100644 index 00000000..cacc4ebc --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.DownloadZipContent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "zip_archive_unique_id": "zip_01H7XYZABC123example" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.py new file mode 100644 index 00000000..6ec7faef --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.DownloadZipContent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'zip_archive_unique_id': 'zip_01H7XYZABC123example' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.js new file mode 100644 index 00000000..04548e44 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchBoxSignTemplateDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "box_sign_template_id": "tmpl_12345abcde" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.py new file mode 100644 index 00000000..5baa46da --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchBoxSignTemplateDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'box_sign_template_id': 'tmpl_12345abcde' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.js new file mode 100644 index 00000000..a9bd0093 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchCommentDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "comment_id": "cmt_8f3a12b9", + "include_fields": [ + "message", + "creator", + "created_at", + "attachments" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.py new file mode 100644 index 00000000..07888f2b --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchCommentDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'comment_id': 'cmt_8f3a12b9', + 'include_fields': ['message', 'creator', 'created_at', 'attachments'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.js new file mode 100644 index 00000000..29d3f075 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchEnterpriseStoragePolicies"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "include_attributes": [ + "creation_date", + "retention_period" + ], + "pagination_marker": "abc123marker", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.py new file mode 100644 index 00000000..8f318b6f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchEnterpriseStoragePolicies" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'include_attributes': ['creation_date', 'retention_period'], + 'pagination_marker': 'abc123marker', + 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.js new file mode 100644 index 00000000..2037b0d1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchMetadataTemplateById"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "template_id": "mt_12345abcdef" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.py new file mode 100644 index 00000000..49f46bae --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchMetadataTemplateById" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'template_id': 'mt_12345abcdef' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.js new file mode 100644 index 00000000..5445c905 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchSafeCollaborationDomain"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "collaboration_whitelist_entry_id": "whitelist-entry-7890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.py new file mode 100644 index 00000000..a1fc133f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchSafeCollaborationDomain" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'collaboration_whitelist_entry_id': 'whitelist-entry-7890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.js new file mode 100644 index 00000000..1109da02 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchShieldBarrierReport"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shield_barrier_report_id": "rpt_1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.py new file mode 100644 index 00000000..1fff1b54 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchShieldBarrierReport" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shield_barrier_report_id': 'rpt_1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.js new file mode 100644 index 00000000..c77f2c10 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchSignatureRequests"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_marker": "abc123", + "max_items_per_page": 25, + "sender_email_list": [ + "alice@example.com", + "bob@example.com" + ], + "include_shared_requests": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.py new file mode 100644 index 00000000..e7a46d82 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchSignatureRequests" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_marker': 'abc123', + 'max_items_per_page': 25, + 'sender_email_list': ['alice@example.com', 'bob@example.com'], + 'include_shared_requests': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.js new file mode 100644 index 00000000..7890b6d3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchStoragePolicyAssignment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "storage_policy_assignment_id": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.py new file mode 100644 index 00000000..a8f09f28 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchStoragePolicyAssignment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'storage_policy_assignment_id': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.js new file mode 100644 index 00000000..f2e23f61 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchStoragePolicyAssignments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "target_type_for_assignments": "user", + "target_user_or_enterprise_id": "1234567890", + "pagination_marker": "marker_1" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.py new file mode 100644 index 00000000..9bfe0db3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchStoragePolicyAssignments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'target_type_for_assignments': 'user', + 'target_user_or_enterprise_id': '1234567890', + 'pagination_marker': 'marker_1' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.js new file mode 100644 index 00000000..0435c19a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FetchStoragePolicy"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "storage_policy_identifier": "policy-12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.py new file mode 100644 index 00000000..d7109523 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FetchStoragePolicy" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'storage_policy_identifier': 'policy-12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.js new file mode 100644 index 00000000..52d6ecf6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.FindMetadataTemplate"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "metadata_instance_id": "tmpl_12345", + "pagination_position_marker": "marker_abc", + "items_per_page_limit": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.py new file mode 100644 index 00000000..50eb3fad --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.FindMetadataTemplate" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'metadata_instance_id': 'tmpl_12345', + 'pagination_position_marker': 'marker_abc', + 'items_per_page_limit': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.js new file mode 100644 index 00000000..51c1435a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetAiAgentDefaultConfig"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "filter_mode": "text_gen", + "agent_config_language_code": "en", + "model_identifier": "gpt-4o-mini" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.py new file mode 100644 index 00000000..1107cc69 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetAiAgentDefaultConfig" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'filter_mode': 'text_gen', 'agent_config_language_code': 'en', 'model_identifier': 'gpt-4o-mini' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.js new file mode 100644 index 00000000..ee51134a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetAiAgentDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "agent_unique_identifier": "agent_9f8b3c2a", + "fields_to_return": [ + "name", + "status", + "created_at", + "capabilities" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.py new file mode 100644 index 00000000..c50abd35 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetAiAgentDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'agent_unique_identifier': 'agent_9f8b3c2a', + 'fields_to_return': ['name', 'status', 'created_at', 'capabilities'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.js new file mode 100644 index 00000000..087145d6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetAuthenticatedUserInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "requested_user_attributes": [ + "email", + "phone_number", + "roles", + "profile_picture_url" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.py new file mode 100644 index 00000000..d4220dd1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetAuthenticatedUserInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'requested_user_attributes': ['email', 'phone_number', 'roles', 'profile_picture_url'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.js new file mode 100644 index 00000000..78a1d919 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetBoxDocgenJobDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "box_doc_gen_job_id": "job_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.py new file mode 100644 index 00000000..238c748e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetBoxDocgenJobDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'box_doc_gen_job_id': 'job_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.js new file mode 100644 index 00000000..a99742de --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetBoxDocgenTemplateDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "box_docgen_template_id": "tmpl_12345ABC" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.py new file mode 100644 index 00000000..5097fdcd --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetBoxDocgenTemplateDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'box_docgen_template_id': 'tmpl_12345ABC' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.js new file mode 100644 index 00000000..2022047e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.js @@ -0,0 +1,37 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetBoxEvents"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "event_stream_type": "admin_logs", + "event_stream_start_position": "0", + "event_limit": 100, + "event_type_filter": [ + "LOGIN", + "ITEM_CREATE", + "ITEM_UPLOAD" + ], + "event_start_date": "2024-01-01T00:00:00Z", + "event_time_upper_bound": "2024-06-30T23:59:59Z" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.py new file mode 100644 index 00000000..ae860778 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetBoxEvents" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'event_stream_type': 'admin_logs', + 'event_stream_start_position': '0', + 'event_limit': 100, + 'event_type_filter': ['LOGIN', 'ITEM_CREATE', 'ITEM_UPLOAD'], + 'event_start_date': '2024-01-01T00:00:00Z', + 'event_time_upper_bound': '2024-06-30T23:59:59Z' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.js new file mode 100644 index 00000000..9e8f82d6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetBoxHubCollaborationDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "hub_collaboration_id": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.py new file mode 100644 index 00000000..6bfaedf4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetBoxHubCollaborationDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'hub_collaboration_id': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.js new file mode 100644 index 00000000..fe6112a0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetBoxHubs"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "hub_search_query": "design templates", + "hub_scope": "editable", + "sort_results_by": "updated_at", + "sort_direction": "DESC", + "pagination_start_marker": "marker_42", + "max_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.py new file mode 100644 index 00000000..7b04d274 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetBoxHubs" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'hub_search_query': 'design templates', + 'hub_scope': 'editable', + 'sort_results_by': 'updated_at', + 'sort_direction': 'DESC', + 'pagination_start_marker': 'marker_42', + 'max_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.js new file mode 100644 index 00000000..b4cedff3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetBoxSignTemplates"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_marker": "abc123marker", + "max_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.py new file mode 100644 index 00000000..edb44c9c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetBoxSignTemplates" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_marker': 'abc123marker', 'max_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.js new file mode 100644 index 00000000..1b49d0af --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetBoxSkillsMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_id": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.py new file mode 100644 index 00000000..5017cbd1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetBoxSkillsMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_id': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.js new file mode 100644 index 00000000..0075400e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.js @@ -0,0 +1,26 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetClassificationMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.py new file mode 100644 index 00000000..965bf05d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetClassificationMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.js new file mode 100644 index 00000000..9cd19987 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetCollaborationDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "collaboration_id": "col_9a1b2c3d", + "include_fields": [ + "auditTrail", + "participantRoles" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.py new file mode 100644 index 00000000..a2f4595b --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetCollaborationDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'collaboration_id': 'col_9a1b2c3d', 'include_fields': ['auditTrail', 'participantRoles'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.js new file mode 100644 index 00000000..9c4b9cc5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetCollaborationWhitelistExemptUser"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "exemption_target_id": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.py new file mode 100644 index 00000000..8e97e2c8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetCollaborationWhitelistExemptUser" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'exemption_target_id': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.js new file mode 100644 index 00000000..3c6b8be0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetCollaborationWhitelistExemptUsers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_position_marker": "marker_abc123", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.py new file mode 100644 index 00000000..796ae04d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetCollaborationWhitelistExemptUsers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_position_marker': 'marker_abc123', 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.js new file mode 100644 index 00000000..4ad79a26 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetDevicePinInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "device_pin_identifier": "pin-42" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.py new file mode 100644 index 00000000..30b81c7f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetDevicePinInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'device_pin_identifier': 'pin-42' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.js new file mode 100644 index 00000000..dcc24017 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetEnterpriseBoxHubs"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search_query_for_box_hubs": "engineering roadmap", + "sort_results_by": "updated_at", + "sort_direction": "DESC", + "pagination_marker": "marker_abc123", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.py new file mode 100644 index 00000000..877e336f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetEnterpriseBoxHubs" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search_query_for_box_hubs': 'engineering roadmap', + 'sort_results_by': 'updated_at', + 'sort_direction': 'DESC', + 'pagination_marker': 'marker_abc123', + 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.js new file mode 100644 index 00000000..c1ed6997 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetEnterpriseDevicePins"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "enterprise_id": "ent_abc123", + "pagination_start_marker": "marker_001", + "max_items_per_page": 50, + "sort_direction": "ASC" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.py new file mode 100644 index 00000000..845c8fcc --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetEnterpriseDevicePins" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'enterprise_id': 'ent_abc123', + 'pagination_start_marker': 'marker_001', + 'max_items_per_page': 50, + 'sort_direction': 'ASC' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.js new file mode 100644 index 00000000..c2f82ffc --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.js @@ -0,0 +1,38 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetEnterpriseRetentionPolicies"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "filter_by_policy_name_prefix": "HR-", + "filter_by_retention_policy_type": "finite", + "filter_by_creator_user_id": "u_98765", + "include_fields": [ + "id", + "name", + "type", + "duration_days" + ], + "maximum_items_per_page": 50, + "pagination_start_marker": "marker_abc123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.py new file mode 100644 index 00000000..9ff2e7d0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetEnterpriseRetentionPolicies" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'filter_by_policy_name_prefix': 'HR-', + 'filter_by_retention_policy_type': 'finite', + 'filter_by_creator_user_id': 'u_98765', + 'include_fields': ['id', 'name', 'type', 'duration_days'], + 'maximum_items_per_page': 50, + 'pagination_start_marker': 'marker_abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.js new file mode 100644 index 00000000..27814cad --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.js @@ -0,0 +1,26 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetEnterpriseShieldLists"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.py new file mode 100644 index 00000000..f6bd6ea3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetEnterpriseShieldLists" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.js new file mode 100644 index 00000000..860d3b9f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetEnterpriseTermsOfService"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "terms_of_service_type": "external" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.py new file mode 100644 index 00000000..d5a7ffdb --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetEnterpriseTermsOfService" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'terms_of_service_type': 'external' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.js new file mode 100644 index 00000000..b3817705 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileAppAssociations"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1234567890", + "items_per_page_limit": 50, + "pagination_marker": "marker_abc123", + "filter_by_application_type": "com.box.thirdparty.app" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.py new file mode 100644 index 00000000..f42e305a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileAppAssociations" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1234567890', + 'items_per_page_limit': 50, + 'pagination_marker': 'marker_abc123', + 'filter_by_application_type': 'com.box.thirdparty.app' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.js new file mode 100644 index 00000000..079b6559 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileClassificationMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.py new file mode 100644 index 00000000..54ef7d04 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileClassificationMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.js new file mode 100644 index 00000000..403c062d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileCollaborations"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1234567890", + "requested_fields": [ + "role", + "status", + "created_at" + ], + "max_items_per_page": 50, + "pagination_start_marker": "abc123marker" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.py new file mode 100644 index 00000000..e3286c8d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileCollaborations" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1234567890', + 'requested_fields': ['role', 'status', 'created_at'], + 'max_items_per_page': 50, + 'pagination_start_marker': 'abc123marker' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.js new file mode 100644 index 00000000..cbaf2c9a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileComments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "123456789", + "include_fields_in_response": [ + "id", + "message", + "created_by", + "created_at" + ], + "maximum_items_per_page": 50, + "response_start_offset": 0 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.py new file mode 100644 index 00000000..e8a27d4a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileComments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '123456789', + 'include_fields_in_response': ['id', 'message', 'created_by', 'created_at'], + 'maximum_items_per_page': 50, + 'response_start_offset': 0 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.js new file mode 100644 index 00000000..46435a39 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileTasks"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.py new file mode 100644 index 00000000..48e02f9c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileTasks" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.js new file mode 100644 index 00000000..4129123b --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileVersionHistory"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "123456789", + "requested_fields": [ + "version_number", + "modified_at", + "modified_by", + "size" + ], + "max_items_per_page": 25, + "response_start_offset": 0 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.py new file mode 100644 index 00000000..57bf8a67 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileVersionHistory" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '123456789', + 'requested_fields': ['version_number', 'modified_at', 'modified_by', 'size'], + 'max_items_per_page': 25, + 'response_start_offset': 0 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.js new file mode 100644 index 00000000..7f3085d0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileVersionRetentionInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_version_retention_id": "ret_12345abcd" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.py new file mode 100644 index 00000000..06e4f7f5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileVersionRetentionInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_version_retention_id': 'ret_12345abcd' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.js new file mode 100644 index 00000000..b4f5759b --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileVersionRetentions"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "filter_by_file_id": "1234567890", + "filter_by_file_version_id": "v1.2.3", + "retention_policy_id": "ret-pol-001", + "filter_by_disposition_action": "permanently_delete", + "filter_by_disposition_before_date": "2025-12-31", + "disposition_effective_after_date": "2025-01-01", + "max_items_per_page": 100, + "pagination_start_marker": "marker_abc123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.py new file mode 100644 index 00000000..5c74b028 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.py @@ -0,0 +1,36 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileVersionRetentions" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'filter_by_file_id': '1234567890', + 'filter_by_file_version_id': 'v1.2.3', + 'retention_policy_id': 'ret-pol-001', + 'filter_by_disposition_action': 'permanently_delete', + 'filter_by_disposition_before_date': '2025-12-31', + 'disposition_effective_after_date': '2025-01-01', + 'max_items_per_page': 100, + 'pagination_start_marker': 'marker_abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.js new file mode 100644 index 00000000..c67dfbdd --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileVersionsOnLegalHold"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "legal_hold_policy_assignment_id": "lhpa_987654321", + "pagination_start_marker": "mkr_0001", + "max_items_per_page": 50, + "include_additional_fields_in_response": [ + "file_name", + "version_id", + "modified_at" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.py new file mode 100644 index 00000000..e5d2610f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileVersionsOnLegalHold" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'legal_hold_policy_assignment_id': 'lhpa_987654321', + 'pagination_start_marker': 'mkr_0001', + 'max_items_per_page': 50, + 'include_additional_fields_in_response': ['file_name', 'version_id', 'modified_at'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.js new file mode 100644 index 00000000..8620d78f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileVersionsUnderRetention"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "retention_policy_assignment_id": "rpa_7890abcd", + "pagination_start_marker": "marker_100", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.py new file mode 100644 index 00000000..aa245a90 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileVersionsUnderRetention" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'retention_policy_assignment_id': 'rpa_7890abcd', + 'pagination_start_marker': 'marker_100', + 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.js new file mode 100644 index 00000000..3384382a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFileWatermark"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "file_12345abc" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.py new file mode 100644 index 00000000..0fdf10f6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFileWatermark" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': 'file_12345abc' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.js new file mode 100644 index 00000000..3f276d51 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFilesOnLegalHold"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "legal_hold_policy_assignment_id": "assign_7890", + "pagination_marker": "marker_abc123", + "maximum_items_per_page": 50, + "included_attributes": [ + "file_id", + "file_name", + "current_version", + "hold_created_at" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.py new file mode 100644 index 00000000..0ad7d8b4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFilesOnLegalHold" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'legal_hold_policy_assignment_id': 'assign_7890', + 'pagination_marker': 'marker_abc123', + 'maximum_items_per_page': 50, + 'included_attributes': ['file_id', 'file_name', 'current_version', 'hold_created_at'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.js new file mode 100644 index 00000000..81ddc95b --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFolderAppItemAssociations"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "1234567890", + "max_items_per_page": 50, + "pagination_start_marker": "marker_abc123", + "filter_by_application_type": "dashboard" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.py new file mode 100644 index 00000000..68bf4d41 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFolderAppItemAssociations" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '1234567890', + 'max_items_per_page': 50, + 'pagination_start_marker': 'marker_abc123', + 'filter_by_application_type': 'dashboard' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.js new file mode 100644 index 00000000..cc731c62 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFolderClassification"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "0" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.py new file mode 100644 index 00000000..e6da1a60 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFolderClassification" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '0' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.js new file mode 100644 index 00000000..22e68656 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFolderCollaborations"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "12345", + "included_attributes": [ + "role", + "status", + "invited_at" + ], + "max_items_per_page": 50, + "start_position_marker": "abc123marker" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.py new file mode 100644 index 00000000..1defe8d2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFolderCollaborations" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '12345', + 'included_attributes': ['role', 'status', 'invited_at'], + 'max_items_per_page': 50, + 'start_position_marker': 'abc123marker' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.js new file mode 100644 index 00000000..b12c6766 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.js @@ -0,0 +1,41 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFolderDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_unique_identifier": "456", + "requested_fields": [ + "id", + "name", + "size", + "created_at", + "shared_link" + ], + "secondary_sort_attribute": "name", + "sort_direction": "ASC", + "response_offset": 0, + "max_items_per_page": 50, + "ensure_item_has_changed": "0a1b2c3d4e", + "shared_link_credentials": "shared_link=https://app.box.com/s/abcdef&shared_link_password=Tr0ub4dor" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.py new file mode 100644 index 00000000..984fd81f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.py @@ -0,0 +1,36 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFolderDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_unique_identifier': '456', + 'requested_fields': ['id', 'name', 'size', 'created_at', 'shared_link'], + 'secondary_sort_attribute': 'name', + 'sort_direction': 'ASC', + 'response_offset': 0, + 'max_items_per_page': 50, + 'ensure_item_has_changed': '0a1b2c3d4e', + 'shared_link_credentials': 'shared_link=https://app.box.com/s/abcdef&shared_link_password=Tr0ub4dor' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.js new file mode 100644 index 00000000..904755a8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFolderMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "1234567890", + "metadata_scope": "enterprise", + "metadata_template_name": "ProjectDetails" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.py new file mode 100644 index 00000000..d66ff886 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFolderMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '1234567890', + 'metadata_scope': 'enterprise', + 'metadata_template_name': 'ProjectDetails' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.js new file mode 100644 index 00000000..d49faf55 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFolderSharedLinkInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "include_shared_link_fields": "true", + "folder_identifier": "123456789" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.py new file mode 100644 index 00000000..0c2ccf93 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFolderSharedLinkInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'include_shared_link_fields': 'true', 'folder_identifier': '123456789' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.js new file mode 100644 index 00000000..8f2d3af0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetFolderWatermark"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.py new file mode 100644 index 00000000..c0667759 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetFolderWatermark" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.js new file mode 100644 index 00000000..65a22478 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetGroupCollaborations"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "group_id": "12345", + "max_items_per_page": 50, + "response_offset": 0 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.py new file mode 100644 index 00000000..7f1a26b0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetGroupCollaborations" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'group_id': '12345', 'max_items_per_page': 50, 'response_offset': 0 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.js new file mode 100644 index 00000000..707ab356 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetLegacyFileVersionLegalHolds"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "legal_hold_policy_id": "lh_policy_789", + "pagination_marker": "marker_abc123", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.py new file mode 100644 index 00000000..de30519f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetLegacyFileVersionLegalHolds" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'legal_hold_policy_id': 'lh_policy_789', + 'pagination_marker': 'marker_abc123', + 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.js new file mode 100644 index 00000000..aa60668d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.js @@ -0,0 +1,38 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetLegalHoldPolicyAssignments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "legal_hold_policy_id": "lh_9f8a7b6c", + "filter_by_assignment_type": "file", + "filter_by_item_id": "1234567890", + "pagination_marker": "marker_abc123", + "maximum_items_per_page": 50, + "response_fields": [ + "id", + "assigned_at", + "assigned_by", + "item_type" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.py new file mode 100644 index 00000000..c136b1b9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetLegalHoldPolicyAssignments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'legal_hold_policy_id': 'lh_9f8a7b6c', + 'filter_by_assignment_type': 'file', + 'filter_by_item_id': '1234567890', + 'pagination_marker': 'marker_abc123', + 'maximum_items_per_page': 50, + 'response_fields': ['id', 'assigned_at', 'assigned_by', 'item_type'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.js new file mode 100644 index 00000000..859ac823 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetManualStartWorkflows"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_id": "123456789", + "trigger_type_filter": "WORKFLOW_MANUAL_START", + "max_items_per_page": 50, + "pagination_marker": "marker_abc123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.py new file mode 100644 index 00000000..141713b5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetManualStartWorkflows" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_id': '123456789', + 'trigger_type_filter': 'WORKFLOW_MANUAL_START', + 'max_items_per_page': 50, + 'pagination_marker': 'marker_abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.js new file mode 100644 index 00000000..76382694 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetMetadataCascadePolicies"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "target_folder_id": "123456789", + "owner_enterprise_id": "987654321", + "pagination_marker": "abcMarker", + "response_offset": 0 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.py new file mode 100644 index 00000000..261a055d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetMetadataCascadePolicies" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'target_folder_id': '123456789', + 'owner_enterprise_id': '987654321', + 'pagination_marker': 'abcMarker', + 'response_offset': 0 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.js new file mode 100644 index 00000000..87f6fbfb --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.js @@ -0,0 +1,38 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetPendingCollaborationInvites"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "collaboration_status": "pending", + "include_attributes": [ + "id", + "created_by", + "created_at", + "item", + "role", + "status" + ], + "starting_item_offset": 0, + "maximum_items_per_page": 100 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.py new file mode 100644 index 00000000..79428658 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetPendingCollaborationInvites" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'collaboration_status': 'pending', + 'include_attributes': ['id', 'created_by', 'created_at', 'item', 'role', 'status'], + 'starting_item_offset': 0, + 'maximum_items_per_page': 100 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.js new file mode 100644 index 00000000..84caf1db --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetRecentItemsInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "include_additional_fields": [ + "size", + "created_by", + "parent" + ], + "max_items_per_page": 100, + "pagination_start_marker": "marker_abc123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.py new file mode 100644 index 00000000..e8359bac --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetRecentItemsInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'include_additional_fields': ['size', 'created_by', 'parent'], + 'max_items_per_page': 100, + 'pagination_start_marker': 'marker_abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.js new file mode 100644 index 00000000..0c2b0787 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetRetentionPolicyAssignments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "retention_policy_id": "rp_9a3f2b", + "assignment_type": "folder", + "include_fields_in_response": [ + "assigned_to", + "created_by" + ], + "pagination_start_marker": "m_0", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.py new file mode 100644 index 00000000..5d1b3653 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetRetentionPolicyAssignments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'retention_policy_id': 'rp_9a3f2b', + 'assignment_type': 'folder', + 'include_fields_in_response': ['assigned_to', 'created_by'], + 'pagination_start_marker': 'm_0', + 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.js new file mode 100644 index 00000000..0ccbbabf --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetRetentionPolicy"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "retention_policy_id": "rp_12345", + "include_attributes": [ + "name", + "rules", + "created_by" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.py new file mode 100644 index 00000000..c6fe3e62 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetRetentionPolicy" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'retention_policy_id': 'rp_12345', 'include_attributes': ['name', 'rules', 'created_by'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.js new file mode 100644 index 00000000..d5b8fc43 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetSafeCollaborationDomains"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_start_marker": "marker_abc123", + "maximum_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.py new file mode 100644 index 00000000..eccf5dde --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetSafeCollaborationDomains" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_start_marker': 'marker_abc123', 'maximum_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.js new file mode 100644 index 00000000..91a6e60c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetSharedAppItem"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shared_link_information": "shared_link=https://example.com/s/abc123&shared_link_password=secret" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.py new file mode 100644 index 00000000..857335c9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetSharedAppItem" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shared_link_information': 'shared_link=https://example.com/s/abc123&shared_link_password=secret' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.js new file mode 100644 index 00000000..23b85bc8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetSharedFolderInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shared_link_header": "shared_link=https://cloud.example.com/s/AbCdEf&shared_link_password=tr0ub4dor", + "include_fields": [ + "id", + "name", + "size", + "created_at" + ], + "etag_condition": "\"3f80f-1b6-3e9\"" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.py new file mode 100644 index 00000000..4748848e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetSharedFolderInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shared_link_header': 'shared_link=https://cloud.example.com/s/AbCdEf&shared_link_password=tr0ub4dor', + 'include_fields': ['id', 'name', 'size', 'created_at'], + 'etag_condition': '"3f80f-1b6-3e9"' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.js new file mode 100644 index 00000000..5efa9cb9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetSharedLinkInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "include_shared_link_fields": "shared_link", + "file_identifier": "12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.py new file mode 100644 index 00000000..e72dd0b5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetSharedLinkInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'include_shared_link_fields': 'shared_link', 'file_identifier': '12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.js new file mode 100644 index 00000000..1c4c6d54 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetSharedWebLinkInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "request_shared_link_fields": "url,access,permissions", + "web_link_identifier": "wl_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.py new file mode 100644 index 00000000..a58836b8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetSharedWebLinkInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'request_shared_link_fields': 'url,access,permissions', 'web_link_identifier': 'wl_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.js new file mode 100644 index 00000000..9ae9bc21 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetShieldInfoBarrierMember"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "member_id": "mbr_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.py new file mode 100644 index 00000000..a332d243 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetShieldInfoBarrierMember" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'member_id': 'mbr_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.js new file mode 100644 index 00000000..e6113456 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetShieldInfoBarrierSegment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "barrier_segment_id": "seg_abc123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.py new file mode 100644 index 00000000..763891de --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetShieldInfoBarrierSegment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'barrier_segment_id': 'seg_abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.js new file mode 100644 index 00000000..d5a0cc19 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetShieldInformationBarrier"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shield_information_barrier_id": "sib_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.py new file mode 100644 index 00000000..fe37b8f8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetShieldInformationBarrier" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shield_information_barrier_id': 'sib_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.js new file mode 100644 index 00000000..a64ca314 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetShieldInformationBarrierReports"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shield_information_barrier_id": "sib_7890abcd", + "pagination_marker": "marker_2", + "maximum_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.py new file mode 100644 index 00000000..18f6248d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetShieldInformationBarrierReports" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shield_information_barrier_id': 'sib_7890abcd', + 'pagination_marker': 'marker_2', + 'maximum_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.js new file mode 100644 index 00000000..a1a22361 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetShieldInformationBarrierSegmentInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "segment_restriction_id": "sr_1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.py new file mode 100644 index 00000000..fd4798fb --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetShieldInformationBarrierSegmentInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'segment_restriction_id': 'sr_1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.js new file mode 100644 index 00000000..4fdc2e1a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetShieldInformationBarrierSegments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shield_information_barrier_id": "sib-12345", + "pagination_position_marker": "marker-2", + "maximum_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.py new file mode 100644 index 00000000..67de4ead --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetShieldInformationBarrierSegments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shield_information_barrier_id': 'sib-12345', + 'pagination_position_marker': 'marker-2', + 'maximum_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.js new file mode 100644 index 00000000..5f73fe83 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetShieldInformationBarriers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_marker": "abc123", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.py new file mode 100644 index 00000000..8bd07175 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetShieldInformationBarriers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_marker': 'abc123', 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.js new file mode 100644 index 00000000..b3128606 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetShieldInformationRestrictions"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "segment_id": "seg-8f3b12a7", + "pagination_position_marker": "marker-2", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.py new file mode 100644 index 00000000..238f3b83 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetShieldInformationRestrictions" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'segment_id': 'seg-8f3b12a7', 'pagination_position_marker': 'marker-2', 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.js new file mode 100644 index 00000000..84e81cec --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetSpecificTermsOfService"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "terms_of_service_id": "tos_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.py new file mode 100644 index 00000000..6c74d735 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetSpecificTermsOfService" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'terms_of_service_id': 'tos_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.js new file mode 100644 index 00000000..bb5b9a31 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetSpecificWebhook"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "webhook_id": "wh_12345abcde" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.py new file mode 100644 index 00000000..0a534274 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetSpecificWebhook" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'webhook_id': 'wh_12345abcde' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.js new file mode 100644 index 00000000..7153cd79 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetTeamsIntegrationMappings"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mapped_item_type": "channel", + "mapped_item_id": "19:abc123def456ghi789@thread.tacv2", + "box_item_id_for_mappings": "1234567890", + "box_item_type": "folder" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.py new file mode 100644 index 00000000..c140c1f2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetTeamsIntegrationMappings" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mapped_item_type': 'channel', + 'mapped_item_id': '19:abc123def456ghi789@thread.tacv2', + 'box_item_id_for_mappings': '1234567890', + 'box_item_type': 'folder' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.js new file mode 100644 index 00000000..c9227f08 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetUploadSessionDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "upload_session_id": "sess_12345abcde" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.py new file mode 100644 index 00000000..0b8bb424 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetUploadSessionDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'upload_session_id': 'sess_12345abcde' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.js new file mode 100644 index 00000000..218cd0e1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetUploadedChunksList"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "upload_session_identifier": "sess_abc123", + "response_offset": 0, + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.py new file mode 100644 index 00000000..aa8ddfa6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetUploadedChunksList" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'upload_session_identifier': 'sess_abc123', 'response_offset': 0, 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.js new file mode 100644 index 00000000..05156ad0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetUserAvatar"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "user_id": "user_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.py new file mode 100644 index 00000000..bed4e487 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetUserAvatar" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'user_id': 'user_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.js new file mode 100644 index 00000000..b6ba043a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetUserEmailAliases"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "user_identifier": "user_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.py new file mode 100644 index 00000000..5a95552e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetUserEmailAliases" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'user_identifier': 'user_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.js new file mode 100644 index 00000000..3008b624 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetUserGroupMemberships"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "user_identifier": "user_7890", + "max_items_per_page": 50, + "response_offset": 0 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.py new file mode 100644 index 00000000..d942f9cb --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetUserGroupMemberships" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'user_identifier': 'user_7890', 'max_items_per_page': 50, 'response_offset': 0 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.js new file mode 100644 index 00000000..d5562caa --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetUserInformation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "user_identifier": "u-93b2f1", + "requested_user_fields": [ + "email", + "displayName", + "department" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.py new file mode 100644 index 00000000..11f3f822 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetUserInformation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'user_identifier': 'u-93b2f1', 'requested_user_fields': ['email', 'displayName', 'department'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.js new file mode 100644 index 00000000..2e1d338e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.GetUserTosStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "terms_of_service_id": "tos_2025_07_v1", + "filter_by_user_id": "user_789" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.py new file mode 100644 index 00000000..720dc814 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.GetUserTosStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'terms_of_service_id': 'tos_2025_07_v1', 'filter_by_user_id': 'user_789' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.js new file mode 100644 index 00000000..43a10f81 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.js @@ -0,0 +1,44 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListAiAgents"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "filter_by_mode": [ + "text_gen", + "extract" + ], + "response_fields": [ + "id", + "name", + "mode", + "status" + ], + "agent_state_filter": [ + "enabled", + "enabled_for_selected_users" + ], + "results_start_position_marker": "marker_abc123", + "max_items_per_page": 25, + "include_box_default_agents": false +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.py new file mode 100644 index 00000000..620a856d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListAiAgents" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'filter_by_mode': ['text_gen', 'extract'], + 'response_fields': ['id', 'name', 'mode', 'status'], + 'agent_state_filter': ['enabled', 'enabled_for_selected_users'], + 'results_start_position_marker': 'marker_abc123', + 'max_items_per_page': 25, + 'include_box_default_agents': False +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.js new file mode 100644 index 00000000..500fa1b3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListBoxDocTemplates"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_start_marker": "abc123marker", + "max_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.py new file mode 100644 index 00000000..2834726a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListBoxDocTemplates" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_start_marker': 'abc123marker', 'max_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.js new file mode 100644 index 00000000..65ebedb7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListBoxDocgenJobs"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_marker": "abc123marker", + "maximum_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.py new file mode 100644 index 00000000..057e5fc8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListBoxDocgenJobs" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_marker': 'abc123marker', 'maximum_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.js new file mode 100644 index 00000000..7a9e6e75 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListBoxDocgenTemplateTags"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "template_id": "tmpl_12345", + "template_version_id": "v2", + "pagination_start_marker": "marker_0", + "maximum_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.py new file mode 100644 index 00000000..cbfae3cf --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListBoxDocgenTemplateTags" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'template_id': 'tmpl_12345', + 'template_version_id': 'v2', + 'pagination_start_marker': 'marker_0', + 'maximum_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.js new file mode 100644 index 00000000..33b05f2f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListDefinedWebhooks"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_start_marker": "abc123", + "maximum_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.py new file mode 100644 index 00000000..56731207 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListDefinedWebhooks" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_start_marker': 'abc123', 'maximum_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.js new file mode 100644 index 00000000..5e02321d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListDocgenBatchJobs"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "box_doc_gen_batch_id": "batch_12345", + "pagination_marker": "marker_abc", + "maximum_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.py new file mode 100644 index 00000000..e0b89baf --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListDocgenBatchJobs" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'box_doc_gen_batch_id': 'batch_12345', + 'pagination_marker': 'marker_abc', + 'maximum_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.js new file mode 100644 index 00000000..9bad866a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListEnterpriseUsers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search_term_for_user_filtering": "alex", + "user_type_filter": "managed", + "include_additional_fields": [ + "role", + "language" + ], + "response_offset": 0, + "max_items_per_page": 100, + "use_marker_pagination": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.py new file mode 100644 index 00000000..e6dcca4c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListEnterpriseUsers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search_term_for_user_filtering': 'alex', + 'user_type_filter': 'managed', + 'include_additional_fields': ['role', 'language'], + 'response_offset': 0, + 'max_items_per_page': 100, + 'use_marker_pagination': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.js new file mode 100644 index 00000000..3853fdf1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListFilesUnderRetentionPolicy"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "retention_policy_assignment_id": "rp_7890abcd", + "position_marker": "marker_12345", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.py new file mode 100644 index 00000000..e56eb247 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListFilesUnderRetentionPolicy" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'retention_policy_assignment_id': 'rp_7890abcd', + 'position_marker': 'marker_12345', + 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.js new file mode 100644 index 00000000..424fbf6e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListShieldBarrierSegmentMembers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "segment_id": "seg_abc123", + "pagination_marker": "marker_xyz", + "items_per_page_limit": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.py new file mode 100644 index 00000000..98e808fd --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListShieldBarrierSegmentMembers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'segment_id': 'seg_abc123', 'pagination_marker': 'marker_xyz', 'items_per_page_limit': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.js new file mode 100644 index 00000000..30b86f0f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListSlackIntegrationMappings"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_start_marker": "abc123", + "max_items_per_page": 25, + "mapped_item_type": "channel", + "mapped_item_id": "C0456XYZ", + "box_item_id": "7890123456", + "box_item_type": "folder", + "include_manually_created_mappings": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.py new file mode 100644 index 00000000..2e4b90be --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.py @@ -0,0 +1,35 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListSlackIntegrationMappings" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_start_marker': 'abc123', + 'max_items_per_page': 25, + 'mapped_item_type': 'channel', + 'mapped_item_id': 'C0456XYZ', + 'box_item_id': '7890123456', + 'box_item_type': 'folder', + 'include_manually_created_mappings': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.js new file mode 100644 index 00000000..f47aa417 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListTaskAssignments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "task_id": "task_7890abc" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.py new file mode 100644 index 00000000..02c49309 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListTaskAssignments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'task_id': 'task_7890abc' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.js new file mode 100644 index 00000000..afc107d7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ListTemplateJobs"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "template_identifier": "tmpl_12345", + "pagination_start_marker": "marker_abc", + "max_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.py new file mode 100644 index 00000000..1b846262 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ListTemplateJobs" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'template_identifier': 'tmpl_12345', + 'pagination_start_marker': 'marker_abc', + 'max_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.js new file mode 100644 index 00000000..44ff12b4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.PermanentlyDeleteFileFromTrash"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "file_9a8b7c6d1234" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.py new file mode 100644 index 00000000..3ff9eb3f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.PermanentlyDeleteFileFromTrash" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': 'file_9a8b7c6d1234' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.js new file mode 100644 index 00000000..236172f9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.PermanentlyDeleteFolderInTrash"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "abc123-folder-id" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.py new file mode 100644 index 00000000..5620f3ae --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.PermanentlyDeleteFolderInTrash" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': 'abc123-folder-id' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.js new file mode 100644 index 00000000..1aca7c11 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.PermanentlyDeleteTrashedWebLink"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "web_link_identifier": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.py new file mode 100644 index 00000000..005176de --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.PermanentlyDeleteTrashedWebLink" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'web_link_identifier': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.js new file mode 100644 index 00000000..3fd48ad7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveBoxSkillsMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.py new file mode 100644 index 00000000..60ca1e6f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveBoxSkillsMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.js new file mode 100644 index 00000000..1f82bc01 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveCollaborationWhitelistExemption"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "exemption_id": "ex_9876543210" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.py new file mode 100644 index 00000000..9a43bef4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveCollaborationWhitelistExemption" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'exemption_id': 'ex_9876543210' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.js new file mode 100644 index 00000000..793a9f78 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveFileClassification"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.py new file mode 100644 index 00000000..5661f305 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveFileClassification" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.js new file mode 100644 index 00000000..47019415 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveFileWatermark"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.py new file mode 100644 index 00000000..5b0bae2a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveFileWatermark" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.js new file mode 100644 index 00000000..0ad0e049 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveFolderClassifications"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "123456789" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.py new file mode 100644 index 00000000..eabd75cf --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveFolderClassifications" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '123456789' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.js new file mode 100644 index 00000000..1d32668c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveLegalHoldFromItem"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "legal_hold_policy_assignment_id": "lhpa_8f3d2b1a" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.py new file mode 100644 index 00000000..d6e5946d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveLegalHoldFromItem" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'legal_hold_policy_assignment_id': 'lhpa_8f3d2b1a' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.js new file mode 100644 index 00000000..d5a23ce8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveRetentionPolicyAssignment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "retention_policy_assignment_id": "rpa_1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.py new file mode 100644 index 00000000..d5f41fe9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveRetentionPolicyAssignment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'retention_policy_assignment_id': 'rpa_1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.js new file mode 100644 index 00000000..d7d8a7a4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveSafeCollaborationDomain"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "whitelist_entry_id": "d41f2b7a-8c3e-4f6a-9b2d-12345abcde67" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.py new file mode 100644 index 00000000..4ea3f596 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveSafeCollaborationDomain" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'whitelist_entry_id': 'd41f2b7a-8c3e-4f6a-9b2d-12345abcde67' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.js new file mode 100644 index 00000000..6a9366f4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveShieldBarrierMember"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "member_id_for_deletion": "mbr_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.py new file mode 100644 index 00000000..85ed2429 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveShieldBarrierMember" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'member_id_for_deletion': 'mbr_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.js new file mode 100644 index 00000000..1c3de43e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveUserAvatar"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "user_identifier": "user_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.py new file mode 100644 index 00000000..c9dc119a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveUserAvatar" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'user_identifier': 'user_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.js new file mode 100644 index 00000000..06c021e2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveUserEmailAlias"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "user_identifier": "user_12345", + "email_alias_id": "alias_67890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.py new file mode 100644 index 00000000..bd123fe7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveUserEmailAlias" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'user_identifier': 'user_12345', 'email_alias_id': 'alias_67890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.js new file mode 100644 index 00000000..2409eb6a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RemoveWatermarkFromFolder"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.py new file mode 100644 index 00000000..e7660759 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RemoveWatermarkFromFolder" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.js new file mode 100644 index 00000000..cd331d10 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.ResendSignatureRequestEmail"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "signature_request_id": "req_12345abcde" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.py new file mode 100644 index 00000000..47cd471c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.ResendSignatureRequestEmail" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'signature_request_id': 'req_12345abcde' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.js new file mode 100644 index 00000000..8c0d18c1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveBoxHubCollaborations"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "hub_identifier": "hub_12345abcdef", + "pagination_marker": "marker_01", + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.py new file mode 100644 index 00000000..b5dd5521 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveBoxHubCollaborations" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'hub_identifier': 'hub_12345abcdef', 'pagination_marker': 'marker_01', 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.js new file mode 100644 index 00000000..f15cf9fd --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveBoxHubDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "box_hub_identifier": "12345abcdef" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.py new file mode 100644 index 00000000..fbf14673 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveBoxHubDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'box_hub_identifier': '12345abcdef' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.js new file mode 100644 index 00000000..ae4a9744 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveBoxHubItems"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "hub_identifier": "1234567890", + "pagination_start_marker": "marker_abc123", + "maximum_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.py new file mode 100644 index 00000000..8b046bc5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveBoxHubItems" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'hub_identifier': '1234567890', + 'pagination_start_marker': 'marker_abc123', + 'maximum_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.js new file mode 100644 index 00000000..28651e15 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveCollectionById"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "collection_identifier": "col_9a8b7c6d5e" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.py new file mode 100644 index 00000000..95163cc3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveCollectionById" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'collection_identifier': 'col_9a8b7c6d5e' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.js new file mode 100644 index 00000000..26f02865 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveCollectionContents"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "collection_id": "col_9a8b7c6d", + "attributes_to_include": [ + "name", + "size", + "modified_at" + ], + "response_offset": 0, + "max_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.py new file mode 100644 index 00000000..12d7bc6e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveCollectionContents" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'collection_id': 'col_9a8b7c6d', + 'attributes_to_include': ['name', 'size', 'modified_at'], + 'response_offset': 0, + 'max_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.js new file mode 100644 index 00000000..c21020e1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveEnterpriseArchives"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "max_items_per_page": 50, + "pagination_start_marker": "marker_0001" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.py new file mode 100644 index 00000000..f2155b36 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveEnterpriseArchives" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'max_items_per_page': 50, 'pagination_start_marker': 'marker_0001' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.js new file mode 100644 index 00000000..3cf74e50 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveEnterpriseGroups"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "group_name_starts_with": "Dev", + "included_attributes": [ + "id", + "name", + "member_count" + ], + "max_items_per_page": 50, + "starting_item_offset": 0 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.py new file mode 100644 index 00000000..fe7aa76c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveEnterpriseGroups" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'group_name_starts_with': 'Dev', + 'included_attributes': ['id', 'name', 'member_count'], + 'max_items_per_page': 50, + 'starting_item_offset': 0 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.js new file mode 100644 index 00000000..5adb436a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveEnterpriseMetadataTemplates"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_start_marker": "abc123marker", + "maximum_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.py new file mode 100644 index 00000000..5833cec3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveEnterpriseMetadataTemplates" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_start_marker': 'abc123marker', 'maximum_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.js new file mode 100644 index 00000000..38ca0cda --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFileDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "12345", + "included_file_attributes": [ + "name", + "size", + "metadata:global.key1" + ], + "etag_conditional_retrieval": "0xabcdef1234567890", + "shared_link_with_optional_password": "shared_link=https://example.app.box.com/s/abc123&shared_link_password=secret", + "file_representations_request": "[jpg?dimensions=128x128][pdf?max_width=1024]" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.py new file mode 100644 index 00000000..1aaa70f2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFileDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '12345', + 'included_file_attributes': ['name', 'size', 'metadata:global.key1'], + 'etag_conditional_retrieval': '0xabcdef1234567890', + 'shared_link_with_optional_password': 'shared_link=https://example.app.box.com/s/abc123&shared_link_password=secret', + 'file_representations_request': '[jpg?dimensions=128x128][pdf?max_width=1024]' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.js new file mode 100644 index 00000000..955fa0ed --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFileMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.py new file mode 100644 index 00000000..3f48d8c2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFileMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.js new file mode 100644 index 00000000..68ec36c2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFileRequestInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_request_unique_id": "fr_9a8b7c6d5e4f3a2b" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.py new file mode 100644 index 00000000..43d756c1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFileRequestInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_request_unique_id': 'fr_9a8b7c6d5e4f3a2b' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.js new file mode 100644 index 00000000..ba26c3dd --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFileTemplateMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1234567890", + "metadata_scope": "enterprise", + "metadata_template_name": "DocumentClassification" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.py new file mode 100644 index 00000000..59705738 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFileTemplateMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1234567890', + 'metadata_scope': 'enterprise', + 'metadata_template_name': 'DocumentClassification' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.js new file mode 100644 index 00000000..e9cb4c03 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFileThumbnail"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1234567890", + "thumbnail_file_format": "png", + "minimum_thumbnail_height": 64, + "minimum_thumbnail_width": 64, + "maximum_thumbnail_height": 128, + "maximum_thumbnail_width": 128 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.py new file mode 100644 index 00000000..0461ac68 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFileThumbnail" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1234567890', + 'thumbnail_file_format': 'png', + 'minimum_thumbnail_height': 64, + 'minimum_thumbnail_width': 64, + 'maximum_thumbnail_height': 128, + 'maximum_thumbnail_width': 128 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.js new file mode 100644 index 00000000..8b3c488d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFileVersion"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "unique_file_identifier": "12345", + "file_version_identifier": "v98765", + "include_additional_attributes": [ + "tags", + "created_by", + "md5" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.py new file mode 100644 index 00000000..1b1c696f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFileVersion" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'unique_file_identifier': '12345', + 'file_version_identifier': 'v98765', + 'include_additional_attributes': ['tags', 'created_by', 'md5'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.js new file mode 100644 index 00000000..d8a9dbfc --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFileVersionLegalHolds"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_version_legal_hold_id": "fh_9a1b2c3d4e5f" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.py new file mode 100644 index 00000000..08130887 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFileVersionLegalHolds" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_version_legal_hold_id': 'fh_9a1b2c3d4e5f' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.js new file mode 100644 index 00000000..3c5dd819 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.js @@ -0,0 +1,38 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFolderItems"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "1234567890", + "included_attributes": [ + "size", + "metadata.customer.id" + ], + "starting_item_offset": 0, + "max_items_per_page": 100, + "sort_attribute": "name", + "sort_direction": "ASC", + "shared_link_credentials": "shared_link=https://example.com/s/abc123", + "use_marker_based_pagination": false +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.py new file mode 100644 index 00000000..5ff272d7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.py @@ -0,0 +1,36 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFolderItems" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '1234567890', + 'included_attributes': ['size', 'metadata.customer.id'], + 'starting_item_offset': 0, + 'max_items_per_page': 100, + 'sort_attribute': 'name', + 'sort_direction': 'ASC', + 'shared_link_credentials': 'shared_link=https://example.com/s/abc123', + 'use_marker_based_pagination': False +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.js new file mode 100644 index 00000000..afe5d1dd --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFolderLockDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "123456789" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.py new file mode 100644 index 00000000..9a4a5fbb --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFolderLockDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '123456789' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.js new file mode 100644 index 00000000..bcbe823e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveFolderMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.py new file mode 100644 index 00000000..9b7ab9cb --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveFolderMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.js new file mode 100644 index 00000000..a7c6bd76 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveGlobalMetadataTemplates"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pagination_start_marker": "0", + "max_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.py new file mode 100644 index 00000000..5e75ce0a --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveGlobalMetadataTemplates" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pagination_start_marker': '0', 'max_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.js new file mode 100644 index 00000000..b228be7c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveGroupInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "group_id": "123456789", + "include_additional_fields": [ + "members", + "description" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.py new file mode 100644 index 00000000..ae93d94e --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveGroupInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'group_id': '123456789', 'include_additional_fields': ['members', 'description'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.js new file mode 100644 index 00000000..ed3fafaa --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveGroupMembership"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "group_membership_id": "gm_8f7d3a2b", + "include_fields_list": [ + "joined_at", + "role", + "permissions" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.py new file mode 100644 index 00000000..fb80d1a6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveGroupMembership" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'group_membership_id': 'gm_8f7d3a2b', 'include_fields_list': ['joined_at', 'role', 'permissions'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.js new file mode 100644 index 00000000..1b0fd724 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.js @@ -0,0 +1,30 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveGroupMemberships"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "group_identifier": "grp_8f3a2b", + "max_items_per_page": 100, + "response_offset": 0 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.py new file mode 100644 index 00000000..926d6f9d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveGroupMemberships" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'group_identifier': 'grp_8f3a2b', 'max_items_per_page': 100, 'response_offset': 0 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.js new file mode 100644 index 00000000..02697b94 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveLegalHoldPolicies"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "policy_name_prefix": "HR-", + "response_attributes": [ + "id", + "name", + "created_at" + ], + "maximum_items_per_page": 25 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.py new file mode 100644 index 00000000..32752d13 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveLegalHoldPolicies" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'policy_name_prefix': 'HR-', + 'response_attributes': ['id', 'name', 'created_at'], + 'maximum_items_per_page': 25 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.js new file mode 100644 index 00000000..58169c37 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveLegalHoldPolicyAssignment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "legal_hold_policy_assignment_id": "lhpa_89b2f7a1" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.py new file mode 100644 index 00000000..1f20c889 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveLegalHoldPolicyAssignment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'legal_hold_policy_assignment_id': 'lhpa_89b2f7a1' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.js new file mode 100644 index 00000000..aee6f615 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveLegalHoldPolicy"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "legal_hold_policy_id": "lh_policy_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.py new file mode 100644 index 00000000..0e406aee --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveLegalHoldPolicy" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'legal_hold_policy_id': 'lh_policy_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.js new file mode 100644 index 00000000..61112c55 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveMetadataCascadePolicy"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "metadata_cascade_policy_id": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.py new file mode 100644 index 00000000..08932405 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveMetadataCascadePolicy" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'metadata_cascade_policy_id': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.js new file mode 100644 index 00000000..62d90f35 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveMetadataTemplate"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "metadata_template_scope": "enterprise", + "metadata_template_name": "invoiceDetails" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.py new file mode 100644 index 00000000..87f26489 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveMetadataTemplate" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'metadata_template_scope': 'enterprise', 'metadata_template_name': 'invoiceDetails' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.js new file mode 100644 index 00000000..8f0ce376 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveRetentionPolicyAssignment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "retention_policy_assignment_id": "1234567890", + "include_fields_in_response": [ + "id", + "policy_id", + "assigned_to", + "created_at" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.py new file mode 100644 index 00000000..ff4d5f48 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveRetentionPolicyAssignment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'retention_policy_assignment_id': '1234567890', + 'include_fields_in_response': ['id', 'policy_id', 'assigned_to', 'created_at'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.js new file mode 100644 index 00000000..54bfd9b6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveSharedFileInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shared_link_credentials": "shared_link=https://files.example.com/s/abc123&shared_link_password=Secr3t!", + "include_attributes_in_response": [ + "permissions", + "created_at" + ], + "etag_for_change_detection": "\"e1a1b2c3\"" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.py new file mode 100644 index 00000000..780a2ba8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveSharedFileInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shared_link_credentials': 'shared_link=https://files.example.com/s/abc123&shared_link_password=Secr3t!', + 'include_attributes_in_response': ['permissions', 'created_at'], + 'etag_for_change_detection': '"e1a1b2c3"' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.js new file mode 100644 index 00000000..a7245ed3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveSharedWebLink"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shared_link_header": "shared_link=https://example.com/s/abc123&shared_link_password=secret", + "include_attributes_in_response": [ + "name", + "size", + "created_at" + ], + "etag_if_updated_only": "\"3a7f9b2\"" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.py new file mode 100644 index 00000000..f3d1a513 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveSharedWebLink" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shared_link_header': 'shared_link=https://example.com/s/abc123&shared_link_password=secret', + 'include_attributes_in_response': ['name', 'size', 'created_at'], + 'etag_if_updated_only': '"3a7f9b2"' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.js new file mode 100644 index 00000000..49602573 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveShieldListById"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "shield_list_identifier": "shield-list_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.py new file mode 100644 index 00000000..c20fdd8c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveShieldListById" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'shield_list_identifier': 'shield-list_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.js new file mode 100644 index 00000000..9a5047df --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveSignRequestById"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "signature_request_id": "sr_1234567890abcdef" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.py new file mode 100644 index 00000000..0c7113cd --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveSignRequestById" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'signature_request_id': 'sr_1234567890abcdef' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.js new file mode 100644 index 00000000..e776b5d5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveTaskAssignmentInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "task_assignment_id": "ta_9f3b2a1c" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.py new file mode 100644 index 00000000..c87a1982 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveTaskAssignmentInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'task_assignment_id': 'ta_9f3b2a1c' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.js new file mode 100644 index 00000000..62411ca4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveTaskInformation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "task_id": "task_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.py new file mode 100644 index 00000000..d42f64bb --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveTaskInformation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'task_id': 'task_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.js new file mode 100644 index 00000000..0f43a929 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveTrashedFile"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_identifier": "1a2B3cD4eF5Gh6Ij7K8l", + "include_attributes_in_response": [ + "name", + "size", + "created_at" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.py new file mode 100644 index 00000000..38ec7f99 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveTrashedFile" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_identifier': '1a2B3cD4eF5Gh6Ij7K8l', + 'include_attributes_in_response': ['name', 'size', 'created_at'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.js new file mode 100644 index 00000000..568a8036 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveTrashedFolder"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "folder_identifier": "12345-abcde", + "include_attributes_in_response": [ + "deletedAt", + "deletedBy", + "originalParentId" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.py new file mode 100644 index 00000000..b9366e99 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveTrashedFolder" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'folder_identifier': '12345-abcde', + 'include_attributes_in_response': ['deletedAt', 'deletedBy', 'originalParentId'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.js new file mode 100644 index 00000000..833f000d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.js @@ -0,0 +1,37 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveTrashedItems"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "include_attributes": [ + "size", + "created_at", + "owner" + ], + "maximum_items_per_page": 50, + "pagination_offset": 0, + "sort_direction": "DESC", + "secondary_sort_attribute": "date", + "use_marker_based_pagination": false +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.py new file mode 100644 index 00000000..e189e82b --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveTrashedItems" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'include_attributes': ['size', 'created_at', 'owner'], + 'maximum_items_per_page': 50, + 'pagination_offset': 0, + 'sort_direction': 'DESC', + 'secondary_sort_attribute': 'date', + 'use_marker_based_pagination': False +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.js new file mode 100644 index 00000000..b0df3b4f --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveTrashedWebLink"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "web_link_id": "9876543210", + "include_fields_in_response": [ + "url", + "created_by", + "deleted_at" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.py new file mode 100644 index 00000000..98c6bf71 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveTrashedWebLink" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'web_link_id': '9876543210', 'include_fields_in_response': ['url', 'created_by', 'deleted_at'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.js new file mode 100644 index 00000000..0ca5689c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveUserCollections"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "requested_fields": [ + "id", + "title", + "item_count" + ], + "pagination_offset": 0, + "maximum_items_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.py new file mode 100644 index 00000000..7f0a1e12 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveUserCollections" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'requested_fields': ['id', 'title', 'item_count'], + 'pagination_offset': 0, + 'maximum_items_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.js new file mode 100644 index 00000000..fc9974d7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.RetrieveWebLinkInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "web_link_id": "1234567890", + "shared_link_access_details": "shared_link=https://box.com/s/abcdef&shared_link_password=pass123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.py new file mode 100644 index 00000000..96aa7eb6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.RetrieveWebLinkInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'web_link_id': '1234567890', + 'shared_link_access_details': 'shared_link=https://box.com/s/abcdef&shared_link_password=pass123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.js b/public/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.js new file mode 100644 index 00000000..82a8688c --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.js @@ -0,0 +1,28 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "BoxApi.UnmarkBoxDocTemplate"; + +// Start the authorization process +const authResponse = await client.tools.authorize({tool_name: TOOL_NAME}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "file_id_to_unmark": "1234567890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.py b/public/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.py new file mode 100644 index 00000000..7be5a22d --- /dev/null +++ b/public/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "BoxApi.UnmarkBoxDocTemplate" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'file_id_to_unmark': '1234567890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2))