curl --request GET \
--url https://api.replayglasses.com/v1/memories/{memory_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.replayglasses.com/v1/memories/{memory_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.replayglasses.com/v1/memories/{memory_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.replayglasses.com/v1/memories/{memory_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.replayglasses.com/v1/memories/{memory_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.replayglasses.com/v1/memories/{memory_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replayglasses.com/v1/memories/{memory_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"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."
]
}
}Get a memory
Fetch one Replay memory by ID.
curl --request GET \
--url https://api.replayglasses.com/v1/memories/{memory_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.replayglasses.com/v1/memories/{memory_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.replayglasses.com/v1/memories/{memory_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.replayglasses.com/v1/memories/{memory_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.replayglasses.com/v1/memories/{memory_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.replayglasses.com/v1/memories/{memory_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replayglasses.com/v1/memories/{memory_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"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."
]
}
}GET /v1/memories/{memory_id} returns one memory owned by the account attached to your API key.
Endpoint
GET /v1/memories/{memory_id}
Authentication
Required. Send your API key withAuthorization: Bearer.
Authorization: Bearer rpa_...
Example
curl --request GET \
--url "$REPLAY_PUBLIC_API_URL/v1/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA" \
--header "Authorization: Bearer $REPLAY_API_KEY"
Response
Returns a single memory object. Media URL fields are temporary signed URLs and expire 1 hour after the response is created.{
"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 returns404.
{
"detail": "Memory not found"
}
Errors
| Status | Meaning |
|---|---|
401 | Missing or invalid API key. |
404 | Memory not found for this account. |
500 | Internal server error. |
Authorizations
Replay public API key.
Path Parameters
The memory ID to fetch.
"mem_01JZ8W2X4M9QK7F3T6V1N0P8RA"
Response
A memory.
Unique memory ID.
"mem_01JZ8W2X4M9QK7F3T6V1N0P8RA"
User-visible memory name.
"Product planning walk"
ISO timestamp for when the memory started.
"2026-06-01T16:02:11Z"
ISO timestamp for when the memory ended.
"2026-06-01T16:18:42Z"
Whether Replay is still processing transcript and summary data.
false
ID of the Replay user that owns the memory.
"user_8ad5a3d1-7f24-4fc4-bf76-07fef4f8a92d"
Length of the memory in seconds.
991
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.
"https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/audio.m4a?token=eyJ..."
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.
"https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/video.mp4?token=eyJ..."
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.
"https://gpngkwsgfwohtyenjaks.supabase.co/storage/v1/object/sign/memories/mem_01JZ8W2X4M9QK7F3T6V1N0P8RA/preview.jpg?token=eyJ..."
Segment transcript, available on memory detail after processing. List responses return null.
Show child attributes
Show child attributes
{
"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."
}
]
}
Generated summary, available after processing.
Show child attributes
Show child attributes
{
"quick_summary": "A planning conversation about the public API launch.",
"key_takeaways": [
"Ship read-only access first.",
"Expose memory list and detail endpoints."
]
}

