Skip to content
NeuralRepo
Get Support

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

ParameterTypeDescription
sincestringOnly nodes whose created_at is at or after this value
untilstringOnly 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.

Terminal window
curl "https://neuralrepo.com/api/v1/map?since=2026-03-01" \
-H "X-API-Key: nrp_YOUR_KEY"

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.

FieldTypeDescription
idnumberIdea id — what edges reference and what every other endpoint takes
numbernumberThe #N display number, for labelling only
titlestringIdea title
statusstringcaptured, exploring, building, shipped, or shelved
tagsstring[]Associated tag names
connectionCountnumberEdges touching this node, counted from the edge list in this response
created_atstringUTC YYYY-MM-DD HH:MM:SS
FieldTypeDescription
idnumberRelation identifier — pass this to PATCH/DELETE /map/relations/:id
sourcenumberSource idea id
targetnumberTarget idea id
typestringrelated, parent, blocks, inspires, supersedes, or duplicate
scorenumber | nullSimilarity score if auto-detected, null if you created it
notestring | nullOptional description
created_bystringsystem for auto-detected edges, user for yours
created_atstringUTC YYYY-MM-DD HH:MM:SS

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.

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 once
  • PATCH /api/v1/map/relations/:id — update a relation
  • DELETE /api/v1/map/relations/:id — delete a relation
  • Use the node tags and status fields to filter or colour-code nodes.
  • Style edges by type (dashed for related, solid arrows for blocks) and by created_by, so a reader can tell suggested connections from deliberate ones.
  • connectionCount is precomputed from this same response — sizing nodes by it needs no extra pass.
StatusMeaning
200 OKGraph data returned
401 UnauthorizedMissing or invalid auth