curl --request GET \
--url https://api.example.com/v1/memory/graphimport requests
url = "https://api.example.com/v1/memory/graph"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/memory/graph', 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.example.com/v1/memory/graph",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/v1/memory/graph"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/v1/memory/graph")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/memory/graph")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"nodes": [
{
"id": "<string>",
"entity_type": "<string>",
"display_tier": "<string>",
"display_color": "<string>",
"properties": {}
}
],
"edges": [
{
"source": "<string>",
"target": "<string>",
"type": "<string>",
"last_activity_at": "<string>"
}
],
"truncated": false,
"total_nodes": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get full tenant graph
Returns all entity nodes and their edges for the tenant in the v2 contract shape (nodes carry display_tier/display_color per ADR-010; edges use source/target with last_activity_at). Intended for the Memory graph visualisation where all entities are displayed simultaneously. Use entity_types to restrict to specific node labels (comma-separated). The result is capped at limit nodes (default 500) for performance; when the cap is reached truncated=True is set in the response.
curl --request GET \
--url https://api.example.com/v1/memory/graphimport requests
url = "https://api.example.com/v1/memory/graph"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/memory/graph', 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.example.com/v1/memory/graph",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/v1/memory/graph"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/v1/memory/graph")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/memory/graph")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"nodes": [
{
"id": "<string>",
"entity_type": "<string>",
"display_tier": "<string>",
"display_color": "<string>",
"properties": {}
}
],
"edges": [
{
"source": "<string>",
"target": "<string>",
"type": "<string>",
"last_activity_at": "<string>"
}
],
"truncated": false,
"total_nodes": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Query Parameters
Comma-separated list of entity type labels to filter by. Example: Customer,Company
Maximum number of nodes to return.
1 <= x <= 20000Comma-separated list of display_tier values to keep. Default (omitted) keeps entity + activity (drops detail). Pass entity for the fast first-paint path used by the Memory graph viz.
full (default) returns all node properties. summary strips props to name/title/label/display fields/x/y for ~70% smaller payloads — the side panel re-hydrates full props via GET /entity/{id} when a node is selected.
^(full|summary)$Response
Successful Response
Response for GET /graph (the full tenant graph, v2 contract).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
True when the result was capped by the limit parameter. The frontend can use this to show 'displaying N of total_nodes'.
Actual node count before the cap was applied. Only populated when truncated=True.