Suggestion (Without Async Input)

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

Retrieve suggested items and identify asynchronous suggestion groups.

Key Concept

There are two types of suggestion payloads:

  1. Without async group information — Returns initial suggestions and async group identifiers.
  2. With async group information — Used to fetch async suggestion results separately.

Example

  • Entity: Investigation
  • Total suggestion rules: 5
  • Async rules: 2 (IDs: 12, 13)

Behaviour

  • For the async groups, separate API calls must be sent.
  • The remaining 3 suggestion rules are included in the initial API call itself.
  • 2 suggestions → require separate async API calls.

HTTP Method

POST

Endpoint

/api/engine/suggestion/run

Request URL

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

Sample Request Body

{
  "QueryInfo": {
    "Meta": {},
    "Nodes": [
      {
        "Id": "Node0",
        "Queries": [
          {
            "Name": "Investigation"
          }
        ],
        "FilterByTeam": true
      }
    ],
    "Hints": {
      "AsyncRuleInputInfo": {},
      "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. For example, GridTableLayout.

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": {},
           "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\":{},\"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