Skip to content

Commit 8767134

Browse files
committed
Add bloom search endpoint
1 parent 612bfab commit 8767134

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

yeti/api.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,23 @@ def search_observables(self, value: str) -> list[YetiObject]:
212212
)
213213
return json.loads(response)["observables"]
214214

215+
def search_bloom(self, values: list[str]) -> list[dict[str, Any]]:
216+
"""Searches for a list of observable values in Yeti's bloom filters.
217+
218+
Args:
219+
values: The list of observable values to search for.
220+
221+
Returns:
222+
A list of dicts representing hits, e.g.
223+
224+
{"value": "example.com", hits:["filter1"]}
225+
"""
226+
params = {"values": values}
227+
response = self.do_request(
228+
"POST", f"{self._url_root}/api/v2/bloom/search", json_data=params
229+
)
230+
return json.loads(response)
231+
215232
def new_entity(
216233
self, entity: dict[str, Any], tags: list[str] | None = None
217234
) -> YetiObject:

0 commit comments

Comments
 (0)