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
keyguidThe MindMapId.

Create a new mind map

POST/odata/MindMap

Update an existing mind map

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

Delete a mind map

DELETE/odata/MindMap({key})
ParameterTypeRequiredDescription
keyguidThe 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
keyguidThe 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
keyguidThe 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
keyguidThe 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
keyguidThe 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
keyguidThe MindMapNodeId.
BodyDelta<ApiMindMapNode>JSON object with the fields to update.

Delete a node

DELETE/odata/MindMapNode({key})
ParameterTypeRequiredDescription
keyguidThe 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
keyguidThe MindMapNodeId.
BodyobjectJSON 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
keyguidThe MindMapNodeId.
BodyobjectJSON 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
keyguidThe MindMapNodeId.
BodyobjectJSON 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
keyguidThe MindMapNodeId.
BodyobjectJSON 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
keyguidThe MindMapTemplateId.

Create a new template

POST/odata/MindMapTemplate

Update a template

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

Delete a template

DELETE/odata/MindMapTemplate({key})
ParameterTypeRequiredDescription
keyguidThe 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
BodyobjectJSON 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
keyguidThe MindMapTemplateId.
BodyobjectJSON 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.


Download a template

GET/odata/MindMapTemplate({key})/DownloadTemplate()
ParameterTypeRequiredDescription
keyguidThe 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.