Skip to main content

Behavior Summary Search

The Behavior Summary Search API allows the user to search and retrieve events from Fluency. This is the same API used for the EventWatch -> Behavior Summary page.

POST - behavior_summary_search

{url}/api/ds/behavior_summary_search

Request

Headers:

Content-Type: application/json\ Fluencytoken: b23d7bd2-c388-4257-7d05-61704b76a3a8

Body:

{\ "kargs":{ }\ }

cURL example

curl -X POST "https://test.cloud.fluencysecurity.com/api/ds/behavior_summary_search" -H "Fluencytoken: b23d7bd2-c388-4257-7d05-61704b76a3a8" -H  "Content-Type: application/json" -d  '{"kargs":{"options":{"fetchOffset":0,"fetchLimit":20,"searchStr":"","sortField":"to","sortOrder":"desc","facets":{"facets":[{"title":"Incident Status","size":10,"order":"count","field":"status"},{"title":"Analyst","size":20,"order":"count","field":"comments.username"},{"title":"Score Level","size":30,"order":"count","field":"scoreLevel"},{"title":"Key","size":30,"order":"count","field":"key"},{"title":"Key Type","size":30,"order":"count","field":"keyType"},{"title":"Behavior Rules","size":30,"order":"count","field":"behaviorRules"}],"mustFilters":[],"mustNotFilters":[{"field":"scoreLevel","terms":["0"]}]},"range_from":1633964452896,"range_to":1634569252896,"range_field":"from"}}}'

Sample Request kargs

{
"kargs": {
"options": {
"fetchOffset": 0,
"fetchLimit": 20,
"searchStr": "",
"sortField": "to",
"sortOrder": "desc",
"facets": {
"facets": [
{
"title": "Incident Status",
"size": 10,
"order": "count",
"field": "status"
},
{
"title": "Analyst",
"size": 20,
"order": "count",
"field": "comments.username"
},
{
"title": "Score Level",
"size": 30,
"order": "count",
"field": "scoreLevel"
},
{
"title": "Key",
"size": 30,
"order": "count",
"field": "key"
},
{
"title": "Key Type",
"size": 30,
"order": "count",
"field": "keyType"
},
{
"title": "Behavior Rules",
"size": 30,
"order": "count",
"field": "behaviorRules"
}
],
"mustFilters": [],
"mustNotFilters": [
{
"field": "scoreLevel",
"terms": [
"0"
]
}
]
},
"range_from": 1633964452896,
"range_to": 1634569252896,
"range_field": "from"
}
}
}

Sample Response

{
"verdict": "OK",
"response": {
"took": 2,
"_scroll_id": "",
"hits": {
"total": 1,
"max_score": null,
"hits": [
{
"_score": null,
"_index": "behavior_summary",
"_type": "behavior_summary",
"_id": "username_centos_20211012",
"_uid": "",
"_timestamp": 0,
"_ttl": 0,
"_routing": "",
"_parent": "",
"_version": null,
"sort": [
1634062440000
],
"highlight": null,
"_source": {
"id": "username_centos_20211012",
"from": 1634047560000,
"to": 1634062440000,
"count": 5,
"key": "centos",
"keyType": "username",
"dayIndex": "20211012",
"behaviorRules": [
"SSH_Login_Accepted"
],
"behaviors": [
"account login"
],
"riskScore": 1000,
"summaryList": [
{
"hits": [
{
"risks": [
"ML_NEW_ASSET"
],
"values": [
"18.166.19.200"
],
"scope": "local",
"name": "NewServer",
"fields": [
"@sender"
]
}
],
"risks": [
"ML_NEW_ASSET"
],
"count": 5,
"from": 1634047560000,
"to": 1634062440000,
"riskScore": 1000,
"behavior": "account login",
"attributeSummaries": [],
"behaviorRule": "SSH_Login_Accepted"
}
],
"scoreLevel": "1000 - 2000",
"keyContext": {
"infoList": null
},
"comments": null,
"incident": false,
"scoreAdjust": 0,
"updatedOn": 1634062570000,
"risks": [
"ML_NEW_ASSET"
]
},
"fields": null,
"_explanation": null,
"matched_queries": null,
"inner_hits": null
}
]
},
"suggest": null,
"aggregations": {
"behaviorRules": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "SSH_Login_Accepted",
"doc_count": 1
}
]
},
"comments.username": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": []
},
"key": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "centos",
"doc_count": 1
}
]
},
"keyType": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "username",
"doc_count": 1
}
]
},
"scoreLevel": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "1000 - 2000",
"doc_count": 1
}
]
},
"status": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": []
}
},
"timed_out": false,
"terminated_early": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
}
}
}

Notice the aggregations object in the Response. The fields in the aggregations Response corresponds with the facets defined in the Request.

Identical call performed by the Fluency interface:

Page last updated: 2023 Dec 06