delete_recording_file
Remove Zoom meeting recordings by specifying the meeting ID and recording ID. Choose to move the file to trash or delete it permanently using the specified action.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Delete action (trash: move to trash, delete: delete permanently) | |
| meeting_id | Yes | The meeting ID | |
| recording_id | Yes | The recording ID |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"description": "Delete action (trash: move to trash, delete: delete permanently)",
"enum": [
"trash",
"delete"
],
"type": "string"
},
"meeting_id": {
"description": "The meeting ID",
"type": "string"
},
"recording_id": {
"description": "The recording ID",
"type": "string"
}
},
"required": [
"meeting_id",
"recording_id"
],
"type": "object"
}
Implementation Reference
- src/tools/recordings.js:77-92 (handler)The handler function that executes the logic for deleting a specific recording file using the Zoom API DELETE request to /meetings/{meeting_id}/recordings/{recording_id}.handler: async ({ meeting_id, recording_id, action }) => { try { const params = {}; if (action) params.action = action; const response = await zoomApi.delete(`/meetings/${meeting_id}/recordings/${recording_id}`, { params }); return { content: [{ type: "text", text: "Recording file deleted successfully" }] }; } catch (error) { return handleApiError(error); } }
- src/tools/recordings.js:72-76 (schema)Zod schema for input validation of the delete_recording_file tool parameters: meeting_id, recording_id, and optional action.schema: { meeting_id: z.string().describe("The meeting ID"), recording_id: z.string().describe("The recording ID"), action: z.enum(["trash", "delete"]).optional().describe("Delete action (trash: move to trash, delete: delete permanently)") },
- src/tools/recordings.js:69-93 (registration)The tool definition object for delete_recording_file, including name, description, schema, and handler, which is part of the recordingsTools array exported and later registered in the MCP server.{ name: "delete_recording_file", description: "Delete a specific recording file", schema: { meeting_id: z.string().describe("The meeting ID"), recording_id: z.string().describe("The recording ID"), action: z.enum(["trash", "delete"]).optional().describe("Delete action (trash: move to trash, delete: delete permanently)") }, handler: async ({ meeting_id, recording_id, action }) => { try { const params = {}; if (action) params.action = action; const response = await zoomApi.delete(`/meetings/${meeting_id}/recordings/${recording_id}`, { params }); return { content: [{ type: "text", text: "Recording file deleted successfully" }] }; } catch (error) { return handleApiError(error); } } }
- src/server.js:53-53 (registration)The call to registerTools(recordingsTools) which registers all tools in the array, including delete_recording_file, by calling server.tool for each.registerTools(recordingsTools);