get_a_meeting_details
Retrieve a Zoom meeting's details such as time, participants, and settings by providing its meeting ID.
Instructions
Retrieve the meeting's details with a given ID
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the meeting. |
Implementation Reference
- operations/meeting.ts:91-99 (handler)The main handler function getAMeetingDetails - sends a GET request to the Zoom API /v2/meetings/{id} endpoint and parses the response using ZoomMeetingDetailSchema.
export async function getAMeetingDetails(options: GetMeetingOptions) { const response = await zoomRequest( `https://api.zoom.us/v2/meetings/${options.id}`, { method: "GET", }, ); return ZoomMeetingDetailSchema.parse(response); } - operations/meeting.ts:44-46 (schema)GetMeetingOptionsSchema - defines the input schema for the tool: requires a numeric 'id' field describing the meeting ID.
export const GetMeetingOptionsSchema = z.object({ id: z.number().describe("The ID of the meeting."), }); - common/types.ts:113-280 (schema)ZoomMeetingDetailSchema - the Zod schema that validates the Zoom API response for meeting details.
export const ZoomMeetingDetailSchema = z.object({ assistant_id: z.string().optional(), host_email: z.string().optional(), host_id: z.string().optional(), id: z.number(), uuid: z.string(), agenda: z.string().optional(), created_at: z.string().optional(), duration: z.number().optional(), encrypted_password: z.string().optional(), pstn_password: z.string().optional(), h323_password: z.string().optional(), join_url: z.string().optional(), chat_join_url: z.string().optional(), occurrences: z .array( z.object({ duration: z.number().optional(), occurrence_id: z.string().optional(), start_time: z.string().optional(), status: z.string().optional(), }), ) .optional(), password: z.string().optional(), pmi: z.string().optional(), pre_schedule: z.boolean().optional(), recurrence: z .object({ end_date_time: z.string().optional(), end_times: z.number().optional(), monthly_day: z.number().optional(), monthly_week: z.number().optional(), monthly_week_day: z.number().optional(), repeat_interval: z.number().optional(), type: z.number().optional(), weekly_days: z.string().optional(), }) .optional(), settings: ZoomMeetingSettingsSchema.extend({ approved_or_denied_countries_or_regions: z .object({ approved_list: z.array(z.string()).optional(), denied_list: z.array(z.string()).optional(), enable: z.boolean().optional(), method: z.string().optional(), }) .optional(), authentication_exception: z .array( z.object({ email: z.string().optional(), name: z.string().optional(), join_url: z.string().optional(), }), ) .optional(), breakout_room: z .object({ enable: z.boolean().optional(), rooms: z .array( z.object({ name: z.string().optional(), participants: z.array(z.string()).optional(), }), ) .optional(), }) .optional(), global_dial_in_numbers: z .array( z.object({ city: z.string().optional(), country: z.string().optional(), country_name: z.string().optional(), number: z.string().optional(), type: z.string().optional(), }), ) .optional(), language_interpretation: z .object({ enable: z.boolean().optional(), interpreters: z .array( z.object({ email: z.string().optional(), languages: z.string().optional(), interpreter_languages: z.string().optional(), }), ) .optional(), }) .optional(), sign_language_interpretation: z .object({ enable: z.boolean().optional(), interpreters: z .array( z.object({ email: z.string().optional(), sign_language: z.string().optional(), }), ) .optional(), }) .optional(), meeting_invitees: z .array( z.object({ email: z.string().optional(), internal_user: z.boolean().optional(), }), ) .optional(), continuous_meeting_chat: z .object({ enable: z.boolean().optional(), auto_add_invited_external_users: z.boolean().optional(), auto_add_meeting_participants: z.boolean().optional(), who_is_added: z.string().optional(), channel_id: z.string().optional(), }) .optional(), resources: z .array( z.object({ resource_type: z.string().optional(), resource_id: z.string().optional(), permission_level: z.string().optional(), }), ) .optional(), question_and_answer: z .object({ enable: z.boolean().optional(), allow_submit_questions: z.boolean().optional(), allow_anonymous_questions: z.boolean().optional(), question_visibility: z.string().optional(), attendees_can_comment: z.boolean().optional(), attendees_can_upvote: z.boolean().optional(), }) .optional(), auto_start_meeting_summary: z.boolean().optional(), who_will_receive_summary: z.number().optional(), auto_start_ai_companion_questions: z.boolean().optional(), who_can_ask_questions: z.number().optional(), summary_template_id: z.string().optional(), }).optional(), start_time: z.string().optional(), start_url: z.string().optional(), status: z.string().optional(), timezone: z.string().optional(), topic: z.string().optional(), tracking_fields: z .array( z.object({ field: z.string().optional(), value: z.string().optional(), visible: z.boolean().optional(), }), ) .optional(), type: z.number().optional(), dynamic_host_key: z.string().optional(), creation_source: z.string().optional(), }); - index.ts:141-145 (registration)Tool registration in ListToolsRequestSchema handler - registers 'get_a_meeting_details' with description and inputSchema via GetMeetingOptionsSchema.
{ name: "get_a_meeting_details", description: "Retrieve the meeting's details with a given ID", inputSchema: zodToJsonSchema(GetMeetingOptionsSchema), }, - index.ts:180-186 (registration)Tool invocation in CallToolRequestSchema handler - parses args with GetMeetingOptionsSchema and calls getAMeetingDetails, returning JSON-stringified result.
case "get_a_meeting_details": { const args = GetMeetingOptionsSchema.parse(request.params.arguments); const result = await getAMeetingDetails(args); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; }