HTTP Methods
This API follows the REST (Representational State Transfer) architecture and uses standard HTTP methods to send requests and receive responses.
| Method | Pupose |
|---|---|
| GET | Retrieve entities |
| POST | Add 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 Name | Data Type | Description |
|---|---|---|
| PageSize | Integer | Number of entities to return per page (for example, 10) |
| PageNumber | Integer | Page 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 Name | Data Type | Description |
|---|---|---|
| Entity | String | Name of the entity type to filter (for example, Investigation) |
| Field | String | Field name to apply the filter on (for example, Status, Priority) |
| Values | String | One or more values to match (for example, Active, Closed, InProgress.) |
| FilterGroupJoinCondition | Integer | Logical operator used to combine filters: AND / OR. |
| FilterByTeam | Integer | true - 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"
}
}