Go Scribi

The API

Map nodes

The nodes of a mind map: the same tree a checklist has, with a side and a colour.

Every call here carries Authorization: Bearer <key> and answers JSON. What is true of every call, and what every refusal means.

GET /api/v1/w/:workspace_id/notes/:note_id/nodes

A map's nodes, as a tree.

needs
read on the thing it touches
answers
nodes, each with its children.
refusals
unauthorized, not_found
Parameters for GET /api/v1/w/:workspace_id/notes/:note_id/nodes
Parameter In Type Description
text query boolean
An example
curl -X GET https://goscribi.com/api/v1/w/10835/notes/11868/nodes \
  -H "Authorization: Bearer $GO_SCRIBI_KEY"

Answers 200:

{
  "nodes": [
    {
      "id": 1116,
      "content": "Trip",
      "note": null,
      "side": "right",
      "colour": null,
      "position": 1,
      "children": [
        {
          "id": 1117,
          "content": "Ferry",
          "note": null,
          "side": "right",
          "colour": null,
          "position": 1,
          "children": []
        }
      ]
    }
  ]
}

POST /api/v1/w/:workspace_id/notes/:note_id/nodes

Add a node.

needs
write on the thing it touches
answers
**201**, and the whole note.
refusals
unauthorized, not_found, forbidden, read_only_key, workspace_locked, invalid
Parameters for POST /api/v1/w/:workspace_id/notes/:note_id/nodes
Parameter In Type Description
content body string
annotation body string
parent_id body integer
after_id body integer
side body string left or right. Anything else is ignored rather than refused.
An example
curl -X POST https://goscribi.com/api/v1/w/11055/notes/12959/nodes \
  -H "Authorization: Bearer $GO_SCRIBI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "content": "Move house"
}'

Answers 201:

{
  "note": {
    "id": 12959,
    "title": "Plan",
    "type": "map",
    "folder": null,
    "diary_date": null,
    "subject": null,
    "created_at": "2026-09-16T01:10:30Z",
    "updated_at": "2026-09-16T01:10:30Z",
    "lock_version": 1,
    "url": "https://goscribi.com/w/11055/notes/12959"
  },
  "nodes": [
    {
      "id": 1174,
      "content": "Move house",
      "note": null,
      "side": "right",
      "colour": null,
      "position": 1,
      "children": []
    }
  ]
}

PATCH PUT /api/v1/w/:workspace_id/notes/:note_id/nodes/:id

Change a node, colour it, or move it.

needs
write on the thing it touches
answers
The whole note.
refusals
unauthorized, not_found, forbidden, read_only_key, workspace_locked, invalid
Parameters for PATCH /api/v1/w/:workspace_id/notes/:note_id/nodes/:id
Parameter In Type Description
content body string
annotation body string
colour body string
side body string
parent_id body integer
position body integer
An example
curl -X PATCH https://goscribi.com/api/v1/w/11086/notes/11159/nodes/1193 \
  -H "Authorization: Bearer $GO_SCRIBI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "content": "The trip",
  "colour": "#d1495b",
  "side": "left"
}'

Answers 200:

{
  "note": {
    "id": 11159,
    "title": "Ideas",
    "type": "map",
    "folder": null,
    "diary_date": null,
    "subject": null,
    "created_at": "2026-09-16T01:10:30Z",
    "updated_at": "2026-09-16T01:10:30Z",
    "lock_version": 1,
    "url": "https://goscribi.com/w/11086/notes/11159"
  },
  "nodes": [
    {
      "id": 1193,
      "content": "The trip",
      "note": null,
      "side": "left",
      "colour": "#d1495b",
      "position": 1,
      "children": []
    }
  ]
}

DELETE /api/v1/w/:workspace_id/notes/:note_id/nodes/:id

Remove a node, and the branch under it.

needs
write on the thing it touches
answers
The whole note.
refusals
unauthorized, not_found, forbidden, read_only_key, workspace_locked
An example
curl -X DELETE https://goscribi.com/api/v1/w/11055/notes/12959/nodes/1174 \
  -H "Authorization: Bearer $GO_SCRIBI_KEY"

Answers 200:

{
  "note": {
    "id": 12959,
    "title": "Plan",
    "type": "map",
    "folder": null,
    "diary_date": null,
    "subject": null,
    "created_at": "2026-09-16T01:10:30Z",
    "updated_at": "2026-09-16T01:10:30Z",
    "lock_version": 3,
    "url": "https://goscribi.com/w/11055/notes/12959"
  },
  "nodes": []
}