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

# Get a memory

> Fetch one Replay memory by ID.

`GET /v1/memories/{memory_id}` returns one memory owned by the account attached to your API key.

## Endpoint

```http theme={null}
GET /v1/memories/{memory_id}
```

## Authentication

Required. Send your API key with `Authorization: Bearer`.

```http theme={null}
Authorization: Bearer rpa_...
```

## Example

```bash theme={null}
curl --request GET \
  --url "$REPLAY_PUBLIC_API_URL/v1/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA" \
  --header "Authorization: Bearer $REPLAY_API_KEY"
```

## Response

Returns a single [memory object](/concepts/memories). Media URL fields are temporary signed URLs and expire 1 hour after the response is created.

```json theme={null}
{
  "id": "mem_01JZ8W2X4M9QK7F3T6V1N0P8RA",
  "name": "Product planning walk",
  "started_at": "2026-06-01T16:02:11Z",
  "ended_at": "2026-06-01T16:18:42Z",
  "is_processing": false,
  "user_id": "user_8ad5a3d1-7f24-4fc4-bf76-07fef4f8a92d",
  "duration_seconds": 991,
  "audio_url": "https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/audio.m4a?token=eyJ...",
  "video_url": "https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/video.mp4?token=eyJ...",
  "preview_image_url": "https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/preview.jpg?token=eyJ...",
  "transcript": {
    "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."
      },
      {
        "speaker": "Speaker 2",
        "start_at": "2026-06-01T16:02:31.100Z",
        "end_at": "2026-06-01T16:02:36.600Z",
        "text": "Read-only memory endpoints should ship first."
      }
    ]
  },
  "summary": {
    "quick_summary": "A planning conversation about the public API launch.",
    "key_takeaways": [
      "Ship read-only access first.",
      "Expose memory list and detail endpoints."
    ]
  }
}
```

## Not found

If the memory does not exist or does not belong to the API key owner, the API returns `404`.

```json theme={null}
{
  "detail": "Memory not found"
}
```

## Errors

| Status | Meaning                            |
| ------ | ---------------------------------- |
| `401`  | Missing or invalid API key.        |
| `404`  | Memory not found for this account. |
| `500`  | Internal server error.             |


## OpenAPI

````yaml openapi.json GET /v1/memories/{memory_id}
openapi: 3.0.3
info:
  title: Replay Public API
  description: Read Replay memories with a public API key.
  version: 0.1.0
  license:
    name: Proprietary
    url: https://runreplay.com
servers:
  - url: https://api.runreplay.com
security:
  - BearerAuth: []
paths:
  /v1/memories/{memory_id}:
    get:
      tags:
        - Memories
      summary: Get a memory
      description: Returns one memory owned by the account attached to your API key.
      operationId: getMemory
      parameters:
        - name: memory_id
          in: path
          required: true
          description: The memory ID to fetch.
          schema:
            type: string
            example: mem_01JZ8W2X4M9QK7F3T6V1N0P8RA
      responses:
        '200':
          description: A memory.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Memory'
              example:
                id: mem_01JZ8W2X4M9QK7F3T6V1N0P8RA
                name: Product planning walk
                started_at: '2026-06-01T16:02:11Z'
                ended_at: '2026-06-01T16:18:42Z'
                is_processing: false
                user_id: user_8ad5a3d1-7f24-4fc4-bf76-07fef4f8a92d
                duration_seconds: 991
                audio_url: >-
                  https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/audio.m4a?token=eyJ...
                video_url: >-
                  https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/video.mp4?token=eyJ...
                preview_image_url: >-
                  https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/preview.jpg?token=eyJ...
                transcript:
                  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.
                    - speaker: Speaker 2
                      start_at: '2026-06-01T16:02:31.100Z'
                      end_at: '2026-06-01T16:02:36.600Z'
                      text: Read-only memory endpoints should ship first.
                summary:
                  quick_summary: A planning conversation about the public API launch.
                  key_takeaways:
                    - Ship read-only access first.
                    - Expose memory list and detail endpoints.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: The memory does not exist or does not belong to the API key owner.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                detail: Memory not found
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    Memory:
      type: object
      required:
        - id
        - name
        - started_at
        - ended_at
        - is_processing
        - user_id
        - duration_seconds
        - audio_url
        - video_url
        - preview_image_url
        - transcript
        - summary
      properties:
        id:
          type: string
          description: Unique memory ID.
          example: mem_01JZ8W2X4M9QK7F3T6V1N0P8RA
        name:
          type: string
          description: User-visible memory name.
          example: Product planning walk
        started_at:
          type: string
          format: date-time
          description: ISO timestamp for when the memory started.
          example: '2026-06-01T16:02:11Z'
        ended_at:
          type: string
          format: date-time
          description: ISO timestamp for when the memory ended.
          example: '2026-06-01T16:18:42Z'
        is_processing:
          type: boolean
          description: Whether Replay is still processing transcript and summary data.
          example: false
        user_id:
          type: string
          description: ID of the Replay user that owns the memory.
          example: user_8ad5a3d1-7f24-4fc4-bf76-07fef4f8a92d
        duration_seconds:
          type: integer
          description: Length of the memory in seconds.
          example: 991
        audio_url:
          type: string
          format: uri
          nullable: true
          description: >-
            Temporary signed URL for the memory audio file. Expires 1 hour after
            the response is created. Returns null if the audio file is not
            available.
          example: >-
            https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/audio.m4a?token=eyJ...
        video_url:
          type: string
          format: uri
          nullable: true
          description: >-
            Temporary signed URL for the memory video file. Expires 1 hour after
            the response is created. Returns null if the video file is not
            available.
          example: >-
            https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/video.mp4?token=eyJ...
        preview_image_url:
          type: string
          format: uri
          nullable: true
          description: >-
            Temporary signed URL for the memory preview image. Expires 1 hour
            after the response is created. Returns null if the preview image is
            not available.
          example: >-
            https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/preview.jpg?token=eyJ...
        transcript:
          type: object
          allOf:
            - $ref: '#/components/schemas/MemoryTranscript'
          nullable: true
          description: >-
            Segment transcript, available on memory detail after processing.
            List responses return null.
          example:
            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.
        summary:
          type: object
          allOf:
            - $ref: '#/components/schemas/MemorySummary'
          nullable: true
          description: Generated summary, available after processing.
          example:
            quick_summary: A planning conversation about the public API launch.
            key_takeaways:
              - Ship read-only access first.
              - Expose memory list and detail endpoints.
    ErrorResponse:
      type: object
      required:
        - detail
      properties:
        detail:
          type: string
          example: Invalid API key
    MemoryTranscript:
      type: object
      required:
        - segments
      properties:
        segments:
          type: array
          description: Transcript segments ordered by start time.
          items:
            $ref: '#/components/schemas/TranscriptSegment'
    MemorySummary:
      type: object
      required:
        - quick_summary
        - key_takeaways
      properties:
        quick_summary:
          type: string
          description: Short summary of the memory.
          example: A planning conversation about the public API launch.
        key_takeaways:
          type: array
          description: Important points from the memory.
          items:
            type: string
          example:
            - Ship read-only access first.
            - Expose memory list and detail endpoints.
    TranscriptSegment:
      type: object
      required:
        - speaker
        - start_at
        - end_at
        - text
      properties:
        speaker:
          type: string
          description: Diarized speaker label.
          example: Speaker 1
        start_at:
          type: string
          format: date-time
          description: Absolute timestamp when this segment starts.
          example: '2026-06-01T16:02:23.400Z'
        end_at:
          type: string
          format: date-time
          description: Absolute timestamp when this segment ends.
          example: '2026-06-01T16:02:29.900Z'
        text:
          type: string
          description: Text spoken in this segment.
          example: We talked through the public API launch.
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missing:
              summary: Missing API key
              value:
                detail: Missing API key
            invalid:
              summary: Invalid API key
              value:
                detail: Invalid API key
    InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            detail: Internal server error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Replay public API key.

````