Skip to navigation

Pause & Resume Meeting Recording Mid-Call

View as Markdown

Keep a sensitive stretch of a meeting out of the recording without removing the bot: pause, talk freely, then resume.

The bot stays in the meeting the whole time. Only what it records and streams goes blank. Works on Zoom, Google Meet and Microsoft Teams.


Platform support

ZoomGoogle MeetMicrosoft Teams
Pause and resumeYesYesYes
Recording and per-participant files while pausedSilent audio, black videoSilent audio, black videoSilent audio, black video
Live audio stream and live transcription while pausedNothing forwardedSilence (no transcript words)Silence (no transcript words)
Native captions (meeting_captions) while pausedNot applicable (Zoom has no captions support)Not paused. Captions keep arrivingPaused. Captions are not saved while paused
Chat messages and participant join/leave events while pausedStill capturedStill capturedStill captured

See the capability matrix for everything else each platform supports.


How it works

When you send pause, the bot keeps writing its files at the same pace, but with blank content:

  • Video becomes a black screen.
  • Audio becomes silent.

When you send resume, normal capture continues.

The recording’s total length is unchanged: a paused stretch appears as black video and silent audio of exactly the same duration. Timestamps before and after the pause stay accurate, and audio and video stay in sync.

What a pause affects

OutputWhile paused
Meeting recording (video)Black screen
Meeting recording (audio)Silent
Per-participant video streamsBlack screen
Per-participant audio streamsSilent
Live audio stream (live_audio_required)Silent, or nothing sent
Live transcription (streaming providers)No words produced
Native captions (meeting_captions)Google Meet: still captured. Microsoft Teams: not captured

On Google Meet, native captions (meeting_captions) are not paused. If you pause to keep something out of the record, do not rely on captions being blank for that stretch. Use a streaming or post-call transcription provider instead, or delete the caption file afterwards.


Prerequisites

  • A bot that is in the meeting and recording. A bot that is still joining or waiting in the lobby cannot be paused; wait until it has been admitted.
  • Your MeetStream API key.

Endpoints

POST https://api.meetstream.ai/api/v1/bots/{bot_id}/pause_recording
POST https://api.meetstream.ai/api/v1/bots/{bot_id}/resume_recording
ParameterLocationRequiredDescription
bot_idPathYesThe bot ID returned when you created the bot
AuthorizationHeaderYesToken <YOUR_API_KEY>

No request body is required.


Example: Pause recording

curl -X POST "https://api.meetstream.ai/api/v1/bots/{bot_id}/pause_recording" \
-H "Authorization: Token <YOUR_API_KEY>"

Response (200)

{
"status": "accepted",
"bot_id": "83acdd72-3257-4b06-a2e9-0d879dc571ff",
"command": "pause_recording",
"recording_paused": true
}

Example: Resume recording

curl -X POST "https://api.meetstream.ai/api/v1/bots/{bot_id}/resume_recording" \
-H "Authorization: Token <YOUR_API_KEY>"

Response (200)

{
"status": "accepted",
"bot_id": "83acdd72-3257-4b06-a2e9-0d879dc571ff",
"command": "resume_recording",
"recording_paused": false
}

recording_paused is the bot’s state after your request.


Behavior notes

  • Timeline is preserved. Pausing does not shorten or cut the recording. The paused window stays in the file as black video and silent audio of the same duration, and the pause windows are kept so layouts built after the call (grid_view and speaker_view) black out that stretch too.
  • Repeated requests are safe, but not silent. Sending pause to an already-paused bot (or resume to a bot that is recording) changes nothing and returns 409 with "status": "no_op" and the current recording_paused value. Treat that 409 as “already in the state you asked for”.
  • Pause and resume as many times as you like during one meeting.
  • Resume is immediate. Video returns to a clean picture right after you resume.
  • The bot is still visible in the meeting. Participants see the bot the whole time; pausing does not change its camera image or name.

Conditions

  • The bot must be in the meeting (status InMeeting, or RecordingPermissionAllowed on Zoom). Requests while the bot is joining, waiting in the lobby, or after it has left return 409.
  • The bot must have started recording. A request sent in the first moments after admission, before recording starts, returns 503. Retry a few seconds later.
  • Rate limit: 30 commands per minute per bot, shared with other in-meeting commands such as send_message and send_image.

Error responses

StatusMeaning
401Missing or invalid API key.
403The bot does not belong to your account.
404Bot not found.
409The bot is not in the meeting (body has "error": "Bot is not currently in a meeting." and bot_status), or recording is already in the requested state (body has "status": "no_op" and recording_paused).
429Rate limit exceeded. The body has retry_after (seconds) and the response has a Retry-After header.
503Recording has not started yet, or the bot is unreachable (it may have just left the meeting).

For the statuses a bot moves through, see bot status and error codes. For lifecycle events such as bot.inmeeting, see webhooks and events.