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
}
}