> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs-beta.getzep.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-beta.getzep.com/_mcp/server.

## Zep assigns node and fact UUIDs

`graph.add_nodes` no longer accepts a node `uuid`, and `graph.add_fact_triple` no
longer accepts a `fact_uuid`. Zep assigns these UUIDs and returns them: node
UUIDs come back on the `add_nodes` response, and the fact's UUID is returned as
`edge_uuid` in the task params once the task completes. A request that supplies
a node `uuid` is rejected with a `400`; a `fact_uuid` on `add_fact_triple` is
ignored and the call is accepted.

A client-chosen UUID could collide with an entity in another graph, leaving the
new node or edge unreachable by UUID on read paths, and a supplied `fact_uuid`
could overwrite an unrelated existing edge.

Because `add_nodes` no longer upserts, use `graph.node.update` with a UUID from
the `add_nodes` response to rename a node, replace its summary, edit its
attributes, or clear its entity type. The `source_node_uuid` and
`target_node_uuid` fields on `add_fact_triple` are unchanged -- they reference
nodes that already exist.

Read the docs