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

# Memories

> Understand the memory objects returned by the Replay public API.

A memory is a recorded moment in Replay. Public API memory objects include timing metadata, processing status, and generated fields when processing is complete.

## Memory object

| Field               | Type               | Example                                                                                                                                                              | Description                                                                                      |
| ------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `id`                | `string`           | `mem_01JZ8W2X4M9QK7F3T6V1N0P8RA`                                                                                                                                     | Unique memory ID. Use this with `GET /v1/memories/{memory_id}`.                                  |
| `name`              | `string`           | `Product planning walk`                                                                                                                                              | User-visible memory name.                                                                        |
| `started_at`        | `string`           | `2026-06-01T16:02:11Z`                                                                                                                                               | ISO timestamp for when the memory started.                                                       |
| `ended_at`          | `string`           | `2026-06-01T16:18:42Z`                                                                                                                                               | ISO timestamp for when the memory ended.                                                         |
| `is_processing`     | `boolean`          | `false`                                                                                                                                                              | Whether Replay is still processing transcript and summary data.                                  |
| `user_id`           | `string`           | `user_8ad5a3d1-7f24-4fc4-bf76-07fef4f8a92d`                                                                                                                          | ID of the Replay user that owns the memory.                                                      |
| `duration_seconds`  | `integer`          | `991`                                                                                                                                                                | Length of the memory in seconds.                                                                 |
| `audio_url`         | `string` or `null` | `https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/.../audio.m4a?token=eyJ...`                                                                | Temporary signed URL for the memory audio file. Expires 1 hour after the response is created.    |
| `video_url`         | `string` or `null` | `https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/.../video.mp4?token=eyJ...`                                                                | Temporary signed URL for the memory video file. Expires 1 hour after the response is created.    |
| `preview_image_url` | `string` or `null` | `https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/.../preview.jpg?token=eyJ...`                                                              | Temporary signed URL for the memory preview image. Expires 1 hour after the response is created. |
| `transcript`        | `object` or `null` | `{"segments":[{"speaker":"Speaker 1","start_at":"2026-06-01T16:02:23.400Z","end_at":"2026-06-01T16:02:29.900Z","text":"We talked through the public API launch."}]}` | Segment transcript, available on memory detail after processing. List responses return `null`.   |
| `summary`           | `object` or `null` | `{"quick_summary":"A planning conversation about the public API launch.","key_takeaways":["Ship read-only access first."]}`                                          | Generated summary, available after processing.                                                   |

## Media URLs

`audio_url`, `video_url`, and `preview_image_url` are signed URLs for files in Replay storage. They expire 1 hour after the API response is created. Request the memory again to get fresh URLs.

If a media object is not available for a memory, its URL field is `null`.

## Summary object

When present, `summary` contains:

| Field           | Type       | Description                       |
| --------------- | ---------- | --------------------------------- |
| `quick_summary` | `string`   | Short summary of the memory.      |
| `key_takeaways` | `string[]` | Important points from the memory. |

## Transcript object

When present, `transcript` contains ordered speaker/time/text segments:

| Field      | Type       | Description                                              |
| ---------- | ---------- | -------------------------------------------------------- |
| `segments` | `object[]` | Transcript segments ordered by segment index/start time. |

Each segment contains:

| Field      | Type     | Description                                  |
| ---------- | -------- | -------------------------------------------- |
| `speaker`  | `string` | Diarized speaker label, such as `Speaker 1`. |
| `start_at` | `string` | ISO timestamp when this segment starts.      |
| `end_at`   | `string` | ISO timestamp when this segment ends.        |
| `text`     | `string` | Text spoken in this segment.                 |

## Processing state

If `is_processing` is `true`, generated fields can be `null`.

```json theme={null}
{
  "id": "mem_01JZ8W2X4M9QK7F3T6V1N0P8RA",
  "is_processing": true,
  "summary": null,
  "transcript": null
}
```

Poll the memory detail endpoint later to read generated fields after processing completes.

## Ordering

`GET /v1/memories` returns memories ordered by `started_at` with the newest memories first.
