Suggestion (With Async Group Input)

Last update: September 10, 2026
•
1 min to read

Retrieve suggestion data for specific asynchronous groups using previously identified async group information. This endpoint is used to fetch asynchronous suggestion results after identifying async groups from the initial suggestion API call.

Example

  • Investigation is linked to Company.
  • There can be multiple async groups.
  • Suggestion Group ID 20 indicates that the end entity is Company, so Investigation linked to Company will be fetched.

HTTP Method

POST

Endpoint

/api/engine/suggestion/run

Request URL

{Base URL}/api/engine/suggestion/run

Sample Request

Let us consider:

  • Entity: Investigation
  • Relationship: Investigation → Company
  • Async Group ID: 70

Request Body

{
  "QueryInfo": {
    "Meta": {},
    "Nodes": [
      {
        "Id": "Node0",
        "Queries": [
          {
            "Name": "Investigation"
          }
        ],
        "FilterByTeam": true
      }
    ],
    "Hints": {
      "AsyncRuleInputInfo": {
        "AsyncGroupList": [
          {
            "list": [],
            "ID": 70,
            "FilteredEntities": [11]
          }
        ]
      },
      "SuggestionFetcherType": "Promoted"
    }
  },
  "VizInfo": {
    "IntelVizLayoutName": "GridTableLayout"
  }
}

Parameters

Param NameData TypeDescription
NameStringEntity type (for example, Investigation, Domain)
FilterGroupJoinConditionConditionLogical operator used to combine filters: AND / OR.
FilterByTeamBooleantrue - Returns only entities within your organization/team. false - Returns entities across the system, regardless of organization/team.
SuggestionFetcherTypeStringType of suggestion logic to apply (for example, Promoted)
IntelVizLayoutNameStringLayout type (GridTableLayout).
IDintegerAsync group identifier
FilteredEntities—Entity identifiers associated with the group

Missing or invalid credentials returns a 401 Unauthorized error.

Curl Example

Multi-line format (for readability)

curl --header "Accept-Language: en" \
     --http1.1 \
     --insecure \
     --verbose \
     --ntlm \
     --user "device-name1\jdoe:P@ssw0rd" \
     -X POST \
     "https://hubstreamproduction.hubstreamonline.com/api/engine/suggestion/run" \
     -H "Content-Type: application/json" \
     -d '{
       "QueryInfo": {
         "Meta": {},
         "Nodes": [
           {
             "Id": "Node0",
             "Queries": [
               {
                 "Name": "Investigation"
               }
             ],
             "FilterByTeam": true
           }
         ],
         "Hints": {
           "AsyncRuleInputInfo": {
             "AsyncGroupList": [
               {
                 "list": [],
                 "ID": 70,
                 "FilteredEntities": [11]
               }
             ]
           },
           "SuggestionFetcherType": "Promoted"
         }
       },
       "VizInfo": {
         "IntelVizLayoutName": "GridTableLayout"
       }
     }'

Single-line format (for terminal use)

curl --header "Accept-Language: en" --http1.1 --insecure --verbose --ntlm --user "device-name1\jdoe:P@ssw0rd" -X POST "https://hubstreamproduction.hubstreamonline.com/api/engine/suggestion/run" -H "Content-Type: application/json" -d "{\"QueryInfo\":{\"Meta\":{},\"Nodes\":[{\"Id\":\"Node0\",\"Queries\":[{\"Name\":\"Investigation\"}],\"FilterByTeam\":true}],\"Hints\":{\"AsyncRuleInputInfo\":{\"AsyncGroupList\":[{\"list\":[],\"ID\":70,\"FilteredEntities\":[11]}]},\"SuggestionFetcherType\":\"Promoted\"}},\"VizInfo\":{\"IntelVizLayoutName\":\"GridTableLayout\"}}"

Sample Responses

Status code 2XX indicates a successful request and response.

200 OK

Description: Operation succeeded

Response Body

{
  "SuggestionItems": [
    {
      "Name": "IOTGo",
      "Caption": "Task",
      "Description": "Go to All Tasks at Closest Level",
      "Count": 0,
      "Type": "Single",
      "LinkEntityName": "Task",
      "LinkLevel": "Closest",
      "IsPromoted": true,
      "IsAsync": true,
      "AsyncGroupName": "AsyncGroup-QhOl4",
      "Icon": "hourglass",
      "RuleID": 70
    },
    {
      "Name": "W3Dma",
      "Caption": "URLs",
      "Description": "Go to All URLs at Closest Level",
      "Count": 1,
      "Type": "Single",
      "LinkEntityName": "URL",
      "LinkLevel": "Closest",
      "IsPromoted": true,
      "Icon": "link",
      "RuleID": 67
    }
  ],
  "AsyncGroupMap": {
    "AsyncGroup-QhOl4": [
      {
        "ID": 70,
        "FilteredEntities": [11]
      }
    ]
  }
}

Response Explanation

FieldTypeDescription
NamestringInternal identifier of the suggestion
CaptionstringDisplay name shown in UI
DescriptionstringDescription of the suggestion
CountintegerNumber of related linked entities
TypestringSuggestion type (e.g., Single)
LinkEntityNamestringEntity linked to the suggestion
LinkLevelstringRelationship level (e.g., Closest)
IsPromotedbooleanIndicates if the suggestion is promoted
IsAsyncbooleanIndicates if data is fetched asynchronously
AsyncGroupNamestringGroup identifier for async suggestions
IconstringIcon used in UI
RuleIDintegerIdentifier of the rule generating the suggestion