Skip to main content
Glama

Feishu MCP Server

drive_v1.ts83 kB
import { z } from 'zod'; export type driveV1ToolName = | 'drive.v1.exportTask.create' | 'drive.v1.exportTask.get' | 'drive.v1.fileComment.batchQuery' | 'drive.v1.fileComment.create' | 'drive.v1.fileComment.get' | 'drive.v1.fileComment.list' | 'drive.v1.fileComment.patch' | 'drive.v1.fileCommentReply.delete' | 'drive.v1.fileCommentReply.list' | 'drive.v1.fileCommentReply.update' | 'drive.v1.file.copy' | 'drive.v1.file.createFolder' | 'drive.v1.file.createShortcut' | 'drive.v1.file.delete' | 'drive.v1.file.deleteSubscribe' | 'drive.v1.file.getSubscribe' | 'drive.v1.file.list' | 'drive.v1.file.move' | 'drive.v1.fileStatistics.get' | 'drive.v1.file.subscribe' | 'drive.v1.fileSubscription.create' | 'drive.v1.fileSubscription.get' | 'drive.v1.fileSubscription.patch' | 'drive.v1.file.taskCheck' | 'drive.v1.file.uploadFinish' | 'drive.v1.file.uploadPrepare' | 'drive.v1.fileVersion.create' | 'drive.v1.fileVersion.delete' | 'drive.v1.fileVersion.get' | 'drive.v1.fileVersion.list' | 'drive.v1.fileViewRecord.list' | 'drive.v1.importTask.create' | 'drive.v1.importTask.get' | 'drive.v1.media.batchGetTmpDownloadUrl' | 'drive.v1.media.uploadFinish' | 'drive.v1.media.uploadPrepare' | 'drive.v1.meta.batchQuery' | 'drive.v1.permissionMember.auth' | 'drive.v1.permissionMember.batchCreate' | 'drive.v1.permissionMember.create' | 'drive.v1.permissionMember.delete' | 'drive.v1.permissionMember.list' | 'drive.v1.permissionMember.transferOwner' | 'drive.v1.permissionMember.update' | 'drive.v1.permissionPublic.get' | 'drive.v1.permissionPublicPassword.create' | 'drive.v1.permissionPublicPassword.delete' | 'drive.v1.permissionPublicPassword.update' | 'drive.v1.permissionPublic.patch'; export const driveV1ExportTaskCreate = { project: 'drive', name: 'drive.v1.exportTask.create', sdkName: 'drive.v1.exportTask.create', path: '/open-apis/drive/v1/export_tasks', httpMethod: 'POST', description: '[Feishu/Lark]-云空间-文件-导出云文档-创建导出任务-该接口用于创建导出文件的任务,并返回导出任务 ID。导出文件指将飞书文档、电子表格、多维表格导出为本地文件,包括 Word、Excel、PDF、CSV 格式。该接口为异步接口,需要继续调用接口获取导出结果。了解完整的导出步骤,参考', accessTokens: ['tenant', 'user'], schema: { data: z.object({ file_extension: z .enum(['docx', 'pdf', 'xlsx', 'csv']) .describe( '将云文档导出为本地文件后,本地文件的扩展名。了解各类云文档支持导出的文件格式,参考。 Options:docx(Microsoft Word 格式),pdf(PDF 格式),xlsx(Microsoft Excel 格式),csv(CSV 格式)', ), token: z .string() .describe( '要导出的云文档的 token。获取方式参考 ', ), type: z .enum(['doc', 'sheet', 'bitable', 'docx']) .describe( '要导出的云文档的类型 。可通过云文档的链接判断。 Options:doc(旧版飞书文档。支持导出扩展名为 docx 和 pdf 的文件。已不推荐使用。),sheet(飞书电子表格。支持导出扩展名为 xlsx 和 csv 的文件。),bitable(飞书多维表格。支持导出扩展名为 xlsx 和 csv 格式的文件。),docx(新版飞书文档。支持导出扩展名为 docx 和 pdf 格式的文件。)', ), sub_id: z .string() .describe( '导出飞书电子表格或多维表格为 CSV 文件时,需传入电子表格工作表的 ID 或多维表格数据表的 ID:- 电子表格可调用 接口获取返回的 `sheet_id` 的值作为该参数的值- 多维表格可调用接口获取返回的 `table_id` 的值作为该参数的值', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1ExportTaskGet = { project: 'drive', name: 'drive.v1.exportTask.get', sdkName: 'drive.v1.exportTask.get', path: '/open-apis/drive/v1/export_tasks/:ticket', httpMethod: 'GET', description: '[Feishu/Lark]-云空间-文件-导出云文档-查询导出任务结果-根据返回的导出任务 ID(ticket)轮询导出任务结果,并返回导出文件的 token。你可使用该 token 继续调用接口将导出的产物下载到本地。了解完整的导出文件步骤,参考', accessTokens: ['tenant', 'user'], schema: { params: z.object({ token: z .string() .describe( '要导出的云文档的 token。获取方式参考。你可参考以下请求示例了解如何使用查询参数', ), }), path: z.object({ ticket: z .string() .describe( '导出任务 ID。调用 获取', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCommentBatchQuery = { project: 'drive', name: 'drive.v1.fileComment.batchQuery', sdkName: 'drive.v1.fileComment.batchQuery', path: '/open-apis/drive/v1/files/:file_token/comments/batch_query', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-评论-批量获取评论-该接口用于根据评论 ID 列表批量获取云文档评论信息,包括评论和回复 ID、回复的内容、评论人和回复人的用户 ID 等。支持返回全局评论以及局部评论(可通过 is_whole 字段区分)', accessTokens: ['tenant', 'user'], schema: { data: z.object({ comment_ids: z .array(z.string()) .describe('需要获取数据的评论 ID ,可通过调用获取云文档所有评论接口获取 comment_id'), }), params: z.object({ file_type: z .enum(['doc', 'docx', 'sheet', 'file', 'slides']) .describe( '云文档类型 Options:doc(旧版文档类型,已不推荐使用),docx(新版文档类型),sheet(电子表格类型),file(文件类型),slides(幻灯片)', ), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), path: z.object({ file_token: z.string().describe('文档 Token').optional() }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCommentCreate = { project: 'drive', name: 'drive.v1.fileComment.create', sdkName: 'drive.v1.fileComment.create', path: '/open-apis/drive/v1/files/:file_token/comments', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-评论-添加全文评论-在文档中添加一条全局评论,不支持局部评论', accessTokens: ['tenant', 'user'], schema: { data: z.object({ reply_list: z .object({ replies: z .array( z.object({ content: z .object({ elements: z .array( z.object({ type: z .enum(['text_run', 'docs_link', 'person']) .describe( '回复内容的元素类型 Options:text_run(普通文本),docs_link(云文档链接),person(at 联系人)', ), text_run: z .object({ text: z.string().describe('添加普通文本') }) .describe('普通文本') .optional(), docs_link: z .object({ url: z.string().describe('添加云文档链接') }) .describe('云文档链接') .optional(), person: z .object({ user_id: z.string().describe('添加用户的 user_id 以@用户') }) .describe('at 联系人') .optional(), }), ) .describe('回复内容的元素列表'), }) .describe('回复内容'), }), ) .describe('回复列表'), }) .describe('评论里的回复列表') .optional(), }), params: z.object({ file_type: z.enum(['doc', 'docx']).describe('云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档)'), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), path: z.object({ file_token: z.string().describe('文档 Token可以通过浏览器该文档的 URL 栏上直接获取文档 Token') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCommentGet = { project: 'drive', name: 'drive.v1.fileComment.get', sdkName: 'drive.v1.fileComment.get', path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-评论-获取全文评论-获取云文档中的某条全文评论,不支持局部评论', accessTokens: ['tenant', 'user'], schema: { params: z.object({ file_type: z .enum(['doc', 'sheet', 'file', 'docx']) .describe('云文档类型 Options:doc(旧版文档,已不推荐使用),sheet(表格),file(文件),docx(新版文档)'), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), path: z.object({ file_token: z.string().describe('文档 Token'), comment_id: z.string().describe('评论 ID') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCommentList = { project: 'drive', name: 'drive.v1.fileComment.list', sdkName: 'drive.v1.fileComment.list', path: '/open-apis/drive/v1/files/:file_token/comments', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-评论-获取云文档所有评论-该接口用于根据云文档 Token 分页获取文档所有评论信息,包括评论和回复 ID、回复的内容、评论人和回复人的用户 ID 等。该接口支持返回全局评论以及局部评论(可通过 is_whole 字段区分)。默认每页返回 50 个评论', accessTokens: ['tenant', 'user'], schema: { params: z.object({ file_type: z .enum(['doc', 'docx', 'sheet', 'file', 'slides']) .describe( '云文档类型 Options:doc(旧版文档类型,已不推荐使用),docx(新版文档类型),sheet(电子表格类型),file(文件类型),slides(幻灯片)', ), is_whole: z.boolean().describe('是否全文评论').optional(), is_solved: z.boolean().describe('是否已解决(可选)').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), page_size: z.number().describe('分页大小,默认每页返回 50 个评论').optional(), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), path: z.object({ file_token: z .string() .describe( '云文档的 token。获取方式参考 ', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCommentPatch = { project: 'drive', name: 'drive.v1.fileComment.patch', sdkName: 'drive.v1.fileComment.patch', path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id', httpMethod: 'PATCH', description: '[Feishu/Lark]-云文档-评论-解决/恢复评论-解决或恢复云文档中的评论', accessTokens: ['tenant', 'user'], schema: { data: z.object({ is_solved: z.boolean().describe('评论解决标志') }), params: z.object({ file_type: z .enum(['doc', 'docx', 'sheet', 'file', 'slides']) .describe( '云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档),sheet(表格),file(文件),slides(幻灯片)', ), }), path: z.object({ file_token: z.string().describe('文档token'), comment_id: z.string().describe('评论ID') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCommentReplyDelete = { project: 'drive', name: 'drive.v1.fileCommentReply.delete', sdkName: 'drive.v1.fileCommentReply.delete', path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id/replies/:reply_id', httpMethod: 'DELETE', description: '[Feishu/Lark]-云文档-评论-删除回复-删除云文档中的某条回复', accessTokens: ['tenant', 'user'], schema: { params: z.object({ file_type: z .enum(['doc', 'docx', 'sheet', 'file', 'slides']) .describe( '云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档),sheet(表格),file(文件),slides(幻灯片)', ), }), path: z.object({ file_token: z.string().describe('文档 Token'), comment_id: z.string().describe('评论 ID'), reply_id: z.string().describe('回复 ID'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCommentReplyList = { project: 'drive', name: 'drive.v1.fileCommentReply.list', sdkName: 'drive.v1.fileCommentReply.list', path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id/replies', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-评论-获取回复信息-该接口用于根据评论 ID,获取该条评论对应的回复信息,包括回复 ID、回复内容、回复人的用户 ID 等', accessTokens: ['tenant', 'user'], schema: { params: z.object({ page_size: z.number().describe('分页大小').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), file_type: z .enum(['doc', 'docx', 'sheet', 'file', 'slides']) .describe( '云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档类型),sheet(电子表格类型),file(文件夹类型),slides(幻灯片)', ), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), path: z.object({ file_token: z.string().describe('文档 Token'), comment_id: z.string().describe('评论 ID') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCommentReplyUpdate = { project: 'drive', name: 'drive.v1.fileCommentReply.update', sdkName: 'drive.v1.fileCommentReply.update', path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id/replies/:reply_id', httpMethod: 'PUT', description: '[Feishu/Lark]-云文档-评论-更新回复的内容-更新云文档中的某条回复的内容', accessTokens: ['tenant', 'user'], schema: { data: z.object({ content: z .object({ elements: z .array( z.object({ type: z .enum(['text_run', 'docs_link', 'person']) .describe('回复的内容元素 Options:text_run(普通文本),docs_link(at 云文档链接),person(at 联系人)'), text_run: z .object({ text: z.string().describe('回复 普通文本') }) .describe('文本内容') .optional(), docs_link: z .object({ url: z.string().describe('回复 at 云文档') }) .describe('添加云文档链接') .optional(), person: z .object({ user_id: z.string().describe('添加用户的 user_id 以@用户') }) .describe('添加用户的 user_id') .optional(), }), ) .describe('回复的内容'), }) .describe('回复内容'), }), params: z.object({ file_type: z .enum(['doc', 'docx', 'sheet', 'file', 'slides']) .describe( '云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档),sheet(表格),file(文件),slides(幻灯片)', ), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), path: z.object({ file_token: z.string().describe('文档 Token'), comment_id: z.string().describe('评论 ID'), reply_id: z.string().describe('回复 ID'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCopy = { project: 'drive', name: 'drive.v1.file.copy', sdkName: 'drive.v1.file.copy', path: '/open-apis/drive/v1/files/:file_token/copy', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-云空间-文件-复制文件-该接口用于将用户云空间中的文件复制至其它文件夹下。不支持复制文件夹。该接口为异步接口', accessTokens: ['tenant', 'user'], schema: { data: z.object({ name: z.string().describe('复制的新文件的名称**数据校验规则**:最大长度为 `256` 字节'), type: z .enum(['file', 'doc', 'sheet', 'bitable', 'docx', 'mindnote', 'slides']) .describe( '被复制的源文件的类型。该参数为必填,请忽略左侧必填列的“否”。若该参数值为空或与实际文件类型不匹配,接口将返回失败。 Options:file(文件类型),doc(文档类型),sheet(电子表格类型),bitable(多维表格类型),docx(新版文档类型),mindnote(思维笔记类型),slides(幻灯片类型)', ) .optional(), folder_token: z .string() .describe( '目标文件夹的 token。若传入根文件夹 token,表示复制的新文件将被创建在云空间根目录。了解如何获取文件夹 token,参考', ), extra: z .array( z.object({ key: z.string().describe('自定义属性键对象'), value: z.string().describe('自定义属性值对象') }), ) .describe('自定义请求附加参数,用于实现特殊的复制语义') .optional(), }), params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }), path: z.object({ file_token: z .string() .describe( '被复制的源文件的 token。了解如何获取文件 token,参考', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCreateFolder = { project: 'drive', name: 'drive.v1.file.createFolder', sdkName: 'drive.v1.file.createFolder', path: '/open-apis/drive/v1/files/create_folder', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-云空间-文件夹-新建文件夹-该接口用于在用户云空间指定文件夹中创建一个空文件夹', accessTokens: ['tenant', 'user'], schema: { data: z.object({ name: z.string().describe('文件夹名称**长度限制**: 1~256 个字节'), folder_token: z .string() .describe( '父文件夹的 token。参数为空字符串时,表示在根目录下创建文件夹。你可参考获取某个文件夹的 token。了解更多,参考', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileCreateShortcut = { project: 'drive', name: 'drive.v1.file.createShortcut', sdkName: 'drive.v1.file.createShortcut', path: '/open-apis/drive/v1/files/create_shortcut', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-云空间-文件-创建文件快捷方式-创建指定文件的快捷方式到云空间的其它文件夹中', accessTokens: ['tenant', 'user'], schema: { data: z.object({ parent_token: z .string() .describe( '目标父文件夹的 token,获取方式见', ), refer_entity: z .object({ refer_token: z .string() .describe( '源文件的 token。获取方式见', ), refer_type: z .enum(['file', 'docx', 'bitable', 'doc', 'sheet', 'mindnote', 'slides']) .describe( '源文件的类型 Options:file(文件),docx(新版文档),bitable(多维表格),doc(旧版文档),sheet(电子表格),mindnote(思维笔记),slides(幻灯片类型)', ), }) .describe('源文件的信息'), }), params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileDelete = { project: 'drive', name: 'drive.v1.file.delete', sdkName: 'drive.v1.file.delete', path: '/open-apis/drive/v1/files/:file_token', httpMethod: 'DELETE', description: '[Feishu/Lark]-云文档-云空间-文件-删除文件或文件夹-删除用户在云空间内的文件或者文件夹。文件或文件夹被删除后,会进入回收站中', accessTokens: ['tenant', 'user'], schema: { params: z.object({ type: z .enum(['file', 'docx', 'bitable', 'folder', 'doc', 'sheet', 'mindnote', 'shortcut', 'slides']) .describe( '被删除文件的类型 Options:file(文件类型),docx(新版文档类型),bitable(多维表格类型),folder(文件夹类型),doc(文档类型),sheet(电子表格类型),mindnote(思维笔记类型),shortcut(快捷方式类型),slides(幻灯片)', ), }), path: z.object({ file_token: z .string() .describe( '需要删除的文件或文件夹 token。了解如何获取文件 token,参考。了解如何获取文件夹 token,参考', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileDeleteSubscribe = { project: 'drive', name: 'drive.v1.file.deleteSubscribe', sdkName: 'drive.v1.file.deleteSubscribe', path: '/open-apis/drive/v1/files/:file_token/delete_subscribe', httpMethod: 'DELETE', description: '[Feishu/Lark]-云文档-云空间-事件-取消云文档事件订阅-该接口用于取消订阅云文档的通知事件。了解事件订阅的配置流程和使用场景,参考。了解云文档支持的事件类型,参考', accessTokens: ['tenant', 'user'], schema: { params: z.object({ file_type: z .enum(['doc', 'docx', 'sheet', 'bitable', 'file', 'folder', 'slides']) .describe( '云文档类型 Options:doc(旧版文档。已不推荐使用),docx(新版文档),sheet(电子表格),bitable(多维表格),file(文件),folder(文件夹),slides(幻灯片)', ), event_type: z .string() .describe('事件类型,`file_type` 为 `folder`(文件夹)时必填 `file.created_in_folder_v1`') .optional(), }), path: z.object({ file_token: z .string() .describe( '云文档的 token。了解如何获取各类云文档的token,参考', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileGetSubscribe = { project: 'drive', name: 'drive.v1.file.getSubscribe', sdkName: 'drive.v1.file.getSubscribe', path: '/open-apis/drive/v1/files/:file_token/get_subscribe', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-云空间-事件-查询云文档事件订阅状态-该接口用于查询云文档事件的订阅状态。了解事件订阅的配置流程和使用场景,参考。了解云文档支持的事件类型,参考', accessTokens: ['tenant', 'user'], schema: { params: z.object({ file_type: z .enum(['doc', 'docx', 'sheet', 'bitable', 'file', 'folder', 'slides']) .describe( '文档类型 Options:doc(旧版文档。已不推荐使用),docx(新版文档),sheet(电子表格),bitable(多维表格),file(文件),folder(文件夹),slides(幻灯片)', ), event_type: z .string() .describe('事件类型,`file_type` 为 `folder `(文件夹)时必填 `file.created_in_folder_v1`') .optional(), }), path: z.object({ file_token: z .string() .describe( '云文档的 token。了解如何获取各类云文档的 token,参考', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileList = { project: 'drive', name: 'drive.v1.file.list', sdkName: 'drive.v1.file.list', path: '/open-apis/drive/v1/files', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-云空间-文件夹-获取文件夹中的文件清单-该接口用于获取用户云空间指定文件夹中文件信息清单。文件的信息包括名称、类型、token、创建时间、所有者 ID 等', accessTokens: ['tenant', 'user'], schema: { params: z.object({ page_size: z.number().describe('指定每页显示的数据项的数量。若获取根目录下的清单,将返回全部数据').optional(), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), folder_token: z .string() .describe( '文件夹的 token。不填写或填空字符串,将获取用户云空间根目录下的清单,且不支持分页。了解如何获取文件夹 token,参考', ) .optional(), order_by: z .enum(['EditedTime', 'CreatedTime']) .describe('定义清单中文件的排序方式 Options:EditedTime(按编辑时间排序),CreatedTime(按创建时间排序)') .optional(), direction: z .enum(['ASC', 'DESC']) .describe('定义清单中文件的排序规则 Options:ASC(按升序排序),DESC(按降序排序)') .optional(), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileMove = { project: 'drive', name: 'drive.v1.file.move', sdkName: 'drive.v1.file.move', path: '/open-apis/drive/v1/files/:file_token/move', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-云空间-文件-移动文件或文件夹-将文件或者文件夹移动到用户云空间的其他位置', accessTokens: ['tenant', 'user'], schema: { data: z.object({ type: z .enum(['file', 'docx', 'bitable', 'doc', 'sheet', 'mindnote', 'folder', 'slides']) .describe( '文件类型。该参数为必填,请忽略左侧必填列的“否”。如果该值为空或者与文件实际类型不匹配,接口会返回失败。 Options:file(普通文件类型),docx(新版文档类型),bitable(多维表格类型),doc(文档类型),sheet(电子表格类型),mindnote(思维笔记类型),folder(文件夹类型),slides(幻灯片类型)', ) .optional(), folder_token: z .string() .describe( '目标文件夹的 token。了解如何获取文件夹 token,参考', ) .optional(), }), path: z.object({ file_token: z .string() .describe( '需要移动的文件或文件夹 token。了解如何获取文件 token,参考。了解如何获取文件夹 token,参考', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileStatisticsGet = { project: 'drive', name: 'drive.v1.fileStatistics.get', sdkName: 'drive.v1.fileStatistics.get', path: '/open-apis/drive/v1/files/:file_token/statistics', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-云空间-文件-获取文件统计信息-此接口用于获取各类文件的流量统计信息和互动信息,包括阅读人数、阅读次数和点赞数', accessTokens: ['tenant', 'user'], schema: { params: z.object({ file_type: z .enum(['doc', 'sheet', 'mindnote', 'bitable', 'wiki', 'file', 'docx']) .describe( '文件类型 Options:doc(旧版文档),sheet(电子表格),mindnote(思维笔记),bitable(多维表格),wiki(知识库文档),file(文件),docx(新版文档)', ), }), path: z.object({ file_token: z .string() .describe( '文件 token。了解如何获取文件 token,参考', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileSubscribe = { project: 'drive', name: 'drive.v1.file.subscribe', sdkName: 'drive.v1.file.subscribe', path: '/open-apis/drive/v1/files/:file_token/subscribe', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-云空间-事件-订阅云文档事件-该接口用于订阅云文档的各类通知事件。了解事件订阅的配置流程和使用场景,参考。了解云文档支持的事件类型,参考', accessTokens: ['tenant', 'user'], schema: { params: z.object({ file_type: z .enum(['doc', 'docx', 'sheet', 'bitable', 'file', 'folder', 'slides']) .describe( '云文档类型 Options:doc(旧版文档。已不推荐使用),docx(新版文档),sheet(电子表格),bitable(多维表格),file(文件),folder(文件夹),slides(幻灯片)', ), event_type: z .string() .describe('事件类型,`file_type` 为 `folder `(文件夹)时必填 `file.created_in_folder_v1`') .optional(), }), path: z.object({ file_token: z .string() .describe( '云文档的 token。了解如何获取各类云文档的 token,参考', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileSubscriptionCreate = { project: 'drive', name: 'drive.v1.fileSubscription.create', sdkName: 'drive.v1.fileSubscription.create', path: '/open-apis/drive/v1/files/:file_token/subscriptions', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-云文档助手-订阅-创建订阅-订阅文档中的变更事件,当前支持文档评论订阅,订阅后文档评论更新会有“云文档助手”推送给订阅的用户', accessTokens: ['user'], schema: { data: z.object({ subscription_id: z.string().describe('订阅关系ID').optional(), subscription_type: z.literal('comment_update').describe('订阅类型 Options:comment_update(评论更新)'), is_subcribe: z.boolean().describe('是否订阅').optional(), file_type: z.enum(['doc', 'docx', 'wiki']).describe('文档类型 Options:doc(文档),docx(新版文档),wiki(知识库wiki)'), }), path: z.object({ file_token: z.string().describe('文档token') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileSubscriptionGet = { project: 'drive', name: 'drive.v1.fileSubscription.get', sdkName: 'drive.v1.fileSubscription.get', path: '/open-apis/drive/v1/files/:file_token/subscriptions/:subscription_id', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-云文档助手-订阅-获取订阅状态-根据订阅ID获取该订阅的状态', accessTokens: ['user'], schema: { data: z.object({ file_type: z .enum(['doc', 'docx', 'wiki']) .describe('文档类型 Options:doc(Docs 旧版文档),docx(Upgraded Docs 新版文档),wiki(云空间)'), }), path: z.object({ file_token: z.string().describe('文档token').optional(), subscription_id: z.string().describe('订阅关系ID').optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileSubscriptionPatch = { project: 'drive', name: 'drive.v1.fileSubscription.patch', sdkName: 'drive.v1.fileSubscription.patch', path: '/open-apis/drive/v1/files/:file_token/subscriptions/:subscription_id', httpMethod: 'PATCH', description: '[Feishu/Lark]-云文档-云文档助手-订阅-更新订阅状态-根据订阅ID更新订阅状态', accessTokens: ['user'], schema: { data: z.object({ is_subscribe: z.boolean().describe('是否订阅'), file_type: z.enum(['doc', 'docx', 'wiki']).describe('文档类型 Options:doc(文档),docx(新版文档),wiki(知识库wiki)'), }), path: z.object({ file_token: z.string().describe('文档token').optional(), subscription_id: z.string().describe('订阅关系ID').optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileTaskCheck = { project: 'drive', name: 'drive.v1.file.taskCheck', sdkName: 'drive.v1.file.taskCheck', path: '/open-apis/drive/v1/files/task_check', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-云空间-文件夹-查询异步任务状态-查询异步任务的状态信息。目前支持查询删除文件夹和移动文件夹的异步任务', accessTokens: ['tenant', 'user'], schema: { params: z.object({ task_id: z .string() .describe( '异步任务的 ID。目前支持查询删除文件夹和移动文件夹的异步任务。可通过调用或获取任务 ID', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileUploadFinish = { project: 'drive', name: 'drive.v1.file.uploadFinish', sdkName: 'drive.v1.file.uploadFinish', path: '/open-apis/drive/v1/files/upload_finish', httpMethod: 'POST', description: '[Feishu/Lark]-文件-上传文件-分片上传文件-分片上传文件-完成上传-调用接口将分片全部上传完毕后,你需调用本接口触发完成上传。否则将上传失败。了解完整的上传文件流程,参考', accessTokens: ['tenant', 'user'], schema: { data: z.object({ upload_id: z .string() .describe( '分片上传事务 ID。通过调用接口获取', ), block_num: z .number() .describe( '分片的数量。通过调用接口获取', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileUploadPrepare = { project: 'drive', name: 'drive.v1.file.uploadPrepare', sdkName: 'drive.v1.file.uploadPrepare', path: '/open-apis/drive/v1/files/upload_prepare', httpMethod: 'POST', description: '[Feishu/Lark]-文件-上传文件-分片上传文件-分片上传文件-预上传-发送初始化请求,以获取上传事务 ID 和分片策略,为做准备。平台固定以 4MB 的大小对文件进行分片。了解完整的上传文件流程,参考', accessTokens: ['tenant', 'user'], schema: { data: z.object({ file_name: z.string().describe('文件的名称'), parent_type: z .literal('explorer') .describe('上传点的类型。取固定值 explorer,表示将文件上传至云空间中。 Options:explorer(云空间)'), parent_node: z .string() .describe( '云空间中文件夹的 token。了解如何获取文件夹 token,参考', ), size: z.number().describe('文件的大小,单位为字节'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileVersionCreate = { project: 'drive', name: 'drive.v1.fileVersion.create', sdkName: 'drive.v1.fileVersion.create', path: '/open-apis/drive/v1/files/:file_token/versions', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-云空间-文档版本-创建文档版本-创建文档版本。文档支持在线文档或电子表格。该接口为异步接口', accessTokens: ['tenant', 'user'], schema: { data: z.object({ name: z .string() .describe( '创建的版本文档的标题。最大长度 1024 个 Unicode 码点。通常情况下,一个英文或中文字符对应一个码点,但是某些特殊符号可能会对应多个码点。例如,家庭组合「👨‍👩‍👧」这个表情符号对应 5 个码点。**注意**:该参数必填,请忽略左侧必填列显示的“否”', ) .optional(), obj_type: z .enum(['docx', 'sheet']) .describe( '源文档的类型**注意**:该参数必填,请忽略左侧必填列显示的“否”。 Options:docx(新版文档),sheet(电子表格)', ) .optional(), }), params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }), path: z.object({ file_token: z .string() .describe( '源文档的 token,获取方式参考 ', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileVersionDelete = { project: 'drive', name: 'drive.v1.fileVersion.delete', sdkName: 'drive.v1.fileVersion.delete', path: '/open-apis/drive/v1/files/:file_token/versions/:version_id', httpMethod: 'DELETE', description: '[Feishu/Lark]-云文档-云空间-文档版本-删除文档版本-删除基于在线文档或电子表格创建的版本', accessTokens: ['tenant', 'user'], schema: { params: z.object({ obj_type: z.enum(['docx', 'sheet']).describe('源文档的类型 Options:docx(新版文档),sheet(电子表格)'), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), path: z.object({ file_token: z .string() .describe( '当前版本对应的源文档的 token。获取方式参考', ), version_id: z.string().describe('版本文档版本标识'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileVersionGet = { project: 'drive', name: 'drive.v1.fileVersion.get', sdkName: 'drive.v1.fileVersion.get', path: '/open-apis/drive/v1/files/:file_token/versions/:version_id', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-云空间-文档版本-获取文档版本信息-该接口用于获取文档或电子表格指定版本的信息,包括标题、标识、创建者、创建时间等', accessTokens: ['tenant', 'user'], schema: { params: z.object({ obj_type: z.enum(['docx', 'sheet']).describe('源文档的类型 Options:docx(新版文档),sheet(电子表格)'), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), path: z.object({ file_token: z .string() .describe( '源文档的 token。获取方式参考 ', ), version_id: z.string().describe('版本文档的版本标识'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileVersionList = { project: 'drive', name: 'drive.v1.fileVersion.list', sdkName: 'drive.v1.fileVersion.list', path: '/open-apis/drive/v1/files/:file_token/versions', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-云空间-文档版本-获取文档版本列表-获取文档或电子表格的版本列表', accessTokens: ['tenant', 'user'], schema: { params: z.object({ page_size: z.number().describe('分页大小'), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), obj_type: z.enum(['docx', 'sheet']).describe('源文档的类型 Options:docx(新版文档),sheet(电子表格)'), user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(), }), path: z.object({ file_token: z .string() .describe( '源文档的 token。获取方式参考 ', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1FileViewRecordList = { project: 'drive', name: 'drive.v1.fileViewRecord.list', sdkName: 'drive.v1.fileViewRecord.list', path: '/open-apis/drive/v1/files/:file_token/view_records', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-云空间-文件-获取文件访问记录-获取文档、电子表格、多维表格等文件的历史访问记录,包括访问者的 ID、姓名、头像和最近访问时间', accessTokens: ['tenant', 'user'], schema: { params: z.object({ page_size: z.number().describe('分页大小'), page_token: z .string() .describe( '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果', ) .optional(), file_type: z .enum(['doc', 'docx', 'sheet', 'bitable', 'mindnote', 'wiki', 'file']) .describe( '文件类型 Options:doc(旧版文档),docx(新版文档),sheet(电子表格),bitable(多维表格),mindnote(思维笔记),wiki(知识库文档),file(文件)', ), viewer_id_type: z .enum(['user_id', 'union_id', 'open_id']) .describe( '返回的访问者 ID 的类型。**当值为`user_id`时,字段权限要求**:<md-perm name="contact:user.employee_id:readonly" desc="获取用户 user ID" support_app_types="custom" tags="">获取用户 user ID</md-perm> Options:user_id(标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。),union_id(标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。),open_id(标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。)', ) .optional(), }), path: z.object({ file_token: z .string() .describe( '文件 token。获取方式参考', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1ImportTaskCreate = { project: 'drive', name: 'drive.v1.importTask.create', sdkName: 'drive.v1.importTask.create', path: '/open-apis/drive/v1/import_tasks', httpMethod: 'POST', description: '[Feishu/Lark]-云空间-文件-导入文件-创建导入任务-该接口用于创建导入文件的任务,并返回导入任务 ID。导入文件指将本地文件如 Word、TXT、Markdown、Excel 等格式的文件导入为某种格式的飞书在线云文档。该接口为异步接口,需要继续调用接口获取导入结果。了解完整的导入文件步骤,参考', accessTokens: ['tenant', 'user'], schema: { data: z.object({ file_extension: z .string() .describe( '要导入的文件的扩展名。了解支持的文件格式,参考。**注意**:此处填写的文件扩展名需与实际文件的后缀名保持严格一致。请注意区分后缀为 “markdown”、“md”、“mark” 的 Markdown 文件,并在填写相关参数时保持后缀名一致。否则将返回 1069910 错误码', ), file_token: z .string() .describe( '要导入文件的 token。创建任务前,你需先调用或接口获取源文件的 token。了解更多,参考', ), type: z .string() .describe( '目标云文档格式。不同文件支持的云文档格式不同。详情参考。可选值如下所示:- `docx`:新版文档- `sheet`:电子表格- `bitable`:多维表格', ), file_name: z.string().describe('导入后的在线云文档名称。参数为空时,使用上传本地文件时的文件名').optional(), point: z .object({ mount_type: z .number() .describe('挂载类型。取固定值 1,表示将该云文档挂载至云空间下。 Options:1(Space 挂载到云空间)'), mount_key: z .string() .describe( '云文档挂载的文件夹的 token,即云空间下文件夹的 token。空表示云空间根目录。了解如何获取文件夹 token,参考', ), }) .describe('挂载点(导入后的云文档所在位置)'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1ImportTaskGet = { project: 'drive', name: 'drive.v1.importTask.get', sdkName: 'drive.v1.importTask.get', path: '/open-apis/drive/v1/import_tasks/:ticket', httpMethod: 'GET', description: '[Feishu/Lark]-云空间-文件-导入文件-查询导入任务结果-根据返回的导入任务 ID(ticket)轮询导入结果。了解完整的导入文件步骤,参考', accessTokens: ['tenant', 'user'], schema: { path: z.object({ ticket: z .string() .describe( '导入任务 ID。调用 获取', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1MediaBatchGetTmpDownloadUrl = { project: 'drive', name: 'drive.v1.media.batchGetTmpDownloadUrl', sdkName: 'drive.v1.media.batchGetTmpDownloadUrl', path: '/open-apis/drive/v1/medias/batch_get_tmp_download_url', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-云空间-素材-获取素材临时下载链接-该接口用于获取云文档中素材的临时下载链接。链接的有效期为 24 小时,过期失效', accessTokens: ['tenant', 'user'], schema: { params: z.object({ file_tokens: z .array(z.string()) .describe( '素材文件的 token。获取方式如下所示:* 新版文档:通过接口获取指定文件块(File Block)或图片块(Image Block)的 token,即为素材 token。* 电子表格:通过接口获取指定附件的 `fileToken`,即为素材的 token。* 多维表格:通过接口获取指定附件的 `file_token`,即为素材的 token。如需一次获取多个素材的下载链接,可多次传递本参数及素材的 token 值,格式如下:`https://{url}?file_tokens={token1}&file_tokens={token2}`其中:- `file_tokens` 是参数名,可以多次传递- `token1` 和 `token2` 为素材的实际 token 值- 一次最多可传递 5 个素材的 token,但在 API 调试台仅支持传一个 token', ), extra: z .string() .describe( '拓展信息,如拥有高级权限的多维表格在下载素材时,需要添加额外的扩展信息作为 URL 查询参数鉴权。详情参考。未正确填写该参数的接口将返回 403 的 HTTP 状态码', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1MediaUploadFinish = { project: 'drive', name: 'drive.v1.media.uploadFinish', sdkName: 'drive.v1.media.uploadFinish', path: '/open-apis/drive/v1/medias/upload_finish', httpMethod: 'POST', description: '[Feishu/Lark]-云空间-素材-上传素材-分片上传素材-完成上传-调用接口将分片全部上传完毕后,你需调用本接口触发完成上传。了解完整的分片上传素材流程,参考', accessTokens: ['tenant', 'user'], schema: { data: z.object({ upload_id: z .string() .describe( '分片上传事务 ID。通过调用接口获取', ), block_num: z .number() .describe( '分片数量。通过调用接口获取', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1MediaUploadPrepare = { project: 'drive', name: 'drive.v1.media.uploadPrepare', sdkName: 'drive.v1.media.uploadPrepare', path: '/open-apis/drive/v1/medias/upload_prepare', httpMethod: 'POST', description: '[Feishu/Lark]-云空间-素材-上传素材-分片上传素材-预上传-发送初始化请求,以获取上传事务 ID 和分片策略,为做准备。平台固定以 4MB 的大小对素材进行分片。了解完整的分片上传素材流程,参考', accessTokens: ['tenant', 'user'], schema: { data: z.object({ file_name: z.string().describe('素材的文件名称'), parent_type: z .enum([ 'doc_image', 'docx_image', 'sheet_image', 'doc_file', 'docx_file', 'sheet_file', 'vc_virtual_background', 'bitable_image', 'bitable_file', 'moments', 'ccm_import_open', ]) .describe( '上传点的类型。你可根据上传的文件类型与云文档类型确定上传点类型。例如,要将一张图片插入到新版文档(文件类型为 `docx`)中,需指定上传点为 `docx_image`;要将一个附件上传到新版文档中,需指定上传点为 `docx_file`。 Options:doc_image(旧版文档图片),docx_image(新版文档图片),sheet_image(电子表格图片),doc_file(文档文件),docx_file(新版文档文件),sheet_file(电子表格文件),vc_virtual_background(vc 虚拟背景(灰度中,暂未开放)),bitable_image(多维表格图片),bitable_file(多维表格文件),moments(同事圈(灰度中,暂未开放)),ccm_import_open(云文档导入文件)', ), parent_node: z .string() .describe( '上传点的 token,即要上传的云文档的 token,用于指定素材将要上传到的云文档或位置。参考 了解上传点类型与上传点 token 的对应关系', ), size: z.number().describe('文件的大小,单位为字节'), extra: z .string() .describe( '以下场景的上传点需通过该参数传入素材所在云文档的 token。extra 参数的格式为`"{\\"drive_route_token\\":\\"素材所在云文档的 token\\"}"`。详情参考', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1MetaBatchQuery = { project: 'drive', name: 'drive.v1.meta.batchQuery', sdkName: 'drive.v1.meta.batchQuery', path: '/open-apis/drive/v1/metas/batch_query', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-云空间-文件-获取文件元数据-该接口用于根据文件 token 获取其元数据,包括标题、所有者、创建时间、密级、访问链接等数据', accessTokens: ['tenant', 'user'], schema: { data: z.object({ request_docs: z .array( z.object({ doc_token: z .string() .describe( '文件的 token,获取方式见', ), doc_type: z .enum(['doc', 'sheet', 'bitable', 'mindnote', 'file', 'wiki', 'docx', 'folder', 'synced_block']) .describe( '文件的类型 Options:doc(飞书文档),sheet(飞书电子表格),bitable(飞书多维表格),mindnote(飞书思维笔记),file(飞书文件),wiki(飞书知识库),docx(飞书新版文档),folder(飞书文件夹),synced_block(SyncedBlock 文档同步块(灰度中))', ), }), ) .describe('请求的文件的 token 和类型。一次请求中不可超过 200 个'), with_url: z.boolean().describe('是否获取文件的访问链接').optional(), }), params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionMemberAuth = { project: 'drive', name: 'drive.v1.permissionMember.auth', sdkName: 'drive.v1.permissionMember.auth', path: '/open-apis/drive/v1/permissions/:token/members/auth', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-权限-成员-判断当前用户是否有某权限-该接口用于根据 filetoken 判断当前登录用户是否具有某权限', accessTokens: ['tenant', 'user'], schema: { params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)', ), action: z .enum(['view', 'edit', 'share', 'comment', 'export', 'copy', 'print', 'manage_public']) .describe( '需要判断的权限 Options:view(阅读),edit(编辑),share(分享),comment(评论),export(导出),copy(拷贝),print(打印),manage_public(ManagePublic 管理权限设置)', ), }), path: z.object({ token: z.string().describe('文件的 token') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionMemberBatchCreate = { project: 'drive', name: 'drive.v1.permissionMember.batchCreate', sdkName: 'drive.v1.permissionMember.batchCreate', path: '/open-apis/drive/v1/permissions/:token/members/batch_create', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-权限-成员-批量增加协作者权限-该接口可根据云文档 token 批量将用户添加为云文档的协作者', accessTokens: ['tenant', 'user'], schema: { data: z.object({ members: z .array( z.object({ member_type: z .enum(['email', 'openid', 'unionid', 'openchat', 'opendepartmentid', 'userid', 'groupid', 'wikispaceid']) .describe( '协作者 ID 类型 Options:email(飞书邮箱),openid(open_id 开放平台 ID),unionid(union_id 开放平台 UnionID),openchat(open_chat 开放平台群组 ID),opendepartmentid(open_department_id 开放平台部门 ID。仅当使用 <md-tag mode="inline" type="token-user">user_access_token</md-tag> 调用时有效),userid(user_id 用户自定义 ID),groupid(group_id 自定义用户组 ID),wikispaceid(wiki_space_id 知识空间 ID。仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数)', ), member_id: z.string().describe('协作者 ID,与协作者 ID 类型需要对应'), perm: z .enum(['view', 'edit', 'full_access']) .describe('协作者的权限角色 Options:view(可阅读角色),edit(可编辑角色),full_access(可管理角色)'), perm_type: z .enum(['container', 'single_page']) .describe( '协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)', ) .optional(), type: z .enum([ 'user', 'chat', 'department', 'group', 'wiki_space_member', 'wiki_space_viewer', 'wiki_space_editor', ]) .describe( '协作者类型**注意**:当 `member_type` 参数为 `wikispaceid` 时必须传该参数**默认值**:"" Options:user(用户),chat(群组),department(组织架构),group(用户组),wiki_space_member(知识库成员。在知识库启用了成员分组功能后不支持该参数),wiki_space_viewer(知识库可阅读成员。仅在知识库启用了成员分组功能后才支持该参数),wiki_space_editor(知识库可编辑成员。仅在知识库启用了成员分组功能后才支持该参数)', ) .optional(), }), ) .describe('本次要增加权限的协作者列表'), }), params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'folder', 'mindnote', 'minutes', 'slides']) .describe( '云文档类型,需要与云文档的 token 相匹配。 Options:doc(旧版文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),folder(文件夹。使用 <md-tag mode="inline" type="token-tenant">tenant_access_token</md-tag> 调用时,需确保文件夹所有者为应用或应用拥有文件夹的可管理权限,你需要将应用作为群机器人添加至群内,然后授予该群组可管理权限。),mindnote(思维笔记),minutes(妙记。目前妙记还不支持 `full_access` 权限角色),slides(幻灯片)', ), need_notification: z .boolean() .describe( '添加权限后是否通知对方。仅当使用 <md-tag mode="inline" type="token-user">user_access_token</md-tag> 调用时有效', ) .optional(), }), path: z.object({ token: z .string() .describe( '云文档的 token,需要与 type 参数指定的云文档类型相匹配。可参考 ', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionMemberCreate = { project: 'drive', name: 'drive.v1.permissionMember.create', sdkName: 'drive.v1.permissionMember.create', path: '/open-apis/drive/v1/permissions/:token/members', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-权限-成员-增加协作者权限-该接口用于根据云文档的 token 给用户增加文档的权限', accessTokens: ['tenant', 'user'], schema: { data: z.object({ member_type: z .enum(['email', 'openid', 'unionid', 'openchat', 'opendepartmentid', 'userid', 'groupid', 'wikispaceid']) .describe( '协作者 ID 类型,与协作者 ID 需要对应 Options:email(飞书邮箱),openid(open_id 应用或用户的 Open ID。 - 获取应用 OpenID,参考 - 获取用户 OpenID,参考),unionid(union_id 开放平台 UnionID),openchat(open_chat 开放平台群组 ID),opendepartmentid(open_department_id 开放平台部门 ID。仅当使用 <md-tag mode="inline" type="token-user">user_access_token</md-tag> 调用时有效),userid(user_id 用户自定义 ID),groupid(group_id 自定义用户组 ID),wikispaceid(wiki_space_id 知识空间 ID。仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数)', ), member_id: z.string().describe('协作者 ID,与协作者 ID 类型需要对应'), perm: z .enum(['view', 'edit', 'full_access']) .describe( '协作者对应的权限角色 **注意:** 妙记还不支持可管理角色 Options:view(可阅读角色),edit(可编辑角色),full_access(可管理角色)', ), perm_type: z .enum(['container', 'single_page']) .describe( '协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)', ) .optional(), type: z .enum(['user', 'chat', 'department', 'group', 'wiki_space_member', 'wiki_space_viewer', 'wiki_space_editor']) .describe( '协作者类型**注意**:当 `member_type` 参数为 `wikispaceid` 时必须传该参数**默认值**:"" Options:user(用户),chat(群组),department(组织架构),group(用户组),wiki_space_member(知识库成员。在知识库启用了成员分组功能后不支持该参数),wiki_space_viewer(知识库可阅读成员。仅在知识库启用了成员分组功能后才支持该参数),wiki_space_editor(知识库可编辑成员。仅在知识库启用了成员分组功能后才支持该参数)', ) .optional(), }), params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'folder', 'mindnote', 'minutes', 'slides']) .describe( '云文档类型,需要与云文档的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),folder(文件夹。使用 <md-tag mode="inline" type="token-tenant">tenant_access_token</md-tag> 调用时,需确保文件夹所有者为应用或应用拥有文件夹的可管理权限,你需要将应用作为群机器人添加至群内,然后授予该群组可管理权限。),mindnote(思维笔记),minutes(妙记),slides(幻灯片)', ), need_notification: z .boolean() .describe( '添加权限后是否通知对方。仅当使用 <md-tag mode="inline" type="token-user">user_access_token</md-tag> 调用时有效', ) .optional(), }), path: z.object({ token: z .string() .describe( '云文档的 token,需要与 type 参数指定的云文档类型相匹配。可参考', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionMemberDelete = { project: 'drive', name: 'drive.v1.permissionMember.delete', sdkName: 'drive.v1.permissionMember.delete', path: '/open-apis/drive/v1/permissions/:token/members/:member_id', httpMethod: 'DELETE', description: '[Feishu/Lark]-云文档-权限-成员-移除协作者权限-该接口用于根据文件的 token 移除文档协作者的权限', accessTokens: ['tenant', 'user'], schema: { data: z.object({ type: z .enum(['user', 'chat', 'department', 'group', 'wiki_space_member', 'wiki_space_viewer', 'wiki_space_editor']) .describe( '协作者类型**注意**:当 `member_type` 参数为 `wikispaceid` 时必须传该参数**默认值**:"" Options:user(用户),chat(群组),department(组织架构),group(用户组),wiki_space_member(知识库成员 - **注意**:在知识库启用了成员分组功能后不支持该参数),wiki_space_viewer(知识库可阅读成员 - **注意**:仅在知识库启用了成员分组功能后才支持该参数),wiki_space_editor(知识库可编辑成员 - **注意**:仅在知识库启用了成员分组功能后才支持该参数)', ) .optional(), perm_type: z .enum(['container', 'single_page']) .describe( '协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)', ) .optional(), }), params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'folder', 'mindnote', 'minutes', 'slides']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),folder(文件夹),mindnote(思维笔记),minutes(妙记),slides(幻灯片)', ), member_type: z .enum(['email', 'openid', 'openchat', 'opendepartmentid', 'userid', 'unionid', 'groupid', 'wikispaceid']) .describe( '协作者 ID 类型,与协作者 ID 需要对应 Options:email(邮箱地址),openid(开放平台 ID),openchat(OpenChatID 开放平台群组 ID),opendepartmentid(开放平台部门 ID),userid(用户自定义 ID),unionid(开放平台 UnionID),groupid(自定义用户组 ID),wikispaceid(知识空间 ID - **注意**:仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数)', ), }), path: z.object({ token: z .string() .describe( '文件的 token,获取方式见 ', ), member_id: z.string().describe('协作者 ID,与协作者 ID 类型需要对应'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionMemberList = { project: 'drive', name: 'drive.v1.permissionMember.list', sdkName: 'drive.v1.permissionMember.list', path: '/open-apis/drive/v1/permissions/:token/members', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-权限-成员-获取协作者列表-该接口用于根据文件的 token 查询协作者', accessTokens: ['tenant', 'user'], schema: { params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)', ), fields: z .string() .describe( '指定返回的协作者字段信息,如无指定则默认不返回**可选值有:** - `name`:协作者名- `type`:协作者类型- `avatar`:头像- `external_label`:外部标签**注意:** - 你可以使用特殊值`*`指定返回目前支持的所有字段- 你可以使用`,`分隔若干个你想指定返回的字段,如:`name,avatar`- 按需指定返回字段接口性能更好', ) .optional(), perm_type: z .enum(['container', 'single_page']) .describe( '协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)', ) .optional(), }), path: z.object({ token: z .string() .describe( '文件的 token,获取方式见 ', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionMemberTransferOwner = { project: 'drive', name: 'drive.v1.permissionMember.transferOwner', sdkName: 'drive.v1.permissionMember.transferOwner', path: '/open-apis/drive/v1/permissions/:token/members/transfer_owner', httpMethod: 'POST', description: '[Feishu/Lark]-云文档-权限-成员-转移所有者-该接口用于根据云文档 token 和用户信息转移文件的所有者', accessTokens: ['tenant', 'user'], schema: { data: z.object({ member_type: z .enum(['email', 'openid', 'userid']) .describe( '文件所有者的 ID 类型 Options:email(飞书邮箱),openid(open_id 开放平台ID),userid(user_id 用户自定义ID)', ), member_id: z.string().describe('文件所有者的 ID,与文件所有者的 ID 类型需要对应'), }), params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides', 'folder']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片),folder(文件夹)', ), need_notification: z.boolean().describe('是否需要通知新的文件所有者').optional(), remove_old_owner: z.boolean().describe('转移后是否需要移除原文件所有者的权限').optional(), stay_put: z .boolean() .describe( '仅当文件在个人文件夹下,此参数才会生效。如果设为`false`,系统会将该内容移至新所有者的空间下。如果设为`true`,则留在原位置', ) .optional(), old_owner_perm: z .string() .describe('仅当 remove_old_owner = false 时,此参数才会生效 保留原文件所有者指定的权限角色') .optional(), }), path: z.object({ token: z.string().describe('文件的 token') }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionMemberUpdate = { project: 'drive', name: 'drive.v1.permissionMember.update', sdkName: 'drive.v1.permissionMember.update', path: '/open-apis/drive/v1/permissions/:token/members/:member_id', httpMethod: 'PUT', description: '[Feishu/Lark]-云文档-权限-成员-更新协作者权限-该接口用于根据文件的 token 更新文档协作者的权限', accessTokens: ['tenant', 'user'], schema: { data: z.object({ member_type: z .enum(['email', 'openid', 'unionid', 'openchat', 'opendepartmentid', 'userid', 'groupid', 'wikispaceid']) .describe( '协作者 ID 类型,与协作者 ID 需要对应 Options:email(飞书邮箱),openid(open_id 开放平台 ID),unionid(union_id 开放平台 UnionID),openchat(open_chat 开放平台群组 ID),opendepartmentid(open_department_id 开放平台部门 ID),userid(user_id 用户自定义 ID),groupid(group_id 自定义用户组 ID),wikispaceid(wiki_space_id 知识空间 ID - **注意**:仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数)', ), perm: z .enum(['view', 'edit', 'full_access']) .describe( '协作者对应的权限角色 **注意:** 妙记还不支持可管理角色 Options:view(可阅读角色),edit(可编辑角色),full_access(可管理角色)', ), perm_type: z .enum(['container', 'single_page']) .describe( '协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)', ) .optional(), type: z .enum(['user', 'chat', 'department', 'group', 'wiki_space_member', 'wiki_space_viewer', 'wiki_space_editor']) .describe( '协作者类型**注意**:当 `member_type` 参数为 `wikispaceid` 时必须传该参数**默认值**:"" Options:user(用户),chat(群组),department(组织架构),group(用户组),wiki_space_member(知识库成员 - **注意**:在知识库启用了成员分组功能后不支持该参数),wiki_space_viewer(知识库可阅读成员 - **注意**:仅在知识库启用了成员分组功能后才支持该参数),wiki_space_editor(知识库可编辑成员 - **注意**:仅在知识库启用了成员分组功能后才支持该参数)', ) .optional(), }), params: z.object({ need_notification: z .boolean() .describe('更新权限后是否通知对方**注意:** 使用`tenant_access_token`访问不支持该参数') .optional(), type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)', ), }), path: z.object({ token: z .string() .describe( '文件的 token,获取方式见 ', ), member_id: z.string().describe('协作者 ID,与协作者 ID 类型需要对应'), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionPublicGet = { project: 'drive', name: 'drive.v1.permissionPublic.get', sdkName: 'drive.v1.permissionPublic.get', path: '/open-apis/drive/v1/permissions/:token/public', httpMethod: 'GET', description: '[Feishu/Lark]-云文档-权限-设置 v1-获取云文档权限设置-该接口用于根据 filetoken 获取云文档的权限设置', accessTokens: ['tenant', 'user'], schema: { params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)', ), }), path: z.object({ token: z .string() .describe( '文件的 token,获取方式见 ', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionPublicPasswordCreate = { project: 'drive', name: 'drive.v1.permissionPublicPassword.create', sdkName: 'drive.v1.permissionPublicPassword.create', path: '/open-apis/drive/v1/permissions/:token/public/password', httpMethod: 'POST', description: '[Feishu/Lark]-权限-设置 v1-密码-开启密码-该接口用于根据 filetoken 开启云文档的密码', accessTokens: ['tenant', 'user'], schema: { params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙计(暂不支持)),slides(幻灯片)', ), }), path: z.object({ token: z .string() .describe( '文件的 token,获取方式见 ', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionPublicPasswordDelete = { project: 'drive', name: 'drive.v1.permissionPublicPassword.delete', sdkName: 'drive.v1.permissionPublicPassword.delete', path: '/open-apis/drive/v1/permissions/:token/public/password', httpMethod: 'DELETE', description: '[Feishu/Lark]-权限-设置 v1-密码-关闭密码-该接口用于根据 filetoken 关闭云文档的密码', accessTokens: ['tenant', 'user'], schema: { params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙计(暂不支持)),slides(幻灯片)', ), }), path: z.object({ token: z .string() .describe( '文件的 token,获取方式见 ', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionPublicPasswordUpdate = { project: 'drive', name: 'drive.v1.permissionPublicPassword.update', sdkName: 'drive.v1.permissionPublicPassword.update', path: '/open-apis/drive/v1/permissions/:token/public/password', httpMethod: 'PUT', description: '[Feishu/Lark]-权限-设置 v1-密码-刷新密码-该接口用于根据 filetoken 刷新云文档的密码', accessTokens: ['tenant', 'user'], schema: { params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙计(暂不支持)),slides(幻灯片)', ), }), path: z.object({ token: z .string() .describe( '文件的 token,获取方式见 ', ) .optional(), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1PermissionPublicPatch = { project: 'drive', name: 'drive.v1.permissionPublic.patch', sdkName: 'drive.v1.permissionPublic.patch', path: '/open-apis/drive/v1/permissions/:token/public', httpMethod: 'PATCH', description: '[Feishu/Lark]-云文档-权限-设置 v1-更新云文档权限设置-该接口用于根据 filetoken 更新云文档的权限设置', accessTokens: ['tenant', 'user'], schema: { data: z.object({ external_access: z.boolean().describe('允许内容被分享到组织外').optional(), security_entity: z .enum(['anyone_can_view', 'anyone_can_edit', 'only_full_access']) .describe( '谁可以复制内容、创建副本、打印、下载 Options:anyone_can_view(AnyoneCanView 拥有可阅读权限的用户),anyone_can_edit(AnyoneCanEdit 拥有可编辑权限的用户),only_full_access(OnlyFullAccess 拥有可管理权限(包括我)的用户)', ) .optional(), comment_entity: z .enum(['anyone_can_view', 'anyone_can_edit']) .describe( '谁可以评论 Options:anyone_can_view(AnyoneCanView 拥有可阅读权限的用户),anyone_can_edit(AnyoneCanEdit 拥有可编辑权限的用户)', ) .optional(), share_entity: z .enum(['anyone', 'same_tenant', 'only_full_access']) .describe( '谁可以添加和管理协作者 Options:anyone(所有可阅读或编辑此文档的用户),same_tenant(SameTenant 组织内所有可阅读或编辑此文档的用户),only_full_access(OnlyFullAccess 拥有可管理权限(包括我)的用户)', ) .optional(), link_share_entity: z .enum(['tenant_readable', 'tenant_editable', 'anyone_readable', 'anyone_editable', 'closed']) .describe( '链接分享设置 Options:tenant_readable(TenantReadable 组织内获得链接的人可阅读),tenant_editable(TenantEditable 组织内获得链接的人可编辑),anyone_readable(AnyoneReadable 互联网上获得链接的任何人可阅读),anyone_editable(AnyoneEditable 互联网上获得链接的任何人可编辑),closed(关闭链接分享)', ) .optional(), invite_external: z.boolean().describe('允许非「可管理权限」的人分享到组织外').optional(), }), params: z.object({ type: z .enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides']) .describe( '文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)', ), }), path: z.object({ token: z .string() .describe( '文件的 token,获取方式见 ', ), }), useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(), }, }; export const driveV1Tools = [ driveV1ExportTaskCreate, driveV1ExportTaskGet, driveV1FileCommentBatchQuery, driveV1FileCommentCreate, driveV1FileCommentGet, driveV1FileCommentList, driveV1FileCommentPatch, driveV1FileCommentReplyDelete, driveV1FileCommentReplyList, driveV1FileCommentReplyUpdate, driveV1FileCopy, driveV1FileCreateFolder, driveV1FileCreateShortcut, driveV1FileDelete, driveV1FileDeleteSubscribe, driveV1FileGetSubscribe, driveV1FileList, driveV1FileMove, driveV1FileStatisticsGet, driveV1FileSubscribe, driveV1FileSubscriptionCreate, driveV1FileSubscriptionGet, driveV1FileSubscriptionPatch, driveV1FileTaskCheck, driveV1FileUploadFinish, driveV1FileUploadPrepare, driveV1FileVersionCreate, driveV1FileVersionDelete, driveV1FileVersionGet, driveV1FileVersionList, driveV1FileViewRecordList, driveV1ImportTaskCreate, driveV1ImportTaskGet, driveV1MediaBatchGetTmpDownloadUrl, driveV1MediaUploadFinish, driveV1MediaUploadPrepare, driveV1MetaBatchQuery, driveV1PermissionMemberAuth, driveV1PermissionMemberBatchCreate, driveV1PermissionMemberCreate, driveV1PermissionMemberDelete, driveV1PermissionMemberList, driveV1PermissionMemberTransferOwner, driveV1PermissionMemberUpdate, driveV1PermissionPublicGet, driveV1PermissionPublicPasswordCreate, driveV1PermissionPublicPasswordDelete, driveV1PermissionPublicPasswordUpdate, driveV1PermissionPublicPatch, ];

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Xumingmingming/feishu-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server