Create Custom Node (Reserved)
Overview
Create a custom node within a custom view. A custom node groups objects based on filter criteria such as transaction membership, object type, insight association, or name pattern. Multiple filters can be combined using AND logic.
URI
POST /rest/applications/{application}/custom-views/nodes
Path parameters
This parameter identifies the analyzed application. The application name must be properly encoded if required. Character back-quote is not allowed.
Request Body
{
"name": "Cloud Blockers in Payment Service",
"modeId": "abc123-def456",
"searchQuery": {
"page": 1,
"limit": 100,
"name": "",
"fullName": "",
"mode": "child",
"labels": [],
"apiLevels": [],
"objectTypes": ["Java Method", "Java Class"],
"insightFilters": [
{
"category": "CloudReady - Blocker",
"rules": ["Avoid using java.lang.Runtime.exec()"]
}
],
"excludedIds": [],
"operations": [],
"forceAllTags": 0,
"forceAllInsight": 1,
"forceAllAPILevels": true,
"forceAllProperties": 1,
"forceAllDocuments": 0,
"isTagsAndObjectTypes": true,
"pos": "start",
"searchBy": ["Name"],
"isRegex": false,
"ignoreCase": true,
"searchType": "string",
"objectSearchBy": "",
"sortKey": "Name",
"sortOrder": "asc",
"documents": [],
"module": [],
"transactions": []
}
}
Request Body Properties
| Property | Type | Required | Description |
|---|
| name | string | Yes | Name for the custom node. |
| modeId | string | Yes | ID of the custom view to add the node to. |
| searchQuery | object | Yes | Filter criteria defining which objects to include. |
Search Query Properties
| Property | Type | Description |
|---|
| objectTypes | []string | Filter by object types (e.g., “Java Method”, “Java Class”). |
| insightFilters | []object | Filter by insights. Each filter has category and rules. |
| transactions | []object | Filter by transaction membership. Each has label and value (transaction ID). |
| name | string | Filter by object name pattern. |
| objectSearchBy | string | Scope filter: “”, “internal”, “external”, or “all”. |
| forceAllInsight | integer | Set to 1 to require all insight filters to match (AND logic). |
| isTagsAndObjectTypes | boolean | Whether to combine tags and object types with AND logic. |
Insight Filter Object
| Property | Type | Description |
|---|
| category | string | Insight category in format “InsightType - Value”. |
| rules | []string | List of specific rule names within the insight category. |
Transaction Filter Object
| Property | Type | Description |
|---|
| label | string | Transaction identifier. |
| value | string | Transaction identifier (same). |
Responses
Example:
{
"success": {
"id": "node-xyz789",
"name": "Cloud Blockers in Payment Service",
"objectCount": 42
}
}
JSON representation
| Property | Type | Description |
|---|
| success.id | string | The unique identifier for the created node. |
| success.name | string | The node name. |
| success.objectCount | integer | Number of objects matching the filter criteria. |
Usage Examples
Filter by Object Type
{
"name": "All Java Methods",
"modeId": "view-123",
"searchQuery": {
"objectTypes": ["Java Method"],
"forceAllInsight": 0
}
}
Filter by Transaction
{
"name": "Payment Transaction Objects",
"modeId": "view-123",
"searchQuery": {
"transactions": [{"label": "12345", "value": "12345"}],
"forceAllInsight": 0
}
}
Filter by Insight
{
"name": "Cloud Migration Blockers",
"modeId": "view-123",
"searchQuery": {
"insightFilters": [
{
"category": "CloudReady - Blocker",
"rules": ["Avoid using java.lang.Runtime.exec()"]
}
],
"forceAllInsight": 1
}
}
Combined Filters (AND logic)
{
"name": "Java Methods with Cloud Issues",
"modeId": "view-123",
"searchQuery": {
"objectTypes": ["Java Method"],
"insightFilters": [
{
"category": "CloudReady - Medium",
"rules": ["Avoid hardcoded IP addresses"]
}
],
"forceAllInsight": 1,
"isTagsAndObjectTypes": true
}
}