---
title: "Get memory graph data"
method: GET
path: "/v1/default/banks/{bank_id}/graph"
tags: ["Memory"]
---

# Get memory graph data

`GET /v1/default/banks/{bank_id}/graph`

## Request

- Base URL: `https://hindsight.vectorize.io` (the document declares no server; this is the origin it was published from)
- URL: `https://hindsight.vectorize.io/v1/default/banks/{bank_id}/graph`
- Auth: none declared
- TypeScript: <https://skmtc.dev/vectorize/apis/hindsight-http-api/docs/v1/default/banks/:bank_id/graph/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve graph data for visualization, optionally filtered by type (world/experience/observation).

## Path parameters

- `bank_id` string, required

## Query parameters

- `type` string, nullable
- `limit` integer
- `q` string, nullable: Case-insensitive substring filter on memory text and context. Not indexed: it scans the bank, so it slows as the bank grows. Meant for browsing and inspection, not for high-volume or latency-sensitive workloads — use recall for that.
- `tags` string[], nullable
- `tags_match` 'any' | 'all' | 'any_strict' | 'all_strict' | 'exact'
- `document_id` string, nullable
- `chunk_id` string, nullable

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- GraphDataResponse: Response model for graph data endpoint.
  - `nodes` MemoryGraphNode[], required
    - `data` MemoryGraphNodeData, required: The payload of one memory-unit node in the memory graph. Extra keys are allowed and passed through, so typing this never drops a field the server also returns.
      - `id` string, required: Memory unit ID
      - `label` string: Short display label (the text, truncated)
      - `text` string: Full memory unit text
      - `date` string: Event date (ISO 8601), empty when unknown
      - `context` string: Context the memory was captured in
      - `entities` string: Comma-separated entity names, 'None' when there are none
      - `color` string, nullable: Suggested node colour for rendering
  - `edges` MemoryGraphEdge[], required
    - `data` MemoryGraphEdgeData, required: The payload of one edge between two memory units.
      - `id` string, required: Edge ID (``<source>-<target>-<linkType>``)
      - `source` string, required: Source memory unit ID
      - `target` string, required: Target memory unit ID
      - `linkType` string: Link kind: 'entity', 'semantic', 'temporal', ...
      - `weight` number: Link strength
      - `entityName` string: Shared entity for an 'entity' link, empty otherwise
      - `color` string, nullable: Suggested edge colour for rendering
      - `lineStyle` string, nullable: Suggested edge line style for rendering
  - `table_rows` MemoryGraphTableRow[], required
    - `id` string, required: Memory unit ID
    - `text` string: Memory unit text
    - `context` string: Context the memory was captured in ('N/A' when absent)
    - `occurred_start` string, nullable: Start of the event interval (ISO 8601)
    - `occurred_end` string, nullable: End of the event interval (ISO 8601)
    - `mentioned_at` string, nullable: When the memory was mentioned (ISO 8601)
    - `date` string, nullable: Deprecated: formatted event date, kept for backwards compatibility
    - `entities` string: Comma-separated entity names, 'None' when there are none
    - `document_id` string, nullable: Source document ID
    - `chunk_id` string, nullable: Source chunk ID
    - `fact_type` string, nullable: Fact type: world, experience or observation
    - `tags` string[]: Tags on this memory unit
    - `created_at` string, nullable: When the memory unit was created (ISO 8601)
    - `proof_count` integer, nullable: How many times the fact was independently seen
  - `total_units` integer, required
  - `limit` integer, required

## Other responses

- `404`: The bank does not exist.
- `422`: Validation Error

## Changes

- **2026-11-07** `45e711cd0897`: 1 breaking, 5 info
  - the `query` request parameter `tags_match` was restricted to a list of enum values
  - added the new enum value `all` to the `query` request parameter `tags_match`
  - added the new enum value `all_strict` to the `query` request parameter `tags_match`
  - added the new enum value `any` to the `query` request parameter `tags_match`
  - …2 more
- **2026-10-04** `4fda98b75f63`: 2 warning, 17 info
  - for the `query` request parameter `limit`, the min was set to `0.00`
  - removed the optional property `detail/items/url` from the response with the `422` status
  - added the non-success response with the status `404`
  - added the optional property `table_rows/items/chunk_id` to the response with the `200` status
  - …15 more
- **2026-05-15** `0d08f271b9db`: 5 info
  - added the new optional `query` request parameter `chunk_id`
  - added the new optional `query` request parameter `document_id`
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
  - …1 more

[Operation history](https://skmtc.dev/vectorize/apis/hindsight-http-api/changes/v1/default/banks/:bank_id/graph/get.md)

---

[API](https://skmtc.dev/vectorize/apis/hindsight-http-api.md) - [All operations](https://skmtc.dev/vectorize/apis/hindsight-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vectorize/apis/hindsight-http-api/revisions/45e711cd0897?raw)
