diff --git a/semantic_router/layer.py b/semantic_router/layer.py
index bed1ef285d02026a5f6a14255cf9a19d2729e241..6c9950ffc2173371c82b35b685bec56b123a0361 100644
--- a/semantic_router/layer.py
+++ b/semantic_router/layer.py
@@ -832,6 +832,22 @@ class RouteLayer:
 
     def _get_route_names(self) -> List[str]:
         return [route.name for route in self.routes]
+    
+    def update_route_thresholds(self, threshold_dict: Dict[str, float]):
+        """
+        Update thresholds for specified routes.
+
+        :param threshold_dict: A dictionary mapping route names to new threshold values.
+        :type threshold_dict: Dict[str, float]
+        """
+        for route_name, new_threshold in threshold_dict.items():
+            route = self.get(route_name)
+            if route:
+                old_threshold = route.score_threshold
+                route.score_threshold = new_threshold
+                logger.info(f"Updated threshold for route '{route_name}' from {old_threshold} to {new_threshold}")
+            else:
+                logger.warning(f"Route '{route_name}' not found. Skipping threshold update.")
 
 
 def threshold_random_search(