> 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.

# Update Node

PATCH https://api.getzep.com/api/v2/graph/node/{uuid}
Content-Type: application/json

Updates an entity node by UUID.

Reference: https://docs-beta.getzep.com/sdk-reference/graph/node/update-node

## Request

### Path parameters

- `uuid` (string, required) — Node UUID

### Body (application/json)

This endpoint expects an apidata.UpdateNodeRequest.

- `attributes` (map from string to any, optional) — Updated attributes. Merged with existing attributes. Set a key to null to delete it.
- `labels` (list of string, optional) — Updated labels for the node
- `name` (string, optional) — Updated name for the node
- `summary` (string, optional) — Updated summary for the node

## Response

### 200

Updated node

- `created_at` (string, required) — Creation time of the node
- `name` (string, required) — Name of the node
- `summary` (string, required) — Regional summary of surrounding edges
- `uuid` (string, required) — UUID of the node
- `attributes` (map from string to any, optional) — Additional attributes of the node. Dependent on node labels
- `degree` (integer, optional) — The count of live entity edges that touch this node (the edge scopes the entity edge list returns). Present only when the list request orders by degree.
- `episodes` (list of string, optional) — The UUIDs of the live episodes that mention this node, newest first. The list is complete when `episodes_truncated` is false. The list is empty when the node has more than 100 source episodes; list episodes with the `mentioned_node_uuids` filter to read them.
- `episodes_truncated` (boolean, optional) — True when the node has more than 100 source episodes, so `episodes` is empty, or when provenance is unavailable. False means `episodes` is the complete set.
- `labels` (list of string, optional) — Labels associated with the node
- `relevance` (double, optional) — Relevance is an experimental rank-aligned score in [0,1] derived from Score via logit transformation. Only populated when using cross_encoder reranker; omitted for other reranker types (e.g., RRF).
- `score` (double, optional) — Score is the reranker output: sigmoid-distributed logits [0,1] when using cross_encoder reranker, or RRF ordinal rank when using rrf reranker
- `selection_rank` (integer, optional) — SelectionRank is the global cross-scope rank assigned by auto scope selection.

## Errors

### 400 Bad Request Error

Bad Request

- `message` (string, optional)

### 404 Not Found Error

Not Found

- `message` (string, optional)

### 500 Internal Server Error

Internal Server Error

- `message` (string, optional)

## Examples

**Request**

```json
{}
```

**Response**

```json
{
  "created_at": "string",
  "name": "string",
  "summary": "string",
  "uuid": "string",
  "attributes": {},
  "degree": 12,
  "episodes": [
    "string"
  ],
  "episodes_truncated": true,
  "labels": [
    "string"
  ],
  "relevance": 1.1,
  "score": 1.1,
  "selection_rank": 1
}
```