diff --git a/vpd-manager/include/manager.hpp b/vpd-manager/include/manager.hpp
index 9de9675..120b4bb 100644
--- a/vpd-manager/include/manager.hpp
+++ b/vpd-manager/include/manager.hpp
@@ -229,18 +229,6 @@
      */
     bool isValidUnexpandedLocationCode(const std::string& i_locationCode);
 
-    /**
-     * @brief API to register callback for Host state change.
-     */
-    void registerHostStateChangeCallback();
-
-    /**
-     * @brief API to process host state change callback.
-     *
-     * @param[in] i_msg - Callback message.
-     */
-    void hostStateChangeCallBack(sdbusplus::message_t& i_msg);
-
     // Shared pointer to asio context object.
     const std::shared_ptr<boost::asio::io_context>& m_ioContext;
 
diff --git a/vpd-manager/include/worker.hpp b/vpd-manager/include/worker.hpp
index ccd9ca4..305045e 100644
--- a/vpd-manager/include/worker.hpp
+++ b/vpd-manager/include/worker.hpp
@@ -163,6 +163,24 @@
         return m_failedEepromPaths;
     }
 
+    /**
+     * @brief Collect single FRU VPD
+     * API can be used to perform VPD collection for the given FRU, only if the
+     * current state of the system matches with the state at which the FRU is
+     * allowed for VPD recollection.
+     *
+     * @param[in] i_dbusObjPath - D-bus object path
+     */
+    void collectSingleFruVpd(
+        const sdbusplus::message::object_path& i_dbusObjPath);
+
+    /**
+     * @brief  Perform VPD recollection
+     * This api will trigger parser to perform VPD recollection for FRUs that
+     * can be replaced at standby.
+     */
+    void performVpdRecollection();
+
   private:
     /**
      * @brief An API to parse and publish a FRU VPD over D-Bus.
