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

# Retrieve call artifacts

## Overview

For HIPAA-enabled organizations, call recordings and logs are stored in a private bucket. These URLs are not directly downloadable.

To retrieve a recording or log file, call the Vapi API with your **Private API Key**. The API responds with a `302` redirect to a short-lived, authenticated download URL.

Never expose your Private API Key in client-side code or commit it to version control. Store it as a secret in your backend environment.

## Get your Private API Key

1. Open the [Vapi Dashboard](https://dashboard.vapi.ai/).
2. Go to **Manage** → **API Keys**.
3. Copy the value of your **Private API Key**.

## Integration

To download or retrieve a recording or log file, send your Private API Key in the `Authorization` header:

```
Authorization: Bearer <PRIVATE_API_KEY>
```

Each endpoint responds with a `302` redirect to a short-lived signed URL. Most HTTP clients follow redirects by default — for example, `curl -L` follows the redirect and downloads the artifact in a single command.

## Available endpoints

Base URL: `https://api.vapi.ai`

| Endpoint                             | Returns                                                               |
| ------------------------------------ | --------------------------------------------------------------------- |
| `GET /call/{id}/mono-recording`      | Combined mono recording (WAV/MP3)                                     |
| `GET /call/{id}/stereo-recording`    | Stereo recording, customer + assistant on separate channels (WAV/MP3) |
| `GET /call/{id}/customer-recording`  | Customer-only mono recording (WAV/MP3)                                |
| `GET /call/{id}/assistant-recording` | Assistant-only mono recording (WAV/MP3)                               |
| `GET /call/{id}/video-recording`     | Video recording, when enabled (MP4)                                   |
| `GET /call/{id}/call-logs`           | Structured call logs (gzipped JSONL)                                  |
| `GET /call/{id}/pcap`                | Packet capture, when enabled (PCAP)                                   |

## Example

Download a stereo recording for a given call:

```bash
curl -L \
  -H "Authorization: Bearer $VAPI_PRIVATE_API_KEY" \
  -o recording.wav \
  https://api.vapi.ai/call/<CALL_ID>/stereo-recording
```

Download call logs:

```bash
curl -L \
  -H "Authorization: Bearer $VAPI_PRIVATE_API_KEY" \
  -o call-logs.jsonl.gz \
  https://api.vapi.ai/call/<CALL_ID>/call-logs
```

Signed URLs returned by these endpoints expire after a short period. Always request a fresh URL from the API rather than caching the redirect target.