Skip to main content
GET
Get a graph node
Scoped to the caller-subject (WHERE node_id = $1 and user_id = subject); a node that does not exist or belongs to another user returns 404 node_not_found (existence cannot be probed). Up to the 200 strongest edges touching the node are returned, each with the neighbour’s raw id and the direction relative to this node.

Authorization

This route requires the read scope. 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

Beyond the shared statuses, this route can answer with node_not_found. Every problem body names its own code, and the type URI always resolves to the matching page. 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.

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

Response

Successful Response

A single node with its raw frontmatter and directional edges.

authority
number
required
createdAt
string<date-time>
required
id
string
required
nodeType
string
required
domain
string | null
edges
GraphNodeEdge · object[]
frontmatter
Frontmatter · object | null
origin
string | null
title
string | null