curl --request GET \
--url https://www.memoryplugin.com/api/v2/memory \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.memoryplugin.com/api/v2/memory"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.memoryplugin.com/api/v2/memory', 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://www.memoryplugin.com/api/v2/memory",
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://www.memoryplugin.com/api/v2/memory"
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://www.memoryplugin.com/api/v2/memory")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.memoryplugin.com/api/v2/memory")
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{
"memories": [
"<string>"
],
"buckets": [
{
"id": "<string>",
"name": "<string>",
"memoryCount": 123,
"description": "<string>"
}
]
}{
"error": "<string>",
"text": "<string>",
"score": 123
}{
"error": "<string>",
"text": "<string>",
"score": 123
}Search Memories V2
curl --request GET \
--url https://www.memoryplugin.com/api/v2/memory \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.memoryplugin.com/api/v2/memory"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.memoryplugin.com/api/v2/memory', 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://www.memoryplugin.com/api/v2/memory",
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://www.memoryplugin.com/api/v2/memory"
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://www.memoryplugin.com/api/v2/memory")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.memoryplugin.com/api/v2/memory")
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{
"memories": [
"<string>"
],
"buckets": [
{
"id": "<string>",
"name": "<string>",
"memoryCount": 123,
"description": "<string>"
}
]
}{
"error": "<string>",
"text": "<string>",
"score": 123
}{
"error": "<string>",
"text": "<string>",
"score": 123
}Image Memories
Search results may include image memories alongside text memories. Image memories are returned as objects with additional fields:content_type: "image": identifies this as an image memoryimage_url: a signed URL to view the image (expires after 4 hours)image_description: AI-generated description of the image content
Filtering by Content Type
Use thecontentType query parameter to filter results:
# Only text memories
curl "https://www.memoryplugin.com/api/v2/memory?query=architecture&contentType=text" \
-H "Authorization: Bearer YOUR_API_KEY"
# Only image memories
curl "https://www.memoryplugin.com/api/v2/memory?query=diagram&contentType=image" \
-H "Authorization: Bearer YOUR_API_KEY"
# All memories (default)
curl "https://www.memoryplugin.com/api/v2/memory?query=architecture" \
-H "Authorization: Bearer YOUR_API_KEY"
Example Response with Image Memories
{
"memories": [
"User prefers dark mode in all applications",
{
"content_type": "image",
"image_url": "https://memoryplugin.com/storage/v1/object/sign/memory-images/...",
"image_description": "A whiteboard diagram showing the auth flow with three microservices connected via Redis pub/sub.",
"metadata": {
"createdAt": "2026-04-06T10:30:00Z",
"bucketId": 65,
"bucketName": "Work"
}
},
"Meeting notes: decided to use PostgreSQL for the new service"
],
"buckets": [
{ "id": 65, "name": "Work" },
{ "id": 66, "name": "Personal" }
]
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Optional bucket ID to filter memories
Number of memories to retrieve
Fetch all memories
Fetch latest memories
Search query for memories
Client source identifier (e.g., 'chatgpt' for ChatGPT requests)
Number of memories to skip for pagination. Zero-indexed: skip=0 starts from first memory, skip=10 skips first 10 memories and starts from 11th. Used primarily with token limiting to load additional memories beyond the initial response.
x >= 0When true, text memories are returned as objects with id and text fields instead of plain strings. Useful for clients that need to reference specific memories for edit or delete operations.
Filter memories by content type. Use text for text-only memories, image for image-only memories. Omit to return all memories.
text, image Response
Successful response with memories and buckets
Array of memories. Text memories are returned as plain strings (or {id, text} objects when includeIds=true). Image memories are always returned as objects with content_type, image_url, and image_description fields.
Text memory (plain string format)
Show child attributes
Show child attributes
Was this page helpful?