List Nodes
/api/nodes
List nodes with optional filters.
Query Parameters
Filter by user UUID
Filter by node type:
root, concept, or subconceptFilter by branch UUID
Filter by parent node UUID
Response
Array of node objects
Node UUID
Owner UUID
root, concept, or subconceptBranch UUID
Parent node UUID
Node title
Node description
Accuracy score (0-1)
ISO 8601 timestamp
ISO 8601 timestamp
Get Node
GET/api/nodes/:id
Retrieve a single node by ID.
Get Node Children
GET/api/nodes/:id/children
Retrieve all direct children of a node.
Get Dependency Edges
/api/nodes/:id/dependency-edges
Retrieve dependency edges between direct children of a parent node.
Query Parameters
Filter child nodes by type:
concept or subconceptResponse
Create Node
/api/nodes
Create a new node.
Body Parameters
User UUID
Node type:
root, concept, or subconceptNode title
Branch UUID (optional)
Parent node UUID (optional)
Node description (optional)
Update Node
PATCH/api/nodes/:id
Update a node’s title, description, or accuracy score.
Body Parameters
New title
New description
New accuracy score (0-1)
Delete Node
DELETE/api/nodes/:id
Delete a node. Does not cascade to children.
Status: 204 No Content
Node Contents
Get Contents
GET/api/nodes/:nodeId/contents
Retrieve all content versions for a node.
Get Active Content
GET/api/nodes/:nodeId/contents/active
Retrieve the active content for a node.
Content UUID
Node UUID
Markdown explanation text
Visualization type:
mermaid, svg, or jsonVisualization data
JSON array of learning cards:
[{ id, index, explanation, question, questionType }]draft, active, or archivedISO 8601 timestamp
Create Content
POST/api/nodes/:nodeId/contents
Create new content for a node.
Node Generations
Get Generations
GET/api/nodes/:nodeId/generations
Retrieve generation history for a node.
Documents
Upload Documents
/api/nodes/:nodeId/documents
Upload documents for a topic node. Accepts PDF, plain text, and Markdown files (max 10MB each, up to 5 files).
List Documents
GET/api/nodes/:nodeId/documents
List all documents for a node.
Delete Document
DELETE/api/nodes/:nodeId/documents/:documentId
Delete a document from S3 and the database.