> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bota.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Recording

> Retrieve details of a specific recording

Retrieve the details of an existing recording by its unique identifier.

## Authentication

Requires an [API key](/authentication) with `recordings:read` scope.

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.bota.dev/v1/recordings/rec_abc123 \
    -H "Authorization: Bearer sk_live_..."
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.bota.dev/v1/recordings/rec_abc123', {
    headers: {
      'Authorization': 'Bearer sk_live_...',
    },
  });

  const recording = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://api.bota.dev/v1/recordings/rec_abc123',
      headers={'Authorization': 'Bearer sk_live_...'},
  )

  recording = response.json()
  ```
</RequestExample>

## Path Parameters

<ParamField path="id" type="string" required>
  The recording's unique identifier (e.g., `rec_abc123`).
</ParamField>

## Response

Returns the recording object.

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "rec_abc123",
    "device_id": "dev_abc123",
    "end_user_id": "eu_xyz789",
    "name": "Product interview - Jane Doe",
    "status": "completed",
    "duration_ms": 1800000,
    "started_at": "2025-01-15T09:00:00Z",
    "ended_at": "2025-01-15T09:30:00Z",
    "transcription_id": "txn_abc123",
    "media": [
      {
        "id": "med_001",
        "type": "audio",
        "mime_type": "audio/opus",
        "file_size_bytes": 2048576,
        "status": "uploaded",
        "captured_at": "2025-01-15T09:00:00Z",
        "created_at": "2025-01-15T10:00:00Z"
      },
      {
        "id": "med_002",
        "type": "image",
        "mime_type": "image/jpeg",
        "file_size_bytes": 245000,
        "status": "uploaded",
        "captured_at": "2025-01-15T09:05:30Z",
        "created_at": "2025-01-15T10:01:00Z"
      },
      {
        "id": "med_003",
        "type": "image",
        "mime_type": "image/jpeg",
        "file_size_bytes": 312000,
        "status": "uploaded",
        "captured_at": "2025-01-15T09:15:00Z",
        "created_at": "2025-01-15T10:01:00Z"
      }
    ],
    "metadata": {
      "meeting_type": "interview",
      "location": "office"
    },
    "created_at": "2025-01-15T10:00:00Z"
  }
  ```

  ```json 404 theme={null}
  {
    "error": {
      "code": "not_found",
      "message": "Recording not found"
    }
  }
  ```
</ResponseExample>

## Response Fields

| Field                     | Type            | Description                                                                              |
| ------------------------- | --------------- | ---------------------------------------------------------------------------------------- |
| `id`                      | string          | Unique identifier for the recording (`rec_*`).                                           |
| `device_id`               | string          | ID of the device that captured the recording.                                            |
| `end_user_id`             | string          | ID of the associated end user.                                                           |
| `name`                    | string          | Human-readable name for the recording.                                                   |
| `status`                  | string          | Current recording status: `pending`, `uploaded`, `processing`, `completed`, or `failed`. |
| `duration_ms`             | integer \| null | Recording duration in milliseconds.                                                      |
| `started_at`              | string          | ISO 8601 timestamp of when the recording started.                                        |
| `ended_at`                | string          | ISO 8601 timestamp of when the recording ended.                                          |
| `transcription_id`        | string \| null  | ID of the associated transcription.                                                      |
| `media`                   | array           | Files associated with this recording (audio, images, video).                             |
| `media[].id`              | string          | Media identifier (`med_*`).                                                              |
| `media[].type`            | string          | Media type: `audio`, `image`, or `video`.                                                |
| `media[].mime_type`       | string          | MIME type (e.g., `audio/opus`, `image/jpeg`, `video/mp4`).                               |
| `media[].file_size_bytes` | integer         | File size in bytes.                                                                      |
| `media[].status`          | string          | Upload status: `pending`, `uploaded`.                                                    |
| `media[].captured_at`     | string \| null  | ISO 8601 timestamp of when the media was captured.                                       |
| `media[].created_at`      | string          | ISO 8601 timestamp of when the media record was created.                                 |
| `metadata`                | object          | Arbitrary key-value metadata.                                                            |
| `created_at`              | string          | ISO 8601 timestamp of when the recording was created.                                    |
