List Projects
curl --request POST \
--url http://localhost:8080/api/v2/projects/list \
--header 'Content-Type: application/json' \
--data '
{
"org_id": "MemVerge"
}
'import requests
url = "http://localhost:8080/api/v2/projects/list"
payload = { "org_id": "MemVerge" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({org_id: 'MemVerge'})
};
fetch('http://localhost:8080/api/v2/projects/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8080",
CURLOPT_URL => "http://localhost:8080/api/v2/projects/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'org_id' => 'MemVerge'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:8080/api/v2/projects/list"
payload := strings.NewReader("{\n \"org_id\": \"MemVerge\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:8080/api/v2/projects/list")
.header("Content-Type", "application/json")
.body("{\n \"org_id\": \"MemVerge\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8080/api/v2/projects/list")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"org_id\": \"MemVerge\"\n}"
response = http.request(request)
puts response.read_body[
{}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Projects
List Projects
List projects in the specified organization.
Requires org_id in the request body. Returns only projects belonging to
that organization. Each entry contains the project’s organization ID and
project ID. Identifiers follow the standard rules: no slashes; only letters,
numbers, underscores, hyphens, colon, and Unicode characters.
Projects are isolated memory namespaces. Memories (episodes) belong exclusively to their project. All project operations, including queries and any background processes (e.g., memory summarization or knowledge extraction), only operate within the project’s own data. No cross-project access is allowed.
POST
/
api
/
v2
/
projects
/
list
List Projects
curl --request POST \
--url http://localhost:8080/api/v2/projects/list \
--header 'Content-Type: application/json' \
--data '
{
"org_id": "MemVerge"
}
'import requests
url = "http://localhost:8080/api/v2/projects/list"
payload = { "org_id": "MemVerge" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({org_id: 'MemVerge'})
};
fetch('http://localhost:8080/api/v2/projects/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8080",
CURLOPT_URL => "http://localhost:8080/api/v2/projects/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'org_id' => 'MemVerge'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:8080/api/v2/projects/list"
payload := strings.NewReader("{\n \"org_id\": \"MemVerge\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:8080/api/v2/projects/list")
.header("Content-Type", "application/json")
.body("{\n \"org_id\": \"MemVerge\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8080/api/v2/projects/list")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"org_id\": \"MemVerge\"\n}"
response = http.request(request)
puts response.read_body[
{}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Body
application/json
Organization whose projects should be listed.
The unique identifier of the organization.
- Must not contain slashes (`/`).
- Must contain only letters, numbers, underscores, hyphens, colon, and Unicode
characters (e.g., Chinese/Japanese/Korean). No slashes or other symbols
are allowed.
This value determines the namespace the project belongs to.
Examples:
"MemVerge"
"AI_Labs"
Response
Successful Response

