From 38d3555193970c5fd7006bff9791a08ab6df7f2e Mon Sep 17 00:00:00 2001 From: Renato Byrro Date: Wed, 1 Oct 2025 22:30:03 -0300 Subject: [PATCH 1/4] Box Starter MCP server docs --- .../mcp-servers/components/toolkits-config.ts | 9 + .../mcp-servers/productivity/box_api/page.mdx | 5659 +++++++++++++++++ .../abort_upload_session_example_call_tool.js | 28 + .../abort_upload_session_example_call_tool.py | 29 + .../cancel_sign_request_example_call_tool.js | 28 + .../cancel_sign_request_example_call_tool.py | 29 + ...ck_user_invite_status_example_call_tool.js | 32 + ...ck_user_invite_status_example_call_tool.py | 29 + ...k_zip_download_status_example_call_tool.js | 28 + ...k_zip_download_status_example_call_tool.py | 29 + .../delete_ai_agent_example_call_tool.js | 28 + .../delete_ai_agent_example_call_tool.py | 29 + .../delete_archive_example_call_tool.js | 28 + .../delete_archive_example_call_tool.py | 29 + ...lete_box_file_version_example_call_tool.js | 30 + ...lete_box_file_version_example_call_tool.py | 29 + ...box_hub_collaboration_example_call_tool.js | 28 + ...box_hub_collaboration_example_call_tool.py | 29 + .../delete_box_hub_example_call_tool.js | 28 + .../delete_box_hub_example_call_tool.py | 29 + .../delete_collaboration_example_call_tool.js | 28 + .../delete_collaboration_example_call_tool.py | 29 + .../delete_comment_example_call_tool.js | 28 + .../delete_comment_example_call_tool.py | 29 + .../delete_device_pin_example_call_tool.js | 28 + .../delete_device_pin_example_call_tool.py | 29 + .../delete_file_from_box_example_call_tool.js | 29 + .../delete_file_from_box_example_call_tool.py | 29 + .../delete_file_metadata_example_call_tool.js | 30 + .../delete_file_metadata_example_call_tool.py | 31 + .../delete_file_request_example_call_tool.js | 28 + .../delete_file_request_example_call_tool.py | 29 + .../delete_folder_example_call_tool.js | 30 + .../delete_folder_example_call_tool.py | 31 + .../delete_folder_lock_example_call_tool.js | 28 + .../delete_folder_lock_example_call_tool.py | 29 + ...elete_folder_metadata_example_call_tool.js | 30 + ...elete_folder_metadata_example_call_tool.py | 31 + .../box_api/delete_group_example_call_tool.js | 28 + .../box_api/delete_group_example_call_tool.py | 29 + ...lete_group_membership_example_call_tool.js | 28 + ...lete_group_membership_example_call_tool.py | 29 + ...ete_legal_hold_policy_example_call_tool.js | 28 + ...ete_legal_hold_policy_example_call_tool.py | 29 + ...tadata_cascade_policy_example_call_tool.js | 28 + ...tadata_cascade_policy_example_call_tool.py | 29 + ...ete_metadata_template_example_call_tool.js | 29 + ...ete_metadata_template_example_call_tool.py | 29 + ...lete_retention_policy_example_call_tool.js | 28 + ...lete_retention_policy_example_call_tool.py | 29 + ...r_segment_restriction_example_call_tool.js | 28 + ...r_segment_restriction_example_call_tool.py | 29 + ...ation_barrier_segment_example_call_tool.js | 28 + ...ation_barrier_segment_example_call_tool.py | 29 + ...ete_shield_list_by_id_example_call_tool.js | 28 + ...ete_shield_list_by_id_example_call_tool.py | 29 + ...k_integration_mapping_example_call_tool.js | 28 + ...k_integration_mapping_example_call_tool.py | 29 + ...age_policy_assignment_example_call_tool.js | 28 + ...age_policy_assignment_example_call_tool.py | 29 + ...elete_task_assignment_example_call_tool.js | 28 + ...elete_task_assignment_example_call_tool.py | 29 + ...delete_task_from_file_example_call_tool.js | 28 + ...delete_task_from_file_example_call_tool.py | 29 + ...s_integration_mapping_example_call_tool.js | 28 + ...s_integration_mapping_example_call_tool.py | 29 + .../delete_user_account_example_call_tool.js | 30 + .../delete_user_account_example_call_tool.py | 29 + .../delete_web_link_example_call_tool.js | 28 + .../delete_web_link_example_call_tool.py | 29 + .../delete_webhook_example_call_tool.js | 28 + .../delete_webhook_example_call_tool.py | 29 + ...download_file_content_example_call_tool.js | 32 + ...download_file_content_example_call_tool.py | 33 + .../download_zip_content_example_call_tool.js | 28 + .../download_zip_content_example_call_tool.py | 29 + ...sign_template_details_example_call_tool.js | 28 + ...sign_template_details_example_call_tool.py | 29 + ...fetch_comment_details_example_call_tool.js | 34 + ...fetch_comment_details_example_call_tool.py | 30 + ...rise_storage_policies_example_call_tool.js | 33 + ...rise_storage_policies_example_call_tool.py | 31 + ...tadata_template_by_id_example_call_tool.js | 28 + ...tadata_template_by_id_example_call_tool.py | 29 + ..._collaboration_domain_example_call_tool.js | 28 + ..._collaboration_domain_example_call_tool.py | 29 + ...shield_barrier_report_example_call_tool.js | 28 + ...shield_barrier_report_example_call_tool.py | 29 + ...ch_signature_requests_example_call_tool.js | 34 + ...ch_signature_requests_example_call_tool.py | 32 + ...age_policy_assignment_example_call_tool.js | 28 + ...age_policy_assignment_example_call_tool.py | 29 + ...ge_policy_assignments_example_call_tool.js | 30 + ...ge_policy_assignments_example_call_tool.py | 31 + .../fetch_storage_policy_example_call_tool.js | 28 + .../fetch_storage_policy_example_call_tool.py | 29 + ...ind_metadata_template_example_call_tool.js | 30 + ...ind_metadata_template_example_call_tool.py | 31 + ..._agent_default_config_example_call_tool.js | 30 + ..._agent_default_config_example_call_tool.py | 29 + .../get_ai_agent_details_example_call_tool.js | 34 + .../get_ai_agent_details_example_call_tool.py | 30 + ...thenticated_user_info_example_call_tool.js | 33 + ...thenticated_user_info_example_call_tool.py | 29 + ...ox_docgen_job_details_example_call_tool.js | 28 + ...ox_docgen_job_details_example_call_tool.py | 29 + ...cgen_template_details_example_call_tool.js | 28 + ...cgen_template_details_example_call_tool.py | 29 + .../get_box_events_example_call_tool.js | 37 + .../get_box_events_example_call_tool.py | 34 + ...collaboration_details_example_call_tool.js | 28 + ...collaboration_details_example_call_tool.py | 29 + .../box_api/get_box_hubs_example_call_tool.js | 33 + .../box_api/get_box_hubs_example_call_tool.py | 34 + ...et_box_sign_templates_example_call_tool.js | 29 + ...et_box_sign_templates_example_call_tool.py | 29 + ...t_box_skills_metadata_example_call_tool.js | 28 + ...t_box_skills_metadata_example_call_tool.py | 29 + ...assification_metadata_example_call_tool.js | 26 + ...assification_metadata_example_call_tool.py | 29 + ...collaboration_details_example_call_tool.js | 32 + ...collaboration_details_example_call_tool.py | 29 + ...whitelist_exempt_user_example_call_tool.js | 28 + ...whitelist_exempt_user_example_call_tool.py | 29 + ...hitelist_exempt_users_example_call_tool.js | 29 + ...hitelist_exempt_users_example_call_tool.py | 29 + .../get_device_pin_info_example_call_tool.js | 28 + .../get_device_pin_info_example_call_tool.py | 29 + ...t_enterprise_box_hubs_example_call_tool.js | 32 + ...t_enterprise_box_hubs_example_call_tool.py | 33 + ...nterprise_device_pins_example_call_tool.js | 31 + ...nterprise_device_pins_example_call_tool.py | 32 + ...se_retention_policies_example_call_tool.js | 38 + ...se_retention_policies_example_call_tool.py | 34 + ...terprise_shield_lists_example_call_tool.js | 26 + ...terprise_shield_lists_example_call_tool.py | 29 + ...rise_terms_of_service_example_call_tool.js | 28 + ...rise_terms_of_service_example_call_tool.py | 29 + ...file_app_associations_example_call_tool.js | 31 + ...file_app_associations_example_call_tool.py | 32 + ...assification_metadata_example_call_tool.js | 28 + ...assification_metadata_example_call_tool.py | 29 + ...t_file_collaborations_example_call_tool.js | 35 + ...t_file_collaborations_example_call_tool.py | 32 + .../get_file_comments_example_call_tool.js | 36 + .../get_file_comments_example_call_tool.py | 32 + .../get_file_tasks_example_call_tool.js | 28 + .../get_file_tasks_example_call_tool.py | 29 + ..._file_version_history_example_call_tool.js | 36 + ..._file_version_history_example_call_tool.py | 32 + ...ersion_retention_info_example_call_tool.js | 28 + ...ersion_retention_info_example_call_tool.py | 29 + ...le_version_retentions_example_call_tool.js | 35 + ...le_version_retentions_example_call_tool.py | 36 + ...ersions_on_legal_hold_example_call_tool.js | 35 + ...ersions_on_legal_hold_example_call_tool.py | 32 + ...sions_under_retention_example_call_tool.js | 30 + ...sions_under_retention_example_call_tool.py | 31 + .../get_file_watermark_example_call_tool.js | 28 + .../get_file_watermark_example_call_tool.py | 29 + ...t_files_on_legal_hold_example_call_tool.js | 36 + ...t_files_on_legal_hold_example_call_tool.py | 32 + ...app_item_associations_example_call_tool.js | 31 + ...app_item_associations_example_call_tool.py | 32 + ...folder_classification_example_call_tool.js | 28 + ...folder_classification_example_call_tool.py | 29 + ...folder_collaborations_example_call_tool.js | 35 + ...folder_collaborations_example_call_tool.py | 32 + .../get_folder_details_example_call_tool.js | 41 + .../get_folder_details_example_call_tool.py | 36 + .../get_folder_metadata_example_call_tool.js | 30 + .../get_folder_metadata_example_call_tool.py | 31 + ...lder_shared_link_info_example_call_tool.js | 29 + ...lder_shared_link_info_example_call_tool.py | 29 + .../get_folder_watermark_example_call_tool.js | 28 + .../get_folder_watermark_example_call_tool.py | 29 + ..._group_collaborations_example_call_tool.js | 30 + ..._group_collaborations_example_call_tool.py | 29 + ...e_version_legal_holds_example_call_tool.js | 30 + ...e_version_legal_holds_example_call_tool.py | 31 + ...ld_policy_assignments_example_call_tool.js | 38 + ...ld_policy_assignments_example_call_tool.py | 34 + ...anual_start_workflows_example_call_tool.js | 31 + ...anual_start_workflows_example_call_tool.py | 32 + ...data_cascade_policies_example_call_tool.js | 31 + ...data_cascade_policies_example_call_tool.py | 32 + ...collaboration_invites_example_call_tool.js | 38 + ...collaboration_invites_example_call_tool.py | 32 + ...get_recent_items_info_example_call_tool.js | 34 + ...get_recent_items_info_example_call_tool.py | 31 + ...on_policy_assignments_example_call_tool.js | 35 + ...on_policy_assignments_example_call_tool.py | 33 + .../get_retention_policy_example_call_tool.js | 33 + .../get_retention_policy_example_call_tool.py | 29 + ...collaboration_domains_example_call_tool.js | 29 + ...collaboration_domains_example_call_tool.py | 29 + .../get_shared_app_item_example_call_tool.js | 28 + .../get_shared_app_item_example_call_tool.py | 29 + ...et_shared_folder_info_example_call_tool.js | 35 + ...et_shared_folder_info_example_call_tool.py | 31 + .../get_shared_link_info_example_call_tool.js | 29 + .../get_shared_link_info_example_call_tool.py | 29 + ..._shared_web_link_info_example_call_tool.js | 29 + ..._shared_web_link_info_example_call_tool.py | 29 + ...d_info_barrier_member_example_call_tool.js | 28 + ...d_info_barrier_member_example_call_tool.py | 29 + ..._info_barrier_segment_example_call_tool.js | 28 + ..._info_barrier_segment_example_call_tool.py | 29 + ...d_information_barrier_example_call_tool.js | 28 + ...d_information_barrier_example_call_tool.py | 29 + ...ation_barrier_reports_example_call_tool.js | 30 + ...ation_barrier_reports_example_call_tool.py | 31 + ..._barrier_segment_info_example_call_tool.js | 28 + ..._barrier_segment_info_example_call_tool.py | 29 + ...tion_barrier_segments_example_call_tool.js | 30 + ...tion_barrier_segments_example_call_tool.py | 31 + ..._information_barriers_example_call_tool.js | 29 + ..._information_barriers_example_call_tool.py | 29 + ...ormation_restrictions_example_call_tool.js | 30 + ...ormation_restrictions_example_call_tool.py | 29 + ...ific_terms_of_service_example_call_tool.js | 28 + ...ific_terms_of_service_example_call_tool.py | 29 + .../get_specific_webhook_example_call_tool.js | 28 + .../get_specific_webhook_example_call_tool.py | 29 + ..._integration_mappings_example_call_tool.js | 31 + ..._integration_mappings_example_call_tool.py | 32 + ...pload_session_details_example_call_tool.js | 28 + ...pload_session_details_example_call_tool.py | 29 + ..._uploaded_chunks_list_example_call_tool.js | 30 + ..._uploaded_chunks_list_example_call_tool.py | 29 + .../get_user_avatar_example_call_tool.js | 28 + .../get_user_avatar_example_call_tool.py | 29 + ...et_user_email_aliases_example_call_tool.js | 28 + ...et_user_email_aliases_example_call_tool.py | 29 + ...ser_group_memberships_example_call_tool.js | 30 + ...ser_group_memberships_example_call_tool.py | 29 + .../get_user_information_example_call_tool.js | 33 + .../get_user_information_example_call_tool.py | 29 + .../get_user_tos_status_example_call_tool.js | 29 + .../get_user_tos_status_example_call_tool.py | 29 + .../list_ai_agents_example_call_tool.js | 44 + .../list_ai_agents_example_call_tool.py | 34 + ...ist_box_doc_templates_example_call_tool.js | 29 + ...ist_box_doc_templates_example_call_tool.py | 29 + .../list_box_docgen_jobs_example_call_tool.js | 29 + .../list_box_docgen_jobs_example_call_tool.py | 29 + ..._docgen_template_tags_example_call_tool.js | 31 + ..._docgen_template_tags_example_call_tool.py | 32 + ...list_defined_webhooks_example_call_tool.js | 29 + ...list_defined_webhooks_example_call_tool.py | 29 + ...ist_docgen_batch_jobs_example_call_tool.js | 30 + ...ist_docgen_batch_jobs_example_call_tool.py | 31 + ...list_enterprise_users_example_call_tool.js | 36 + ...list_enterprise_users_example_call_tool.py | 34 + ...nder_retention_policy_example_call_tool.js | 30 + ...nder_retention_policy_example_call_tool.py | 31 + ...rrier_segment_members_example_call_tool.js | 30 + ...rrier_segment_members_example_call_tool.py | 29 + ..._integration_mappings_example_call_tool.js | 34 + ..._integration_mappings_example_call_tool.py | 35 + ...list_task_assignments_example_call_tool.js | 28 + ...list_task_assignments_example_call_tool.py | 29 + .../list_template_jobs_example_call_tool.js | 30 + .../list_template_jobs_example_call_tool.py | 31 + ...elete_file_from_trash_example_call_tool.js | 28 + ...elete_file_from_trash_example_call_tool.py | 29 + ...elete_folder_in_trash_example_call_tool.js | 28 + ...elete_folder_in_trash_example_call_tool.py | 29 + ...lete_trashed_web_link_example_call_tool.js | 28 + ...lete_trashed_web_link_example_call_tool.py | 29 + ...e_box_skills_metadata_example_call_tool.js | 28 + ...e_box_skills_metadata_example_call_tool.py | 29 + ...n_whitelist_exemption_example_call_tool.js | 28 + ...n_whitelist_exemption_example_call_tool.py | 29 + ...e_file_classification_example_call_tool.js | 28 + ...e_file_classification_example_call_tool.py | 29 + ...remove_file_watermark_example_call_tool.js | 28 + ...remove_file_watermark_example_call_tool.py | 29 + ...older_classifications_example_call_tool.js | 28 + ...older_classifications_example_call_tool.py | 29 + ..._legal_hold_from_item_example_call_tool.js | 28 + ..._legal_hold_from_item_example_call_tool.py | 29 + ...ion_policy_assignment_example_call_tool.js | 28 + ...ion_policy_assignment_example_call_tool.py | 29 + ..._collaboration_domain_example_call_tool.js | 28 + ..._collaboration_domain_example_call_tool.py | 29 + ...shield_barrier_member_example_call_tool.js | 28 + ...shield_barrier_member_example_call_tool.py | 29 + .../remove_user_avatar_example_call_tool.js | 28 + .../remove_user_avatar_example_call_tool.py | 29 + ...move_user_email_alias_example_call_tool.js | 29 + ...move_user_email_alias_example_call_tool.py | 29 + ...watermark_from_folder_example_call_tool.js | 28 + ...watermark_from_folder_example_call_tool.py | 29 + ...gnature_request_email_example_call_tool.js | 28 + ...gnature_request_email_example_call_tool.py | 29 + ...ox_hub_collaborations_example_call_tool.js | 30 + ...ox_hub_collaborations_example_call_tool.py | 29 + ...rieve_box_hub_details_example_call_tool.js | 28 + ...rieve_box_hub_details_example_call_tool.py | 29 + ...etrieve_box_hub_items_example_call_tool.js | 30 + ...etrieve_box_hub_items_example_call_tool.py | 31 + ...ieve_collection_by_id_example_call_tool.js | 28 + ...ieve_collection_by_id_example_call_tool.py | 29 + ...e_collection_contents_example_call_tool.js | 35 + ...e_collection_contents_example_call_tool.py | 32 + ...e_enterprise_archives_example_call_tool.js | 29 + ...e_enterprise_archives_example_call_tool.py | 29 + ...eve_enterprise_groups_example_call_tool.js | 35 + ...eve_enterprise_groups_example_call_tool.py | 32 + ...se_metadata_templates_example_call_tool.js | 29 + ...se_metadata_templates_example_call_tool.py | 29 + ...retrieve_file_details_example_call_tool.js | 36 + ...retrieve_file_details_example_call_tool.py | 33 + ...etrieve_file_metadata_example_call_tool.js | 28 + ...etrieve_file_metadata_example_call_tool.py | 29 + ...eve_file_request_info_example_call_tool.js | 28 + ...eve_file_request_info_example_call_tool.py | 29 + ...ile_template_metadata_example_call_tool.js | 30 + ...ile_template_metadata_example_call_tool.py | 31 + ...trieve_file_thumbnail_example_call_tool.js | 33 + ...trieve_file_thumbnail_example_call_tool.py | 34 + ...retrieve_file_version_example_call_tool.js | 34 + ...retrieve_file_version_example_call_tool.py | 31 + ...e_version_legal_holds_example_call_tool.js | 28 + ...e_version_legal_holds_example_call_tool.py | 29 + ...retrieve_folder_items_example_call_tool.js | 38 + ...retrieve_folder_items_example_call_tool.py | 36 + ...e_folder_lock_details_example_call_tool.js | 28 + ...e_folder_lock_details_example_call_tool.py | 29 + ...rieve_folder_metadata_example_call_tool.js | 28 + ...rieve_folder_metadata_example_call_tool.py | 29 + ...al_metadata_templates_example_call_tool.js | 29 + ...al_metadata_templates_example_call_tool.py | 29 + .../retrieve_group_info_example_call_tool.js | 32 + .../retrieve_group_info_example_call_tool.py | 29 + ...ieve_group_membership_example_call_tool.js | 33 + ...ieve_group_membership_example_call_tool.py | 29 + ...eve_group_memberships_example_call_tool.js | 30 + ...eve_group_memberships_example_call_tool.py | 29 + ...e_legal_hold_policies_example_call_tool.js | 34 + ...e_legal_hold_policies_example_call_tool.py | 31 + ...old_policy_assignment_example_call_tool.js | 28 + ...old_policy_assignment_example_call_tool.py | 29 + ...eve_legal_hold_policy_example_call_tool.js | 28 + ...eve_legal_hold_policy_example_call_tool.py | 29 + ...tadata_cascade_policy_example_call_tool.js | 28 + ...tadata_cascade_policy_example_call_tool.py | 29 + ...eve_metadata_template_example_call_tool.js | 29 + ...eve_metadata_template_example_call_tool.py | 29 + ...ion_policy_assignment_example_call_tool.js | 34 + ...ion_policy_assignment_example_call_tool.py | 30 + ...ieve_shared_file_info_example_call_tool.js | 33 + ...ieve_shared_file_info_example_call_tool.py | 31 + ...rieve_shared_web_link_example_call_tool.js | 34 + ...rieve_shared_web_link_example_call_tool.py | 31 + ...eve_shield_list_by_id_example_call_tool.js | 28 + ...eve_shield_list_by_id_example_call_tool.py | 29 + ...ve_sign_request_by_id_example_call_tool.js | 28 + ...ve_sign_request_by_id_example_call_tool.py | 29 + ..._task_assignment_info_example_call_tool.js | 28 + ..._task_assignment_info_example_call_tool.py | 29 + ...ieve_task_information_example_call_tool.js | 28 + ...ieve_task_information_example_call_tool.py | 29 + ...retrieve_trashed_file_example_call_tool.js | 33 + ...retrieve_trashed_file_example_call_tool.py | 30 + ...trieve_trashed_folder_example_call_tool.js | 33 + ...trieve_trashed_folder_example_call_tool.py | 30 + ...etrieve_trashed_items_example_call_tool.js | 37 + ...etrieve_trashed_items_example_call_tool.py | 34 + ...ieve_trashed_web_link_example_call_tool.js | 33 + ...ieve_trashed_web_link_example_call_tool.py | 29 + ...ieve_user_collections_example_call_tool.js | 34 + ...ieve_user_collections_example_call_tool.py | 31 + ...etrieve_web_link_info_example_call_tool.js | 29 + ...etrieve_web_link_info_example_call_tool.py | 30 + ...mark_box_doc_template_example_call_tool.js | 28 + ...mark_box_doc_template_example_call_tool.py | 29 + 378 files changed, 16974 insertions(+) create mode 100644 app/en/mcp-servers/productivity/box_api/page.mdx create mode 100644 public/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.py diff --git a/app/en/mcp-servers/components/toolkits-config.ts b/app/en/mcp-servers/components/toolkits-config.ts index 775de27e..73d4c162 100644 --- a/app/en/mcp-servers/components/toolkits-config.ts +++ b/app/en/mcp-servers/components/toolkits-config.ts @@ -489,6 +489,15 @@ const comingSoonTools: Tool[] = [ type: "arcade", isComingSoon: true, }, + { + name: "Box API", + image: "box.svg", + summary: "Enable agents to interact with the low-level Box API.", + link: "/mcp-servers/productivity/box-api", + category: "productivity", + type: "arcade_starter", + isComingSoon: false, + }, { name: "Braze", image: "braze.png", 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..a1f570e7 --- /dev/null +++ b/app/en/mcp-servers/productivity/box_api/page.mdx @@ -0,0 +1,5659 @@ +# 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 provides a comprehensive set of tools for interacting with Box cloud services. These tools enable agents and apps to: + +- Manage Box Doc Gen templates and jobs (list, get details, list tags, unmark templates, batch jobs). +- Work with Box Hubs and hub collaborations (list, get details, manage collaborations, delete hubs). +- Manage files and folders (retrieve details, download content and thumbnails, list items, manage versions, trash/restore, permanently delete). +- Access and modify file/folder metadata, classifications, watermarks, skills metadata, and app associations. +- Manage uploads (upload session details, abort sessions, list uploaded chunks). +- Manage collaborations, comments, tasks, and shared links for files and folders. +- Handle collections, recent items, and shared web/app items. +- Admin and enterprise operations: users, groups, storage policies, retention and legal hold policies, archives, events, device pins, terms of service, safe collaboration domains, and shield information barriers. +- Manage metadata templates and cascade policies (retrieve, delete, list). +- Manage webhooks, Slack/Teams integrations, and sign/Box Sign workflows and templates (list, get details, resend/cancel requests). +- Retrieve and manage Box Sign and Box Docgen jobs and templates, and download zip archives (create/check/cancel status). +- Manage Shield/Information Barrier segments, membership and restrictions. +- Manage AI agents and agent configuration (list, get details, retrieve default config, delete agents). +- Misc admin actions: delete users/groups, manage avatars and email aliases, and manage retention/retention assignments. + +Use this server to build agents that perform file/folder lifecycle operations, enforce governance (retention/legal hold/classification), automate document generation and signing workflows, integrate with collaboration tools, and perform enterprise administration tasks in Box. + +## 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)) From ca5a92008bd6c41df5095ca658520b76ac6783a4 Mon Sep 17 00:00:00 2001 From: Renato Byrro Date: Wed, 1 Oct 2025 22:51:05 -0300 Subject: [PATCH 2/4] fix references to example files --- .../{box_api => box-api}/page.mdx | 786 +++++++++--------- 1 file changed, 391 insertions(+), 395 deletions(-) rename app/en/mcp-servers/productivity/{box_api => box-api}/page.mdx (77%) diff --git a/app/en/mcp-servers/productivity/box_api/page.mdx b/app/en/mcp-servers/productivity/box-api/page.mdx similarity index 77% rename from app/en/mcp-servers/productivity/box_api/page.mdx rename to app/en/mcp-servers/productivity/box-api/page.mdx index a1f570e7..02ed88d0 100644 --- a/app/en/mcp-servers/productivity/box_api/page.mdx +++ b/app/en/mcp-servers/productivity/box-api/page.mdx @@ -19,24 +19,20 @@ import { Callout } from "nextra/components"; -The BoxApi MCP Server provides a comprehensive set of tools for interacting with Box cloud services. These tools enable agents and apps to: - -- Manage Box Doc Gen templates and jobs (list, get details, list tags, unmark templates, batch jobs). -- Work with Box Hubs and hub collaborations (list, get details, manage collaborations, delete hubs). -- Manage files and folders (retrieve details, download content and thumbnails, list items, manage versions, trash/restore, permanently delete). -- Access and modify file/folder metadata, classifications, watermarks, skills metadata, and app associations. -- Manage uploads (upload session details, abort sessions, list uploaded chunks). -- Manage collaborations, comments, tasks, and shared links for files and folders. -- Handle collections, recent items, and shared web/app items. -- Admin and enterprise operations: users, groups, storage policies, retention and legal hold policies, archives, events, device pins, terms of service, safe collaboration domains, and shield information barriers. -- Manage metadata templates and cascade policies (retrieve, delete, list). -- Manage webhooks, Slack/Teams integrations, and sign/Box Sign workflows and templates (list, get details, resend/cancel requests). -- Retrieve and manage Box Sign and Box Docgen jobs and templates, and download zip archives (create/check/cancel status). -- Manage Shield/Information Barrier segments, membership and restrictions. -- Manage AI agents and agent configuration (list, get details, retrieve default config, delete agents). -- Misc admin actions: delete users/groups, manage avatars and email aliases, and manage retention/retention assignments. - -Use this server to build agents that perform file/folder lifecycle operations, enforce governance (retention/legal hold/classification), automate document generation and signing workflows, integrate with collaboration tools, and perform enterprise administration tasks in Box. +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 @@ -729,10 +725,10 @@ Use this server to build agents that perform file/folder lifecycle operations, e label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_box_doc_templates_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_box_doc_templates_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_box_doc_templates_example_call_tool.js", ], }, }, @@ -755,10 +751,10 @@ Retrieve Box Doc Gen templates the user collaborates on. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/unmark_box_doc_template_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/unmark_box_doc_template_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/unmark_box_doc_template_example_call_tool.js", ], }, }, @@ -780,10 +776,10 @@ Unmarks a file as a Box Doc Gen template. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_box_docgen_template_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_box_docgen_template_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_box_docgen_template_details_example_call_tool.js", ], }, }, @@ -805,10 +801,10 @@ Fetch details of a specific Box Doc Gen template. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_box_docgen_template_tags_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_box_docgen_template_tags_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_box_docgen_template_tags_example_call_tool.js", ], }, }, @@ -833,10 +829,10 @@ Retrieve tags from a specific Box Doc Gen template. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_box_docgen_job_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_box_docgen_job_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_box_docgen_job_details_example_call_tool.js", ], }, }, @@ -858,10 +854,10 @@ Retrieve details of a Box Doc Gen job using its ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_box_docgen_jobs_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_box_docgen_jobs_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_box_docgen_jobs_example_call_tool.js", ], }, }, @@ -884,10 +880,10 @@ Retrieves a list of Box Doc Gen jobs for a user. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_template_jobs_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_template_jobs_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_template_jobs_example_call_tool.js", ], }, }, @@ -911,10 +907,10 @@ Retrieve jobs associated with a specific document template. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_docgen_batch_jobs_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_docgen_batch_jobs_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_docgen_batch_jobs_example_call_tool.js", ], }, }, @@ -938,10 +934,10 @@ Retrieve details of Box Doc Gen jobs in a batch. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_box_hubs_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_box_hubs_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_box_hubs_example_call_tool.js", ], }, }, @@ -968,10 +964,10 @@ Retrieve all Box Hubs for the user. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_box_hubs_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_box_hubs_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_enterprise_box_hubs_example_call_tool.js", ], }, }, @@ -997,10 +993,10 @@ Retrieve Box Hubs for an enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_box_hub_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_box_hub_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_box_hub_details_example_call_tool.js", ], }, }, @@ -1022,10 +1018,10 @@ Fetch Box Hub details using its ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_box_hub_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_box_hub_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_box_hub_example_call_tool.js", ], }, }, @@ -1047,10 +1043,10 @@ Delete a specific Box Hub using its ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_box_hub_collaborations_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_box_hub_collaborations_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_box_hub_collaborations_example_call_tool.js", ], }, }, @@ -1074,10 +1070,10 @@ Retrieves collaborations for a Box Hub. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_box_hub_collaboration_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_box_hub_collaboration_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_box_hub_collaboration_details_example_call_tool.js", ], }, }, @@ -1099,10 +1095,10 @@ Retrieve details for a Box Hub collaboration by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_box_hub_collaboration_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_box_hub_collaboration_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_box_hub_collaboration_example_call_tool.js", ], }, }, @@ -1124,10 +1120,10 @@ Remove a specific Box Hub collaboration. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_box_hub_items_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_box_hub_items_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_box_hub_items_example_call_tool.js", ], }, }, @@ -1151,10 +1147,10 @@ Fetch all items from a specified Box Hub. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_shield_lists_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_shield_lists_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_enterprise_shield_lists_example_call_tool.js", ], }, }, @@ -1176,10 +1172,10 @@ This tool does not take any parameters. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_shield_list_by_id_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_shield_list_by_id_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_shield_list_by_id_example_call_tool.js", ], }, }, @@ -1201,10 +1197,10 @@ Retrieve details of a specific shield list by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_shield_list_by_id_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_shield_list_by_id_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_shield_list_by_id_example_call_tool.js", ], }, }, @@ -1226,10 +1222,10 @@ Delete a shield list using its ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_enterprise_archives_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_enterprise_archives_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_enterprise_archives_example_call_tool.js", ], }, }, @@ -1252,10 +1248,10 @@ Retrieve archives for an enterprise from Box. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_archive_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_archive_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_archive_example_call_tool.js", ], }, }, @@ -1277,10 +1273,10 @@ Permanently delete an archive by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_file_details_example_call_tool.js", ], }, }, @@ -1306,10 +1302,10 @@ Fetch details about a specific file using its ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_file_from_box_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_file_from_box_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_file_from_box_example_call_tool.js", ], }, }, @@ -1320,7 +1316,7 @@ 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. +- **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 @@ -1332,10 +1328,10 @@ Delete a file from Box or move it to trash. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_app_associations_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_app_associations_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_app_associations_example_call_tool.js", ], }, }, @@ -1360,10 +1356,10 @@ Retrieve app items associated with a specific file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/download_file_content_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/download_file_content_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/download_file_content_example_call_tool.js", ], }, }, @@ -1389,10 +1385,10 @@ Retrieve the binary content of a specified file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_upload_session_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_upload_session_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_upload_session_details_example_call_tool.js", ], }, }, @@ -1414,10 +1410,10 @@ Retrieve details of a specific file upload session. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/abort_upload_session_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/abort_upload_session_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/abort_upload_session_example_call_tool.js", ], }, }, @@ -1439,10 +1435,10 @@ Abort an upload session and discard all uploaded data. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_uploaded_chunks_list_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_uploaded_chunks_list_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_uploaded_chunks_list_example_call_tool.js", ], }, }, @@ -1466,10 +1462,10 @@ Retrieve the list of uploaded chunks for an upload session. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_thumbnail_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_thumbnail_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_file_thumbnail_example_call_tool.js", ], }, }, @@ -1496,10 +1492,10 @@ Retrieves a thumbnail image of a specified file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_collaborations_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_collaborations_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_collaborations_example_call_tool.js", ], }, }, @@ -1524,10 +1520,10 @@ Retrieve collaborations for a specific file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_comments_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_comments_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_comments_example_call_tool.js", ], }, }, @@ -1552,10 +1548,10 @@ Retrieve comments for a specific file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_tasks_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_tasks_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_tasks_example_call_tool.js", ], }, }, @@ -1577,10 +1573,10 @@ Retrieve all tasks associated with a specific file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_trashed_file_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_trashed_file_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_trashed_file_example_call_tool.js", ], }, }, @@ -1603,10 +1599,10 @@ Retrieve a file that has been moved to the trash. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/permanently_delete_file_from_trash_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/permanently_delete_file_from_trash_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/permanently_delete_file_from_trash_example_call_tool.js", ], }, }, @@ -1628,10 +1624,10 @@ Permanently delete a file that is in the trash. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_version_history_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_version_history_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_version_history_example_call_tool.js", ], }, }, @@ -1656,10 +1652,10 @@ Retrieve a list of past versions for a file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_version_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_version_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_file_version_example_call_tool.js", ], }, }, @@ -1683,10 +1679,10 @@ Retrieve a specific version of a file for premium Box users. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_box_file_version_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_box_file_version_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_box_file_version_example_call_tool.js", ], }, }, @@ -1710,10 +1706,10 @@ Delete a specific file version from Box. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_file_metadata_example_call_tool.js", ], }, }, @@ -1735,10 +1731,10 @@ Retrieve all metadata for a specific file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_classification_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_classification_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_classification_metadata_example_call_tool.js", ], }, }, @@ -1760,10 +1756,10 @@ Retrieve classification metadata for a specific file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_file_classification_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_file_classification_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_file_classification_example_call_tool.js", ], }, }, @@ -1785,10 +1781,10 @@ Remove classifications from a specified file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_template_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_template_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_file_template_metadata_example_call_tool.js", ], }, }, @@ -1812,10 +1808,10 @@ Retrieve metadata for a specific file template. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_file_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_file_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_file_metadata_example_call_tool.js", ], }, }, @@ -1839,10 +1835,10 @@ Deletes metadata from a specified file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_box_skills_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_box_skills_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_box_skills_metadata_example_call_tool.js", ], }, }, @@ -1864,10 +1860,10 @@ Retrieve Box Skills metadata cards for a given file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_box_skills_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_box_skills_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_box_skills_metadata_example_call_tool.js", ], }, }, @@ -1889,10 +1885,10 @@ Remove Box Skills cards metadata from a file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_watermark_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_watermark_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_watermark_example_call_tool.js", ], }, }, @@ -1914,10 +1910,10 @@ Retrieve the watermark for a file by its ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_file_watermark_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_file_watermark_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_file_watermark_example_call_tool.js", ], }, }, @@ -1939,10 +1935,10 @@ Removes the watermark from a specified file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_request_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_request_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_file_request_info_example_call_tool.js", ], }, }, @@ -1964,10 +1960,10 @@ Retrieve information about a specific file request. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_file_request_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_file_request_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_file_request_example_call_tool.js", ], }, }, @@ -1989,10 +1985,10 @@ Permanently delete a specific file request. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_folder_details_example_call_tool.js", ], }, }, @@ -2021,10 +2017,10 @@ Retrieve details for a folder and its first 100 entries. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_folder_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_folder_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_folder_example_call_tool.js", ], }, }, @@ -2048,10 +2044,10 @@ Delete a folder permanently or move it to the trash. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_app_item_associations_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_app_item_associations_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_folder_app_item_associations_example_call_tool.js", ], }, }, @@ -2076,10 +2072,10 @@ Retrieve app items associated with a specific folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_folder_items_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_folder_items_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_folder_items_example_call_tool.js", ], }, }, @@ -2109,10 +2105,10 @@ Retrieve items in a specified folder, including files and links. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_collaborations_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_collaborations_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_folder_collaborations_example_call_tool.js", ], }, }, @@ -2137,10 +2133,10 @@ Retrieve pending and active collaborations for a folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_trashed_folder_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_trashed_folder_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_trashed_folder_example_call_tool.js", ], }, }, @@ -2163,10 +2159,10 @@ Retrieve a specific folder from the trash. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/permanently_delete_folder_in_trash_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/permanently_delete_folder_in_trash_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/permanently_delete_folder_in_trash_example_call_tool.js", ], }, }, @@ -2188,10 +2184,10 @@ Permanently delete a folder from the trash. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_folder_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_folder_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_folder_metadata_example_call_tool.js", ], }, }, @@ -2213,10 +2209,10 @@ Retrieve all metadata for a specific folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_classification_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_classification_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_folder_classification_example_call_tool.js", ], }, }, @@ -2238,10 +2234,10 @@ Retrieve classification metadata for a specific folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_folder_classifications_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_folder_classifications_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_folder_classifications_example_call_tool.js", ], }, }, @@ -2263,10 +2259,10 @@ Remove classifications from a specified folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_folder_metadata_example_call_tool.js", ], }, }, @@ -2290,10 +2286,10 @@ Retrieve metadata template instance applied to a folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_folder_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_folder_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_folder_metadata_example_call_tool.js", ], }, }, @@ -2317,10 +2313,10 @@ Deletes metadata from a specified folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_trashed_items_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_trashed_items_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_trashed_items_example_call_tool.js", ], }, }, @@ -2348,10 +2344,10 @@ Retrieve files and folders from the trash. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_watermark_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_watermark_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_folder_watermark_example_call_tool.js", ], }, }, @@ -2373,10 +2369,10 @@ Retrieve the watermark for a specific folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_watermark_from_folder_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_watermark_from_folder_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_watermark_from_folder_example_call_tool.js", ], }, }, @@ -2398,10 +2394,10 @@ Removes the watermark from a specified folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_folder_lock_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_folder_lock_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_folder_lock_details_example_call_tool.js", ], }, }, @@ -2423,10 +2419,10 @@ Retrieve lock details for a specific folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_folder_lock_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_folder_lock_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_folder_lock_example_call_tool.js", ], }, }, @@ -2448,10 +2444,10 @@ Delete a specific folder lock if you're the owner or co-owner. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/find_metadata_template_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/find_metadata_template_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/find_metadata_template_example_call_tool.js", ], }, }, @@ -2475,10 +2471,10 @@ Retrieve metadata template details by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_classification_metadata_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_classification_metadata_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_classification_metadata_example_call_tool.js", ], }, }, @@ -2500,10 +2496,10 @@ This tool does not take any parameters. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_metadata_template_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_metadata_template_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_metadata_template_example_call_tool.js", ], }, }, @@ -2526,10 +2522,10 @@ Retrieve a metadata template by scope and template key. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_metadata_template_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_metadata_template_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_metadata_template_example_call_tool.js", ], }, }, @@ -2552,10 +2548,10 @@ Permanently delete a metadata template and its instances. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_metadata_template_by_id_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_metadata_template_by_id_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_metadata_template_by_id_example_call_tool.js", ], }, }, @@ -2577,10 +2573,10 @@ Retrieve a metadata template using its ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_global_metadata_templates_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_global_metadata_templates_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_global_metadata_templates_example_call_tool.js", ], }, }, @@ -2603,10 +2599,10 @@ Fetches global metadata templates from Box. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_enterprise_metadata_templates_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_enterprise_metadata_templates_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_enterprise_metadata_templates_example_call_tool.js", ], }, }, @@ -2629,10 +2625,10 @@ Retrieve metadata templates for the user's enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_metadata_cascade_policies_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_metadata_cascade_policies_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_metadata_cascade_policies_example_call_tool.js", ], }, }, @@ -2657,10 +2653,10 @@ Retrieve metadata cascade policies for a folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_metadata_cascade_policy_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_metadata_cascade_policy_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_metadata_cascade_policy_example_call_tool.js", ], }, }, @@ -2682,10 +2678,10 @@ Retrieve a specific metadata cascade policy for a folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_metadata_cascade_policy_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_metadata_cascade_policy_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_metadata_cascade_policy_example_call_tool.js", ], }, }, @@ -2707,10 +2703,10 @@ Deletes a metadata cascade policy by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_comment_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_comment_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_comment_details_example_call_tool.js", ], }, }, @@ -2733,10 +2729,10 @@ Retrieve detailed information about a specific comment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_comment_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_comment_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_comment_example_call_tool.js", ], }, }, @@ -2758,10 +2754,10 @@ Permanently deletes a specific comment by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_collaboration_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_collaboration_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_collaboration_details_example_call_tool.js", ], }, }, @@ -2784,10 +2780,10 @@ Retrieve details of a specific collaboration. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_collaboration_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_collaboration_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_collaboration_example_call_tool.js", ], }, }, @@ -2809,10 +2805,10 @@ Deletes a specified collaboration by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_pending_collaboration_invites_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_pending_collaboration_invites_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_pending_collaboration_invites_example_call_tool.js", ], }, }, @@ -2837,10 +2833,10 @@ Retrieve user's pending collaboration invites from Box. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_task_information_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_task_information_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_task_information_example_call_tool.js", ], }, }, @@ -2862,10 +2858,10 @@ Fetch details of a specific task by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_task_from_file_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_task_from_file_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_task_from_file_example_call_tool.js", ], }, }, @@ -2887,10 +2883,10 @@ Removes a specific task from a file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_task_assignments_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_task_assignments_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_task_assignments_example_call_tool.js", ], }, }, @@ -2912,10 +2908,10 @@ Retrieve all assignments for a specified task. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_task_assignment_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_task_assignment_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_task_assignment_info_example_call_tool.js", ], }, }, @@ -2937,10 +2933,10 @@ Retrieve detailed information about a task assignment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_task_assignment_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_task_assignment_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_task_assignment_example_call_tool.js", ], }, }, @@ -2962,10 +2958,10 @@ Delete a specific task assignment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_shared_file_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_shared_file_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_shared_file_info_example_call_tool.js", ], }, }, @@ -2989,10 +2985,10 @@ Retrieve file information from a shared link. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shared_link_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shared_link_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shared_link_info_example_call_tool.js", ], }, }, @@ -3015,10 +3011,10 @@ Retrieve shared link details for a specific file. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shared_folder_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shared_folder_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shared_folder_info_example_call_tool.js", ], }, }, @@ -3042,10 +3038,10 @@ Retrieve folder details using a shared link. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_shared_link_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_folder_shared_link_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_folder_shared_link_info_example_call_tool.js", ], }, }, @@ -3068,10 +3064,10 @@ Retrieve information for a shared link on a folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_web_link_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_web_link_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_web_link_info_example_call_tool.js", ], }, }, @@ -3094,10 +3090,10 @@ Retrieve information about a specific web link. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_web_link_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_web_link_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_web_link_example_call_tool.js", ], }, }, @@ -3119,10 +3115,10 @@ Delete a specified web link based on its ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_trashed_web_link_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_trashed_web_link_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_trashed_web_link_example_call_tool.js", ], }, }, @@ -3145,10 +3141,10 @@ Retrieves a web link that has been moved to the trash. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/permanently_delete_trashed_web_link_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/permanently_delete_trashed_web_link_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/permanently_delete_trashed_web_link_example_call_tool.js", ], }, }, @@ -3170,10 +3166,10 @@ Permanently delete a trashed web link. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_shared_web_link_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_shared_web_link_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_shared_web_link_example_call_tool.js", ], }, }, @@ -3197,10 +3193,10 @@ Retrieve information about a shared web link using a shared link. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shared_web_link_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shared_web_link_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shared_web_link_info_example_call_tool.js", ], }, }, @@ -3223,10 +3219,10 @@ Retrieve shared link information for a web link. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shared_app_item_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shared_app_item_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shared_app_item_example_call_tool.js", ], }, }, @@ -3248,10 +3244,10 @@ Retrieve details of an app item using a shared link. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_enterprise_users_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_enterprise_users_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_enterprise_users_example_call_tool.js", ], }, }, @@ -3280,10 +3276,10 @@ Retrieve all users in the enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_authenticated_user_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_authenticated_user_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_authenticated_user_info_example_call_tool.js", ], }, }, @@ -3305,10 +3301,10 @@ Retrieve details of the currently authenticated user. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_user_information_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_user_information_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_user_information_example_call_tool.js", ], }, }, @@ -3331,10 +3327,10 @@ Retrieve detailed user information in the enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_user_account_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_user_account_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_user_account_example_call_tool.js", ], }, }, @@ -3358,10 +3354,10 @@ Delete a user account from the system. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_user_avatar_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_user_avatar_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_user_avatar_example_call_tool.js", ], }, }, @@ -3383,10 +3379,10 @@ Retrieve the image of a user's avatar. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_user_avatar_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_user_avatar_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_user_avatar_example_call_tool.js", ], }, }, @@ -3408,10 +3404,10 @@ Removes a user's existing avatar. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_user_email_aliases_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_user_email_aliases_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_user_email_aliases_example_call_tool.js", ], }, }, @@ -3433,10 +3429,10 @@ Retrieve all email aliases for a specific user. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_user_email_alias_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_user_email_alias_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_user_email_alias_example_call_tool.js", ], }, }, @@ -3459,10 +3455,10 @@ Removes an email alias from a user account. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_user_group_memberships_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_user_group_memberships_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_user_group_memberships_example_call_tool.js", ], }, }, @@ -3486,10 +3482,10 @@ Retrieve all groups a user belongs to. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/check_user_invite_status_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/check_user_invite_status_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/check_user_invite_status_example_call_tool.js", ], }, }, @@ -3512,10 +3508,10 @@ Retrieve the status of a specific user invite. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_enterprise_groups_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_enterprise_groups_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_enterprise_groups_example_call_tool.js", ], }, }, @@ -3540,10 +3536,10 @@ Retrieve all groups for an enterprise with admin rights. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_group_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_group_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_group_info_example_call_tool.js", ], }, }, @@ -3566,10 +3562,10 @@ Retrieve detailed information about a specified group. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_group_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_group_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_group_example_call_tool.js", ], }, }, @@ -3591,10 +3587,10 @@ Permanently delete a group with admin permissions. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_group_memberships_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_group_memberships_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_group_memberships_example_call_tool.js", ], }, }, @@ -3618,10 +3614,10 @@ Fetch members of a specified group. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_group_collaborations_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_group_collaborations_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_group_collaborations_example_call_tool.js", ], }, }, @@ -3645,10 +3641,10 @@ Retrieve collaborations for a specified group. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_group_membership_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_group_membership_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_group_membership_example_call_tool.js", ], }, }, @@ -3671,10 +3667,10 @@ Fetch details of a specific group membership. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_group_membership_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_group_membership_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_group_membership_example_call_tool.js", ], }, }, @@ -3696,10 +3692,10 @@ Delete a specific group membership by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_defined_webhooks_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_defined_webhooks_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_defined_webhooks_example_call_tool.js", ], }, }, @@ -3722,10 +3718,10 @@ Retrieve all webhooks for your application. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_specific_webhook_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_specific_webhook_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_specific_webhook_example_call_tool.js", ], }, }, @@ -3747,10 +3743,10 @@ Retrieve details of a specific webhook by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_webhook_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_webhook_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_webhook_example_call_tool.js", ], }, }, @@ -3772,10 +3768,10 @@ Delete a specified webhook. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_box_events_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_box_events_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_box_events_example_call_tool.js", ], }, }, @@ -3802,10 +3798,10 @@ Retrieve up to a year of past events for a user or enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_user_collections_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_user_collections_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_user_collections_example_call_tool.js", ], }, }, @@ -3829,10 +3825,10 @@ Retrieve collections for a user, including favorites. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_collection_contents_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_collection_contents_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_collection_contents_example_call_tool.js", ], }, }, @@ -3857,10 +3853,10 @@ Fetch files and folders from a specific collection. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_collection_by_id_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_collection_by_id_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_collection_by_id_example_call_tool.js", ], }, }, @@ -3882,10 +3878,10 @@ Retrieve details of a collection using its ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_recent_items_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_recent_items_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_recent_items_info_example_call_tool.js", ], }, }, @@ -3909,10 +3905,10 @@ Fetch recent items accessed by a user in Box. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_retention_policies_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_retention_policies_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_enterprise_retention_policies_example_call_tool.js", ], }, }, @@ -3939,10 +3935,10 @@ Retrieve all retention policies for an enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_retention_policy_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_retention_policy_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_retention_policy_example_call_tool.js", ], }, }, @@ -3965,10 +3961,10 @@ Retrieve details of a specified retention policy. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_retention_policy_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_retention_policy_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_retention_policy_example_call_tool.js", ], }, }, @@ -3990,10 +3986,10 @@ Permanently deletes a specified retention policy. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_retention_policy_assignments_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_retention_policy_assignments_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_retention_policy_assignments_example_call_tool.js", ], }, }, @@ -4019,10 +4015,10 @@ Retrieve retention policy assignments by policy ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_retention_policy_assignment_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_retention_policy_assignment_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_retention_policy_assignment_example_call_tool.js", ], }, }, @@ -4045,10 +4041,10 @@ Fetch details of a retention policy assignment by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_retention_policy_assignment_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_retention_policy_assignment_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_retention_policy_assignment_example_call_tool.js", ], }, }, @@ -4070,10 +4066,10 @@ Removes a retention policy assignment from content. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_files_under_retention_policy_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_files_under_retention_policy_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_files_under_retention_policy_example_call_tool.js", ], }, }, @@ -4097,10 +4093,10 @@ Retrieve files under a retention policy assignment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_versions_under_retention_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_versions_under_retention_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_versions_under_retention_example_call_tool.js", ], }, }, @@ -4124,10 +4120,10 @@ Fetch file versions under a specific retention policy assignment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_legal_hold_policies_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_legal_hold_policies_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policies_example_call_tool.js", ], }, }, @@ -4152,10 +4148,10 @@ Retrieve a list of enterprise legal hold policies. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_legal_hold_policy_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_legal_hold_policy_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_example_call_tool.js", ], }, }, @@ -4177,10 +4173,10 @@ Retrieve information about a specific legal hold policy. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_legal_hold_policy_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_legal_hold_policy_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_legal_hold_policy_example_call_tool.js", ], }, }, @@ -4202,10 +4198,10 @@ Initiate deletion of a legal hold policy. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_legal_hold_policy_assignments_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_legal_hold_policy_assignments_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_legal_hold_policy_assignments_example_call_tool.js", ], }, }, @@ -4232,10 +4228,10 @@ Retrieve items assigned to a legal hold policy. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_legal_hold_policy_assignment_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_legal_hold_policy_assignment_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_legal_hold_policy_assignment_example_call_tool.js", ], }, }, @@ -4257,10 +4253,10 @@ Retrieve details of a specific legal hold policy assignment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_legal_hold_from_item_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_legal_hold_from_item_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_legal_hold_from_item_example_call_tool.js", ], }, }, @@ -4282,10 +4278,10 @@ Initiate removal of a legal hold from an item. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_files_on_legal_hold_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_files_on_legal_hold_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_files_on_legal_hold_example_call_tool.js", ], }, }, @@ -4310,10 +4306,10 @@ Retrieve files currently on legal hold for a specific assignment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_version_retentions_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_version_retentions_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_version_retentions_example_call_tool.js", ], }, }, @@ -4342,10 +4338,10 @@ Retrieve file version retentions for an enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_versions_on_legal_hold_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_versions_on_legal_hold_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_versions_on_legal_hold_example_call_tool.js", ], }, }, @@ -4370,10 +4366,10 @@ Retrieve previous file versions under a legal hold assignment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_file_version_retention_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_file_version_retention_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_file_version_retention_info_example_call_tool.js", ], }, }, @@ -4395,10 +4391,10 @@ Retrieve details of a file version retention. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_version_legal_holds_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_file_version_legal_holds_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_file_version_legal_holds_example_call_tool.js", ], }, }, @@ -4420,10 +4416,10 @@ Get details of legal holds on a specific file version. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_legacy_file_version_legal_holds_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_legacy_file_version_legal_holds_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_legacy_file_version_legal_holds_example_call_tool.js", ], }, }, @@ -4447,10 +4443,10 @@ Retrieve file versions on legal hold in the legacy system. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barrier_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barrier_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_example_call_tool.js", ], }, }, @@ -4472,10 +4468,10 @@ Retrieve shield information barrier by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barriers_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barriers_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barriers_example_call_tool.js", ], }, }, @@ -4498,10 +4494,10 @@ Retrieve shield information barriers for the enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barrier_reports_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barrier_reports_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_reports_example_call_tool.js", ], }, }, @@ -4525,10 +4521,10 @@ Retrieve shield information barrier reports. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_shield_barrier_report_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_shield_barrier_report_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_shield_barrier_report_example_call_tool.js", ], }, }, @@ -4550,10 +4546,10 @@ Retrieve details of a shield information barrier report by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_info_barrier_segment_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_info_barrier_segment_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_segment_example_call_tool.js", ], }, }, @@ -4575,10 +4571,10 @@ Retrieve shield information barrier segment by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_shield_information_barrier_segment_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_shield_information_barrier_segment_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_shield_information_barrier_segment_example_call_tool.js", ], }, }, @@ -4600,10 +4596,10 @@ Delete a shield information barrier segment by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barrier_segments_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barrier_segments_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segments_example_call_tool.js", ], }, }, @@ -4627,10 +4623,10 @@ Retrieve shield information barrier segment details. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_info_barrier_member_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_info_barrier_member_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shield_info_barrier_member_example_call_tool.js", ], }, }, @@ -4652,10 +4648,10 @@ Retrieve details of a shield information barrier segment member. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_shield_barrier_member_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_shield_barrier_member_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_shield_barrier_member_example_call_tool.js", ], }, }, @@ -4677,10 +4673,10 @@ Delete a shield information barrier segment member by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_shield_barrier_segment_members_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_shield_barrier_segment_members_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_shield_barrier_segment_members_example_call_tool.js", ], }, }, @@ -4704,10 +4700,10 @@ Retrieve members of shield information barrier segments. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barrier_segment_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_barrier_segment_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shield_information_barrier_segment_info_example_call_tool.js", ], }, }, @@ -4729,10 +4725,10 @@ Retrieve shield barrier segment restriction by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_shield_barrier_segment_restriction_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_shield_barrier_segment_restriction_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_shield_barrier_segment_restriction_example_call_tool.js", ], }, }, @@ -4754,10 +4750,10 @@ Delete a specific shield barrier segment restriction by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_restrictions_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_shield_information_restrictions_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_shield_information_restrictions_example_call_tool.js", ], }, }, @@ -4781,10 +4777,10 @@ Retrieve restrictions for a shield information barrier segment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_device_pin_info_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_device_pin_info_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_device_pin_info_example_call_tool.js", ], }, }, @@ -4806,10 +4802,10 @@ Retrieve details of a specific device pin. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_device_pin_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_device_pin_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_device_pin_example_call_tool.js", ], }, }, @@ -4831,10 +4827,10 @@ Delete a specific device pin from the system. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_device_pins_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_device_pins_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_enterprise_device_pins_example_call_tool.js", ], }, }, @@ -4859,10 +4855,10 @@ Retrieve all device pins for a specific enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_terms_of_service_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_enterprise_terms_of_service_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_enterprise_terms_of_service_example_call_tool.js", ], }, }, @@ -4884,10 +4880,10 @@ Retrieve the enterprise's terms of service. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_specific_terms_of_service_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_specific_terms_of_service_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_specific_terms_of_service_example_call_tool.js", ], }, }, @@ -4909,10 +4905,10 @@ Fetches details of a specific terms of service. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_user_tos_status_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_user_tos_status_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_user_tos_status_example_call_tool.js", ], }, }, @@ -4935,10 +4931,10 @@ Retrieve user acceptance status for terms of service. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_safe_collaboration_domains_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_safe_collaboration_domains_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_safe_collaboration_domains_example_call_tool.js", ], }, }, @@ -4961,10 +4957,10 @@ Retrieve domains approved for safe collaboration. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_safe_collaboration_domain_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_safe_collaboration_domain_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_safe_collaboration_domain_example_call_tool.js", ], }, }, @@ -4986,10 +4982,10 @@ Retrieve a designated safe collaboration domain within an enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_safe_collaboration_domain_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_safe_collaboration_domain_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_safe_collaboration_domain_example_call_tool.js", ], }, }, @@ -5011,10 +5007,10 @@ Remove a domain from the safe collaboration list. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_collaboration_whitelist_exempt_users_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_collaboration_whitelist_exempt_users_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_users_example_call_tool.js", ], }, }, @@ -5037,10 +5033,10 @@ Retrieve users exempt from collaboration restrictions. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_collaboration_whitelist_exempt_user_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_collaboration_whitelist_exempt_user_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_collaboration_whitelist_exempt_user_example_call_tool.js", ], }, }, @@ -5062,10 +5058,10 @@ Retrieve user exempt from collaboration restrictions. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/remove_collaboration_whitelist_exemption_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/remove_collaboration_whitelist_exemption_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/remove_collaboration_whitelist_exemption_example_call_tool.js", ], }, }, @@ -5087,10 +5083,10 @@ Remove a user's exemption from domain restrictions in collaborations. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_enterprise_storage_policies_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_enterprise_storage_policies_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_enterprise_storage_policies_example_call_tool.js", ], }, }, @@ -5114,10 +5110,10 @@ Fetches all storage policies in the enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_storage_policy_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_storage_policy_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_storage_policy_example_call_tool.js", ], }, }, @@ -5139,10 +5135,10 @@ Retrieve details of a specific storage policy. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_storage_policy_assignments_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_storage_policy_assignments_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignments_example_call_tool.js", ], }, }, @@ -5166,10 +5162,10 @@ Retrieve storage policy assignments for enterprise or user. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_storage_policy_assignment_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_storage_policy_assignment_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_storage_policy_assignment_example_call_tool.js", ], }, }, @@ -5191,10 +5187,10 @@ Retrieve a storage policy assignment by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_storage_policy_assignment_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_storage_policy_assignment_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_storage_policy_assignment_example_call_tool.js", ], }, }, @@ -5216,10 +5212,10 @@ Delete a user's storage policy assignment. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/download_zip_content_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/download_zip_content_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/download_zip_content_example_call_tool.js", ], }, }, @@ -5241,10 +5237,10 @@ Download the contents of a zip archive. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/check_zip_download_status_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/check_zip_download_status_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/check_zip_download_status_example_call_tool.js", ], }, }, @@ -5266,10 +5262,10 @@ Check the status of a zip archive download. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/cancel_sign_request_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/cancel_sign_request_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/cancel_sign_request_example_call_tool.js", ], }, }, @@ -5291,10 +5287,10 @@ Cancel an existing sign request to stop further processing. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/resend_signature_request_email_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/resend_signature_request_email_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/resend_signature_request_email_example_call_tool.js", ], }, }, @@ -5316,10 +5312,10 @@ Resend signature request email to outstanding signers. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_sign_request_by_id_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/retrieve_sign_request_by_id_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/retrieve_sign_request_by_id_example_call_tool.js", ], }, }, @@ -5341,10 +5337,10 @@ Retrieve details of a specific sign request by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_signature_requests_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_signature_requests_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_signature_requests_example_call_tool.js", ], }, }, @@ -5369,10 +5365,10 @@ Retrieve signature requests created by a user. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_manual_start_workflows_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_manual_start_workflows_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_manual_start_workflows_example_call_tool.js", ], }, }, @@ -5397,10 +5393,10 @@ Retrieve workflows with manual start triggers for a folder. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_box_sign_templates_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_box_sign_templates_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_box_sign_templates_example_call_tool.js", ], }, }, @@ -5423,10 +5419,10 @@ Retrieve Box Sign templates created by a user. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/fetch_box_sign_template_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/fetch_box_sign_template_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/fetch_box_sign_template_details_example_call_tool.js", ], }, }, @@ -5448,10 +5444,10 @@ Retrieve details of a specific Box Sign template. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_slack_integration_mappings_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_slack_integration_mappings_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_slack_integration_mappings_example_call_tool.js", ], }, }, @@ -5479,10 +5475,10 @@ Retrieve Slack integration mappings for a Box enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_slack_integration_mapping_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_slack_integration_mapping_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_slack_integration_mapping_example_call_tool.js", ], }, }, @@ -5504,10 +5500,10 @@ Deletes a Slack integration mapping for Box content. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_teams_integration_mappings_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_teams_integration_mappings_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_teams_integration_mappings_example_call_tool.js", ], }, }, @@ -5532,10 +5528,10 @@ Retrieve Teams integration mappings for an enterprise. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_teams_integration_mapping_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_teams_integration_mapping_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_teams_integration_mapping_example_call_tool.js", ], }, }, @@ -5557,10 +5553,10 @@ Deletes a Teams integration mapping in Box. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_ai_agent_default_config_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_ai_agent_default_config_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_ai_agent_default_config_example_call_tool.js", ], }, }, @@ -5584,10 +5580,10 @@ Retrieve the default configuration for the AI agent. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/list_ai_agents_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/list_ai_agents_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/list_ai_agents_example_call_tool.js", ], }, }, @@ -5614,10 +5610,10 @@ Retrieve a list of AI agents with specified parameters. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/get_ai_agent_details_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/get_ai_agent_details_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/get_ai_agent_details_example_call_tool.js", ], }, }, @@ -5640,10 +5636,10 @@ Retrieve details of a specific AI agent by ID. label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/mcp-servers/boxapi/delete_ai_agent_example_call_tool.py", + "/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.py", ], JavaScript: [ - "/examples/integrations/mcp-servers/boxapi/delete_ai_agent_example_call_tool.js", + "/examples/integrations/mcp-servers/box_api/delete_ai_agent_example_call_tool.js", ], }, }, From b6d094c1339f2a62466916e71e4bab902821888f Mon Sep 17 00:00:00 2001 From: Renato Byrro Date: Wed, 1 Oct 2025 22:53:32 -0300 Subject: [PATCH 3/4] fix special chars --- app/en/mcp-servers/productivity/box-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/en/mcp-servers/productivity/box-api/page.mdx b/app/en/mcp-servers/productivity/box-api/page.mdx index 02ed88d0..b1e9c801 100644 --- a/app/en/mcp-servers/productivity/box-api/page.mdx +++ b/app/en/mcp-servers/productivity/box-api/page.mdx @@ -1316,7 +1316,7 @@ 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}. +- **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 From 4022ae964adb8b1f2263458530e9199b357ace58 Mon Sep 17 00:00:00 2001 From: Renato Byrro Date: Wed, 1 Oct 2025 23:56:29 -0300 Subject: [PATCH 4/4] remove box comming soon --- app/en/mcp-servers/components/toolkits-config.ts | 9 --------- 1 file changed, 9 deletions(-) diff --git a/app/en/mcp-servers/components/toolkits-config.ts b/app/en/mcp-servers/components/toolkits-config.ts index 73d4c162..b04afe64 100644 --- a/app/en/mcp-servers/components/toolkits-config.ts +++ b/app/en/mcp-servers/components/toolkits-config.ts @@ -480,15 +480,6 @@ const comingSoonTools: Tool[] = [ type: "arcade", isComingSoon: true, }, - { - name: "Box", - image: "box.svg", - summary: "Manage files and folders in Box with your agents.", - link: "/mcp-servers/productivity/box", - category: "productivity", - type: "arcade", - isComingSoon: true, - }, { name: "Box API", image: "box.svg",