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.
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
| Property | Type | Description |
|---|---|---|
MindMapId | guid | Unique ID of the mind map. |
Name | string | Name of the mind map. |
ProjectId | guid | ID of the associated project. |
OrdinalPosition | int | Sort position of the mind map within the project. |
Endpoints
CRUD Operations
List all mind maps across all projects
/odata/MindMapSupports OData query options.
Get a single mind map by ID
/odata/MindMap({key})| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapId. |
Create a new mind map
/odata/MindMapUpdate an existing mind map
/odata/MindMap({key})| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapId. |
Body | Delta<ApiMindMap> | ✅ | JSON object with the fields to update. |
Delete a mind map
/odata/MindMap({key})| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapId. |
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
/odata/MindMap({key})/CopyAllUncopiedNodesToTaskItems| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | 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
/odata/MindMap({key})/CopyUncopiedLeafNodesToTaskItems| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | 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
/odata/MindMap({key})/CopyToTimeline| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | 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
| Property | Type | Description |
|---|---|---|
MindMapNodeId | guid | Unique ID of the node. |
ParentNodeId | guid? | ID of the parent node (null for root node). |
MindMapId | guid? | ID of the associated mind map. |
Description | string | Text description of the node (plain text). |
DescriptionHTML | string | Description as HTML. |
OrdinalPosition | int | Sort position among sibling nodes. |
LocationX | int | Horizontal position (X coordinate). |
LocationY | int | Vertical position (Y coordinate). |
FontType | string | Font type. |
FontSize | decimal? | Font size. |
IsBold | bool | Bold enabled. |
IsItalic | bool | Italic enabled. |
IsUnderline | bool | Underline enabled. |
FontColor | string | HTML color value for the font color (e.g. #FF0000). |
NodeColor | string | HTML color value for the background color of the node (e.g. #FFFFFF). |
FrameColor | string | HTML color value for the border color of the node (e.g. #000000). |
IsCollapsed | bool | Whether the node is displayed as collapsed. |
Progress | int | Progress in percent (0–100). |
ColorFlag | int? | 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
/odata/MindMapNodeSupports OData query options.
Get a single node by ID
/odata/MindMapNode({key})| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapNodeId. |
Create a new node
/odata/MindMapNodeSet ParentNodeId to create a child node. Without ParentNodeId, a root node is created.
Update a node
/odata/MindMapNode({key})| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapNodeId. |
Body | Delta<ApiMindMapNode> | ✅ | JSON object with the fields to update. |
Delete a node
/odata/MindMapNode({key})| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapNodeId. |
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
/odata/MindMapNode({key})/AddDocumentToMindMapNode| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapNodeId. |
Body | object | ✅ | 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
/odata/MindMapNode({key})/RemoveDocumentFromMindMapNode| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapNodeId. |
Body | object | ✅ | 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
/odata/MindMapNode({key})/AddRelation| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapNodeId. |
Body | object | ✅ | JSON object with the following fields: itemId (guid, required) — The ID of the item to link. |
Remove a relation from a node
/odata/MindMapNode({key})/RemoveRelation| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapNodeId. |
Body | object | ✅ | 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
| Property | Type | Description |
|---|---|---|
MindMapTemplateId | guid | Unique ID of the template. |
Name | string | Name of the template. |
Endpoints
CRUD Operations
List all mind map templates
/odata/MindMapTemplateSupports OData query options.
Get a template by ID
/odata/MindMapTemplate({key})| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapTemplateId. |
Create a new template
/odata/MindMapTemplateUpdate a template
/odata/MindMapTemplate({key})| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapTemplateId. |
Body | Delta<ApiMindMapTemplate> | ✅ | JSON object with the fields to update. |
Delete a template
/odata/MindMapTemplate({key})| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapTemplateId. |
Deleting a template cannot be undone.
Returns 204 No Content on success.
Template Management
Save a template from an existing mind map
/odata/MindMapTemplate/SaveTemplateForMindMap| Parameter | Type | Required | Description |
|---|---|---|---|
Body | object | ✅ | 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
/odata/MindMapTemplate({key})/LoadTemplateForProject| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | The MindMapTemplateId. |
Body | object | ✅ | 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.
Download a template
/odata/MindMapTemplate({key})/DownloadTemplate()| Parameter | Type | Required | Description |
|---|---|---|---|
key | guid | ✅ | 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"
}
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.