Skip to main content

Mind Maps

Mind maps in InLoox enable the visual structuring of ideas and tasks within a project. Each mind map consists of hierarchically arranged nodes that can be converted into tasks or timeline elements.

info

Mind maps are always associated with a project. Use ProjectId when filtering to retrieve only mind maps of a specific project.


MindMap​

The MindMap entity represents a single mind map within a project.

Data Model​

PropertyTypeDescription
MindMapIdguidUnique ID of the mind map.
NamestringName of the mind map.
ProjectIdguidID of the associated project.
OrdinalPositionintSort position of the mind map within the project.

Endpoints​

CRUD Operations​

List all mind maps across all projects

GET/odata/MindMap

Supports OData query options.


Get a single mind map by ID

GET/odata/MindMap({key})
ParameterTypeRequiredDescription
keyguid✅The MindMapId.

Create a new mind map

POST/odata/MindMap

Update an existing mind map

PATCH/odata/MindMap({key})
ParameterTypeRequiredDescription
keyguid✅The MindMapId.
BodyDelta<ApiMindMap>✅JSON object with the fields to update.

Delete a mind map

DELETE/odata/MindMap({key})
ParameterTypeRequiredDescription
keyguid✅The MindMapId.
warning

Deleting a mind map also removes all associated nodes. This action cannot be undone.

Returns 204 No Content on success.


Copy nodes to tasks/timeline​

Create tasks from all uncopied nodes

POST/odata/MindMap({key})/CopyAllUncopiedNodesToTaskItems
ParameterTypeRequiredDescription
keyguid✅The MindMapId.

Creates a new project task for each node that has not yet been copied as a task.


Create tasks from leaf nodes only

POST/odata/MindMap({key})/CopyUncopiedLeafNodesToTaskItems
ParameterTypeRequiredDescription
keyguid✅The MindMapId.

Creates new project tasks only for leaf nodes (nodes without child nodes) that have not yet been copied.


Copy nodes as activities and summary activities to the planning

POST/odata/MindMap({key})/CopyToTimeline
ParameterTypeRequiredDescription
keyguid✅The MindMapId.

Transfers the mind map structure into planning elements of the project timeline.


MindMapNode​

The MindMapNode entity represents a single node within a mind map. Nodes can be nested hierarchically and offer extensive formatting options.

Data Model​

PropertyTypeDescription
MindMapNodeIdguidUnique ID of the node.
ParentNodeIdguid?ID of the parent node (null for root node).
MindMapIdguid?ID of the associated mind map.
DescriptionstringText description of the node (plain text).
DescriptionHTMLstringDescription as HTML.
OrdinalPositionintSort position among sibling nodes.
LocationXintHorizontal position (X coordinate).
LocationYintVertical position (Y coordinate).
FontTypestringFont type.
FontSizedecimal?Font size.
IsBoldboolBold enabled.
IsItalicboolItalic enabled.
IsUnderlineboolUnderline enabled.
FontColorstringHTML color value for the font color (e.g. #FF0000).
NodeColorstringHTML color value for the background color of the node (e.g. #FFFFFF).
FrameColorstringHTML color value for the border color of the node (e.g. #000000).
IsCollapsedboolWhether the node is displayed as collapsed.
ProgressintProgress in percent (0–100).
ColorFlagint?Color flag of the node. Values: null = not set, 0 = gray (default), 1 = green, 2 = yellow (#f0b000), 3 = red.

Endpoints​

CRUD Operations​

List all mind map nodes

GET/odata/MindMapNode

Supports OData query options.


Get a single node by ID

GET/odata/MindMapNode({key})
ParameterTypeRequiredDescription
keyguid✅The MindMapNodeId.

Create a new node

POST/odata/MindMapNode
tip

Set ParentNodeId to create a child node. Without ParentNodeId, a root node is created.


Update a node

PATCH/odata/MindMapNode({key})
ParameterTypeRequiredDescription
keyguid✅The MindMapNodeId.
BodyDelta<ApiMindMapNode>✅JSON object with the fields to update.

Delete a node

DELETE/odata/MindMapNode({key})
ParameterTypeRequiredDescription
keyguid✅The MindMapNodeId.
warning

Deleting a node also removes all child nodes. This action cannot be undone.

Returns 204 No Content on success.


Documents​

Attach a document to a node

POST/odata/MindMapNode({key})/AddDocumentToMindMapNode
ParameterTypeRequiredDescription
keyguid✅The MindMapNodeId.
Bodyobject✅JSON object with the following fields:

documentIds (guid[], required) — Array of document IDs to link to the mind map node.

Remove a document from a node

POST/odata/MindMapNode({key})/RemoveDocumentFromMindMapNode
ParameterTypeRequiredDescription
keyguid✅The MindMapNodeId.
Bodyobject✅JSON object with the following fields:

documentId (guid, required) — The ID of the document to remove from the mind map node.

Relations​

Add a relation to a node

POST/odata/MindMapNode({key})/AddRelation
ParameterTypeRequiredDescription
keyguid✅The MindMapNodeId.
Bodyobject✅JSON object with the following fields:

itemId (guid, required) — The ID of the item to link.

Remove a relation from a node

POST/odata/MindMapNode({key})/RemoveRelation
ParameterTypeRequiredDescription
keyguid✅The MindMapNodeId.
Bodyobject✅JSON object with the following fields:

itemId (guid, required) — The ID of the linked item to remove.

MindMapTemplate​

The MindMapTemplate entity enables saving and loading mind map templates. Templates can be created from existing mind maps and loaded into other projects.

Data Model​

PropertyTypeDescription
MindMapTemplateIdguidUnique ID of the template.
NamestringName of the template.

Endpoints​

CRUD Operations​

List all mind map templates

GET/odata/MindMapTemplate

Supports OData query options.


Get a template by ID

GET/odata/MindMapTemplate({key})
ParameterTypeRequiredDescription
keyguid✅The MindMapTemplateId.

Create a new template

POST/odata/MindMapTemplate

Update a template

PATCH/odata/MindMapTemplate({key})
ParameterTypeRequiredDescription
keyguid✅The MindMapTemplateId.
BodyDelta<ApiMindMapTemplate>✅JSON object with the fields to update.

Delete a template

DELETE/odata/MindMapTemplate({key})
ParameterTypeRequiredDescription
keyguid✅The MindMapTemplateId.
warning

Deleting a template cannot be undone.

Returns 204 No Content on success.


Template Management​

Save a template from an existing mind map

POST/odata/MindMapTemplate/SaveTemplateForMindMap
ParameterTypeRequiredDescription
Bodyobject✅JSON object with the following fields:

mindMapId (guid, required) — The ID of the mind map to save as a template.
name (string, required) — Name for the new template.

Load a template into a project

POST/odata/MindMapTemplate({key})/LoadTemplateForProject
ParameterTypeRequiredDescription
keyguid✅The MindMapTemplateId.
Bodyobject✅JSON object with the following fields:

projectId (guid, required) — The ID of the project to load the template into.

Creates a new mind map in the specified project based on the template.

Prerequisite

Loading a template requires the target project's folder structure to be initialized. If the document store cannot be created automatically, the request fails — initialize the folder structure in the project's Documents tab, then retry.


Download a template

GET/odata/MindMapTemplate({key})/DownloadTemplate()
ParameterTypeRequiredDescription
keyguid✅The MindMapTemplateId.

Returns a file download with the content type application/xml and the file extension .json.


OData Query Examples​

List mind maps of a project​

GET /odata/MindMap?$filter=ProjectId eq {projectId}&$orderby=OrdinalPosition

Create a mind map​

POST /odata/MindMap
Content-Type: application/json

{
"ProjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Name": "Project Structure Planning",
"OrdinalPosition": 0
}

Rename a mind map​

PATCH /odata/MindMap({key})
Content-Type: application/json

{
"Name": "Project Structure Planning – Revised"
}

List nodes of a mind map​

GET /odata/MindMapNode?$filter=MindMapId eq {mindMapId}&$orderby=OrdinalPosition

Create a node​

POST /odata/MindMapNode
Content-Type: application/json

{
"MindMapId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Description": "New Idea Node",
"OrdinalPosition": 0,
"FontSize": 12.0,
"IsBold": false,
"IsCollapsed": false,
"Progress": 0
}

Update a node​

PATCH /odata/MindMapNode({key})
Content-Type: application/json

{
"Description": "Updated node text",
"Progress": 50,
"NodeColor": "#FFD700"
}

Attach a document to a node​

POST /odata/MindMapNode({key})/AddDocumentToMindMapNode
Content-Type: application/json

{
"documentIds": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]
}

Remove a document from a node​

POST /odata/MindMapNode({key})/RemoveDocumentFromMindMapNode
Content-Type: application/json

{
"documentId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Add a relation to a node​

POST /odata/MindMapNode({key})/AddRelation
Content-Type: application/json

{
"itemId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Remove a relation from a node​

POST /odata/MindMapNode({key})/RemoveRelation
Content-Type: application/json

{
"itemId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

List templates​

GET /odata/MindMapTemplate?$orderby=Name

Create a template​

POST /odata/MindMapTemplate
Content-Type: application/json

{
"Name": "Standard Project Structure"
}

Rename a template​

PATCH /odata/MindMapTemplate({key})
Content-Type: application/json

{
"Name": "Project Structure v2"
}

Save a mind map as a template​

POST /odata/MindMapTemplate/SaveTemplateForMindMap
Content-Type: application/json

{
"mindMapId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Template from Project Structure"
}

Load a template into a project​

POST /odata/MindMapTemplate({key})/LoadTemplateForProject
Content-Type: application/json

{
"projectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
tip

Combine $filter with $orderby to retrieve mind maps and nodes in the correct display order. Filtering by ProjectId or MindMapId is the most common pattern.