diff --git a/policy_table.cpp b/policy_table.cpp
index 247ff4f..429c2c4 100644
--- a/policy_table.cpp
+++ b/policy_table.cpp
@@ -76,6 +76,38 @@
     }
 }
 
+optional_ns::optional<DetailsReference> Table::find(
+        const std::string& error,
+        const std::string& modifier) const
+{
+    //First find the entry based on the error, and then find which
+    //underlying details object it is with the help of the modifier.
+
+    auto policy = policies.find(error);
+
+    if (policy != policies.end())
+    {
+        //Not all policy entries have a modifier defined, so if it is
+        //empty that will return as a match.
+
+        auto details = std::find_if(
+                policy->second.begin(),
+                policy->second.end(),
+                [&modifier](const auto& d)
+                {
+                    return d.modifier.empty() || (modifier == d.modifier);
+                });
+
+        if (details != policy->second.end())
+        {
+            return DetailsReference(*details);
+        }
+    }
+
+    return {};
+}
+
+
 }
 }
 }
diff --git a/policy_table.hpp b/policy_table.hpp
index b6fade3..a44bf0b 100644
--- a/policy_table.hpp
+++ b/policy_table.hpp
@@ -1,5 +1,6 @@
 #pragma once
 
+#include <experimental/optional>
 #include <map>
 #include <vector>
 #include "config.h"
@@ -26,8 +27,12 @@
 };
 
 using DetailsList = std::vector<Details>;
+using DetailsReference = std::reference_wrapper<const Details>;
+
 using PolicyMap = std::map<std::string, DetailsList>;
 
+namespace optional_ns = std::experimental;
+
 /**
  * @class Table
  *
@@ -64,6 +69,20 @@
             return loaded;
         }
 
+        /**
+         * Finds an entry in the policy table based on the
+         * error and the search modifier.
+         *
+         * @param[in] error - the error, like xyz.openbmc_project.Error.X
+         * @param[in] modifier - the search modifier, used to find the entry
+         *                   when multiple ones share the same error
+         *
+         * @return optional<DetailsReference> - the details entry
+         */
+        optional_ns::optional<DetailsReference> find(
+                const std::string& error,
+                const std::string& modifier) const;
+
     private:
 
         /**
