Skip to main content
PATCH
Edit a node
content triggers a Voyage re-embed and collapses the node to one fresh chunk (multi-chunk re-segmentation stays the ingest pipeline’s job). metadata merges into the frontmatter; title replaces the title. A node not owned by the effective subject is 404.

Authorization

This route requires the graph:write scope. A key carrying memory:forget or write also qualifies. A missing or invalid credential returns 401 authentication_error. A valid credential without the scope returns 403 permission_denied, and the problem body names the exact scope required.

Headers

These are request conventions the contract does not declare as parameters, so they do not appear in the schema tables below.

Success responses

Errors

Every error is an RFC 9457 application/problem+json body carrying a stable code, a requestId, and a suggestedAction where Exo has one. See Errors.

Notes

  • Editing content re-embeds the node and collapses it to one fresh chunk. Re-segmenting into several chunks stays the ingest pipeline’s job.
  • metadata merges, title replaces. Send only what you want to change.

Authorizations

X-Exo-API-Key
string
header
required

An Exo API key (exo_...) sent as the X-Exo-API-Key header.

Path Parameters

node_id
string
required

The knowledge-graph node id.

Body

application/json

Body for PATCH /v1/graph/nodes/{id}. Every field is optional; a request that sets content triggers a Voyage re-embed, metadata merges into the node frontmatter, title replaces the display title.

content
string | null
Maximum string length: 100000
metadata
Metadata · object | null
title
string | null
Maximum string length: 2000

Response

Successful Response

A knowledge-graph node as it stands after a mutation.

Returned by PATCH /v1/graph/nodes/{id}. updatedAt is the moment the edit was applied; authorityLevel is the node's influence on retrieval.

id
string
required
nodeType
string
required
authorityLevel
number | null
origin
string | null
title
string | null
updatedAt
string<date-time> | null