> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs-beta.getzep.com/v4/sdk-reference/graph/episode/list/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-beta.getzep.com/_mcp/server. # List episodes POST https://api.getzep.com/api/v4/graphs/{graph_uuid}/episodes/list Content-Type: application/json Lists the episodes of a graph. `filters.mentioned_node_uuids` restricts the results to episodes that mention any of the listed node UUIDs. The list can also contain episode UUIDs: an episode UUID matches that episode, so one request can return a known set of episodes. At most 256 entries. `filters.metadata_filters` restricts the results to episodes whose stored metadata matches the predicate. Reference: https://docs-beta.getzep.com/sdk-reference/graph/episode/list ## Authentication - `Authorization` header (required) (prefixed with ` Api-Key `) — Type "Api-Key" followed by a space and the project API key. ## Request ### Path parameters - `graph_uuid` (string, required) — Graph UUID ### Query parameters - `limit` (integer, optional) — Page size - `cursor` (string, optional) — Opaque page cursor - `order_by` (enum, optional) — Sort field - Allowed values: `created_at`, `uuid` - `order` (enum, optional) — Sort direction: asc or desc - Allowed values: `asc`, `desc` ### Body (application/json) This endpoint expects a v4.ArtifactListRequest. - `filters` (map from string to any, optional) — Filters constraining which items are returned. ## Response ### 200 OK - `items` (list of v4.Episode, optional) — The episodes on this page. - `next_cursor` (string, optional) — Opaque cursor for retrieving the next page, present only when more results are available. - `total_size` (integer, optional) — Omitted for this collection; use next_cursor to detect the end of pagination. ## Errors ### 400 Bad Request Error Bad Request - `error` (v4.ErrorBody, optional) ### 401 Unauthorized Error Unauthorized - `error` (v4.ErrorBody, optional) ### 403 Forbidden Error Forbidden - `error` (v4.ErrorBody, optional) ### 404 Not Found Error Not Found - `error` (v4.ErrorBody, optional) ## Types ### v4.Episode - `content` (string, optional) — The raw content of the episode. - `content_policy` (v4.EpisodeContentPolicy, optional) — The content policy state of the episode, present only on a graph with a bound content policy rule. - `created_at` (string, optional) — The time the episode was created. - `document_id` (string, optional) — The developer-assigned identifier of the document this episode belongs to, present only for episodes added to a document. - `graph_uuid` (string, optional) — The unique identifier of the graph this episode belongs to. - `metadata` (map from string to any, optional) — Custom metadata associated with the episode. - `processed` (boolean, optional) — Whether the episode has finished graph extraction and indexing. - `relevance` (double, optional) — A cross-encoder-derived relevance score, present only when the cross-encoder reranker scored this result; like score, it is omitted from plain list results. - `role` (enum, optional) — The role of the episode's sender, present only when the episode was added as a message. - Allowed values: `system`, `assistant`, `user`, `function`, `tool` - `role_name` (string, optional) — The free-form display name of the episode's sender, present only when the episode was added as a message. - `score` (double, optional) — The ranking score returned with every search result; omitted when the episode appears in a plain list rather than a search result. - `source` (enum, optional) — The format of the episode's content: text, json, or message. - Allowed values: `text`, `json`, `message`, `fact_triple` - `source_description` (string, optional) — A free-form description of where the episode's content came from. - `thread_uuid` (string, optional) — The thread this episode belongs to, present only for episodes added to a thread. - `uuid` (string, optional) — The unique identifier of the episode. - `valid_at` (string, optional) — The time the episode's content became true or was observed, used for temporal reasoning. ### v4.ErrorBody - `code` (string, optional) - `details` (map from string to any, optional) - `message` (string, optional) - `param` (string, optional) - `request_id` (string, optional) ### v4.EpisodeContentPolicy - `category_keys` (list of string, optional) — The keys of the categories with a matched rule. - `dropped_count` (integer, optional) — The number of derived candidates that were dropped. - `retained_count` (integer, optional) — The number of derived candidates that were published to the graph. - `revision` (integer, optional) — The project revision number of the policy the graph bound. - `status` (enum, optional) — The evaluation status. pending means the evaluation has not finished, complete means every candidate was evaluated and the graph batch was written, and failed means ingestion retries were exhausted. - Allowed values: `pending`, `complete`, `failed` - `violated` (boolean, optional) — Whether at least one derived candidate matched a rule. Once true, it stays true. ## Examples **Request** ```json {} ``` **Response** ```json { "items": [ { "content": "string", "content_policy": { "category_keys": [ "health" ], "dropped_count": 0, "retained_count": 7, "revision": 3, "status": "complete", "violated": false }, "created_at": "string", "document_id": "string", "graph_uuid": "string", "metadata": {}, "processed": true, "relevance": 1.1, "role": "system", "role_name": "string", "score": 1.1, "source": "text", "source_description": "string", "thread_uuid": "string", "uuid": "string", "valid_at": "string" } ], "next_cursor": "string", "total_size": 1 } ```