> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetstream.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetstream.ai/_mcp/server.

# MeetStream Guide: Pause & Resume Recording

Temporarily pause a bot's recording during a live meeting, then resume it — without removing the bot or interrupting the meeting. Useful for keeping sensitive segments (a private aside, a break, confidential figures) out of the saved recording and transcript.

---

## How it works

While a bot is in a meeting it is continuously recording. When you send a **pause** request, the bot keeps sitting in the meeting but its capture goes blank:

- **Video** becomes a **black screen**.
- **Audio** becomes **silent**.

When you send **resume**, normal recording continues.

The recording's **total length is unchanged** — a paused stretch appears as black video and silent audio of exactly the same duration, so timestamps before and after the pause stay accurate and audio/video remain in sync.

### What a pause affects

| Output | While paused |
|--------|--------------|
| Meeting recording (video) | Black screen |
| Meeting recording (audio) | Silent |
| Per-participant video streams | Black screen |
| Per-participant audio streams | Silent |
| Live audio stream | Silent |
| Real-time transcription (transcription provider) | No words produced |

The bot remains visibly present in the meeting the whole time — only what it **records and streams** goes blank.

---

## Prerequisites

- A bot that is currently **in the meeting and recording** (status: `InMeeting`). A bot that is still joining or sitting in the waiting room cannot be paused — wait until it has been admitted.
- Your MeetStream API key.
- Available on **Google Meet**.

---

## 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
```

| Parameter | Location | Required | Description |
|-----------|----------|----------|-------------|
| `bot_id` | Path | Yes | The bot ID returned when you created the bot |
| `Authorization` | Header | Yes | `Token <YOUR_API_KEY>` |

No request body is required.

---

## Example: Pause recording

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

### Response (200)

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

## Example: Resume recording

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

### Response (200)

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

---

## Behavior notes

- **Timeline is preserved.** Pausing does not shorten or cut the recording — the paused window stays in the file as black video + silent audio of the same duration. The final recording is the full real-world length of the meeting.
- **Idempotent.** Sending `pause` to an already-paused bot (or `resume` to a running bot) is accepted and has no additional effect.
- **You can pause and resume as many times as you like** during a single meeting.
- **Resume is sharp.** Video returns to a clean picture immediately after you resume.
- A bot that is **not yet recording** (still joining / in the waiting room) cannot be paused — wait until it has been admitted and is recording.

---

## Conditions

- The bot must be **in the meeting** (`InMeeting` status). Requests sent while the bot is still joining / in the waiting room, or after it has left, return a `409` error.
- Rate limit: **30 requests per minute** per bot.

---

## Error Responses

| Status | Meaning |
|--------|---------|
| `401` | Missing or invalid API key. |
| `403` | Bot does not belong to your account. |
| `404` | Bot not found. |
| `409` | Bot is not currently in the meeting (still joining, in the waiting room, or already left). |
| `429` | Rate limit exceeded (30/min per bot). |
| `503` | Bot is not currently recording, or is unreachable (may have just left the meeting). |