Core Concepts

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

HTTP Methods

This API follows the REST (Representational State Transfer) architecture and uses standard HTTP methods to send requests and receive responses.

MethodPupose
GETRetrieve entities
POSTAdd or create entities and perform actions

Base URL

Use the base URL of your Hubstream instance (your production environment).

Example:

https://hubstreamproduction.hubstreamonline.com

Note: To make a request, combine the Base URL with the endpoint path listed in the API Reference section.

Pagination

Use pagination to control:

  • how many entities are returned per page, and
  • which page of results you want to retrieve
Param NameData TypeDescription
PageSizeIntegerNumber of entities to return per page (for example, 10)
PageNumberIntegerPage number to retrieve (for example, 1)

Example scenario: If the request includes PageSize = 10 and PageNumber = 1, the API returns 10 entities from page 1 of the results.

Example JSON:

{
  "QueryInfo": {
    "Meta": {
      "PageInfo": {
        "PageSize": 10,
        "PageNumber": 1
      }
    },
    "Nodes": [
      {
        "Id": "Node0",
        "Queries": [
          {
            "Name": "CustomsRecordal",
            "Fields": ["Name", "DateUpdated"]
          }
        ],
        "FilterByTeam": true
      }
    ]
  },
  "VizInfo": {
    "IntelVizLayoutName": "FourChartOneTableLayout"
  }
} 

Filter

Filters let you return only the entities that match specific criteria.

A filter payload typically includes:

  • what entity you are filtering,
  • which field(s) to filter on,
  • what value(s) to match, and
  • how multiple filters should be combined (AND / OR)
Param NameData TypeDescription
EntityStringName of the entity type to filter (for example, Investigation)
FieldStringField name to apply the filter on (for example, Status, Priority)
ValuesStringOne or more values to match (for example, Active, Closed, InProgress.)
FilterGroupJoinConditionIntegerLogical operator used to combine filters: AND / OR.
FilterByTeamIntegertrue - Returns only entities within your organization/team. false - Returns entities across the system, regardless of organization/team.

Example Scenario: If the request applies these filters:

  • Entity = Investigation
  • Status = Active
  • Priority = Routine
  • Join condition = AND
  • FilterByTeam = true

The response includes only Investigations where Status is Active and Priority is Routine from your organization.

{
  "QueryInfo": {
    "Meta": {
      "PageInfo": {
        "PageSize": 10,
        "PageNumber": 1
      },
      "QueryType": "MyActiveAssignableEntities"
    },
    "Nodes": [
      {
        "Id": "Node0",
        "AssignedToMe": true,
        "Queries": [
          { "Name": "Investigation" },
          { "Name": "TakedownEntity" },
          { "Name": "Task" },
          { "Name": "Lead" }
        ],
        "Conditions": [
          {
            "FilterGroups": [
              {
                "Filters": [
                  {
                    "Entity": "Investigation",
                    "Field": "Status",
                    "Values": ["Pending", "Active", "On Hold", "Inconclusive", "Re-opened"]
                  },
                  {
                    "Entity": "TakedownEntity",
                    "Field": "Status",
                    "Values": ["In progress", "Pending"]
                  }
                ]
              }
            ],
            "FilterGroupJoinCondition": "AND"
          }
        ],
        "FilterByTeam": true
      }
    ]
  },
  "VizInfo": {
    "IntelVizLayoutName": "OneChartOneTableLayout"
  }
}