@@ -253,6 +253,25 @@ def search_indicators(
253253 )
254254 return json .loads (response )["indicators" ]
255255
256+ def get_multiple_indicators (
257+ self , names : list [str ], count : int = 100 , page : int = 0
258+ ) -> list [YetiObject ]:
259+ """Gets a list of indicators by name.
260+
261+ Args:
262+ names: The list of indicator names to retrieve.
263+ count: The number of results to return (default is 100).
264+ page: The page of results to return (default is 0, which means the first page).
265+
266+ Returns:
267+ A list of dicts representing the indicators.
268+ """
269+ params = {"names" : names , "count" : count , "page" : page }
270+ response = self .do_request (
271+ "POST" , f"{ self ._url_root } /api/v2/indicators/get/multiple" , json_data = params
272+ )
273+ return json .loads (response )["indicators" ]
274+
256275 def find_entity (self , name : str , type : str ) -> YetiObject | None :
257276 """Finds an entity in Yeti by name.
258277
@@ -316,6 +335,25 @@ def search_entities(
316335 )
317336 return json .loads (response )["entities" ]
318337
338+ def get_multiple_entities (
339+ self , names : list [str ], count : int = 100 , page : int = 0
340+ ) -> list [YetiObject ]:
341+ """Gets a list of entities by name.
342+
343+ Args:
344+ names: The list of entity names to retrieve.
345+ count: The number of results to return (default is 100).
346+ page: The page of results to return (default is 0, which means the first page).
347+
348+ Returns:
349+ A list of dicts representing the entities.
350+ """
351+ params = {"names" : names , "count" : count , "page" : page }
352+ response = self .do_request (
353+ "POST" , f"{ self ._url_root } /api/v2/entities/get/multiple" , json_data = params
354+ )
355+ return json .loads (response )["entities" ]
356+
319357 def find_observable (self , value : str , type : str ) -> YetiObject | None :
320358 """Finds an observable in Yeti by value and type.
321359
@@ -594,6 +632,25 @@ def search_dfiq(
594632 )
595633 return json .loads (response )["dfiq" ]
596634
635+ def get_multiple_dfiq (
636+ self , names : list [str ], count : int = 100 , page : int = 0
637+ ) -> list [YetiObject ]:
638+ """Gets a list of DFIQ objects by name.
639+
640+ Args:
641+ names: The list of DFIQ names to retrieve.
642+ count: The number of results to return (default is 100).
643+ page: The page of results to return (default is 0, which means the first page).
644+
645+ Returns:
646+ A list of dicts representing the DFIQ objects.
647+ """
648+ params = {"names" : names , "count" : count , "page" : page }
649+ response = self .do_request (
650+ "POST" , f"{ self ._url_root } /api/v2/dfiq/get/multiple" , json_data = params
651+ )
652+ return json .loads (response )["dfiq" ]
653+
597654 def new_dfiq_from_yaml (self , dfiq_type : str , dfiq_yaml : str ) -> YetiObject :
598655 """Creates a new DFIQ object in Yeti from a YAML string."""
599656 params = {
@@ -776,6 +833,25 @@ def search_tags(self, name: str, count: int = 100, page: int = 0):
776833 )
777834 return json .loads (response )["tags" ]
778835
836+ def get_multiple_tags (
837+ self , names : list [str ], count : int = 100 , page : int = 0
838+ ) -> list [dict [str , Any ]]:
839+ """Gets a list of tags by name.
840+
841+ Args:
842+ names: The list of tag names to retrieve.
843+ count: The number of results to return (default is 100).
844+ page: The page of results to return (default is 0, which means the first page).
845+
846+ Returns:
847+ A list of dicts representing the tags.
848+ """
849+ params = {"names" : names , "count" : count , "page" : page }
850+ response = self .do_request (
851+ "POST" , f"{ self ._url_root } /api/v2/tags/get/multiple" , json_data = params
852+ )
853+ return json .loads (response )["tags" ]
854+
779855 def link_objects (
780856 self ,
781857 source : YetiObject ,
0 commit comments