---
title: "Memory graph: one graph, every entity visible"
description: "GET /memories/graph no longer splits episodes into a notes layer or hides entities that only an API ingest mentioned, and a `document` ingest type replaces `note`."
date: 2026-09-22
tags: ["TIE AI Gateway"]
---

> Documentation Index
> Fetch the complete documentation index at: https://truememory-docs.mvstg.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory graph: one graph, every entity visible

`GET /memories/graph` now returns one graph: entity nodes and their `RELATES_TO` facts. Every entity with a live fact in scope appears, whatever kind of episode produced it. Reading a user's own graph after an API ingest returns the extracted entities, not a `Note` bubble with nothing attached.

```bash
GET /memories/graph?agent_id=eliza
Authorization: Bearer $USER_TOKEN
```

## What changed

The endpoint used to carry two layers. Any episode whose `source_description` was not one of two internal stamps became a `Note` node, and an entity appeared only if a chat exchange or an agent-tool write also mentioned it. `Document` entities were hidden outright. Together these rules turned every record an application ingested into an isolated `Note` with its entities missing, in a user graph and in a namespace alike.

All three rules are gone. `source_description` is a provenance label and never decides visibility. No entity type is hidden. Episodes are not nodes in this response. They stay stored verbatim and are returned by `GET /memories/export?include_episodes=true`; search and the timeline always returned the extracted facts.

## Removed

- `Note` nodes and their `related` edges no longer appear in the response.
- The `source_description_prefix` query parameter is removed. Callers that still send it are not rejected; it has no effect. Remove any sentinel prefix you passed to suppress the notes layer.
- `Document` entities are no longer filtered from the visualization.

A client that skipped nodes labelled `Note`, or dropped `related` edges, keeps working with nothing to skip. A client that grouped `Note` nodes under a heading of their own now shows that group empty; the same notes' extracted entities appear under their own types.

## Ingest type `document`

`POST /memories/graph` accepts `type: "document"` for a note or document the user brought in whole. `note` is accepted as its older name and behaves identically. The type selects extraction rules and nothing else; it does not change how the graph is read back.

```json
{
  "data": "Read Atomic Habits this week. The two-minute rule is the part I want to keep.",
  "type": "document",
  "agent_id": "eliza"
}
```

No re-ingest or backfill is required. The entities were always in the graph; only this endpoint hid them.

Source: https://truememory-docs.mvstg.com/changelog/tie-ai-gateway/2026-09-22-single-graph-visualization//index.md
