Mind Map
The mind map endpoint returns all of your unarchived ideas and their relations as a graph structure, ready for visualization. It is available on every plan.
Get Map Data
Section titled “Get Map Data”GET /api/v1/map
Returns the complete graph: nodes (ideas) and edges (relations). There is no pagination and no
limit — you always get the whole graph, optionally narrowed by capture date.
Query Parameters
Section titled “Query Parameters”| Parameter | Type | Description |
|---|---|---|
since | string | Only nodes whose created_at is at or after this value |
until | string | Only nodes whose created_at is at or before this value |
Both are compared as strings against the stored YYYY-MM-DD HH:MM:SS timestamps, so
?since=2026-03-01 works and an ISO string with a Z will not match the way you expect.
curl "https://neuralrepo.com/api/v1/map?since=2026-03-01" \ -H "X-API-Key: nrp_YOUR_KEY"const res = await fetch("https://neuralrepo.com/api/v1/map", { headers: { "X-API-Key": "nrp_YOUR_KEY" },});const { nodes, edges } = await res.json();Response 200 OK
{ "nodes": [ { "id": 137, "number": 42, "title": "Add dark mode support", "status": "exploring", "tags": ["ui", "feature-request"], "connectionCount": 2, "created_at": "2026-03-20 10:00:00" }, { "id": 138, "number": 43, "title": "Theme customization options", "status": "building", "tags": ["ui"], "connectionCount": 1, "created_at": "2026-03-18 08:00:00" } ], "edges": [ { "id": 1, "source": 137, "target": 138, "type": "related", "score": 0.87, "note": "Both deal with theming", "created_by": "system", "created_at": "2026-03-20 10:00:00" }, { "id": 2, "source": 96, "target": 137, "type": "blocks", "score": null, "note": null, "created_by": "user", "created_at": "2026-03-19 08:00:00" } ]}Nodes come back newest first; edges are ordered by descending score, which puts the
system-detected similarities before the ones you drew by hand. Ideas with no relations are
included, with connectionCount: 0.
Node Schema
Section titled “Node Schema”| Field | Type | Description |
|---|---|---|
id | number | Idea id — what edges reference and what every other endpoint takes |
number | number | The #N display number, for labelling only |
title | string | Idea title |
status | string | captured, exploring, building, shipped, or shelved |
tags | string[] | Associated tag names |
connectionCount | number | Edges touching this node, counted from the edge list in this response |
created_at | string | UTC YYYY-MM-DD HH:MM:SS |
Edge Schema
Section titled “Edge Schema”| Field | Type | Description |
|---|---|---|
id | number | Relation identifier — pass this to PATCH/DELETE /map/relations/:id |
source | number | Source idea id |
target | number | Target idea id |
type | string | related, parent, blocks, inspires, supersedes, or duplicate |
score | number | null | Similarity score if auto-detected, null if you created it |
note | string | null | Optional description |
created_by | string | system for auto-detected edges, user for yours |
created_at | string | UTC YYYY-MM-DD HH:MM:SS |
Archived ideas
Section titled “Archived ideas”An archived idea is dropped from nodes, and any edge with an archived idea at either end is
dropped from edges. Since archiving cannot be undone, an idea that vanishes from your map is
gone from it permanently.
Managing Relations
Section titled “Managing Relations”The map endpoint is read-only. To create, update, or delete relations, use the Relations endpoints — all three of which require Pro:
POST /api/v1/map/relations— create one relation, or up to 50 at oncePATCH /api/v1/map/relations/:id— update a relationDELETE /api/v1/map/relations/:id— delete a relation
Usage Tips
Section titled “Usage Tips”- Use the node
tagsandstatusfields to filter or colour-code nodes. - Style edges by
type(dashed forrelated, solid arrows forblocks) and bycreated_by, so a reader can tell suggested connections from deliberate ones. connectionCountis precomputed from this same response — sizing nodes by it needs no extra pass.
Status Codes
Section titled “Status Codes”| Status | Meaning |
|---|---|
200 OK | Graph data returned |
401 Unauthorized | Missing or invalid auth |