diff --git a/image_manager.cpp b/image_manager.cpp
index eaf2e6d..bc9ce9e 100644
--- a/image_manager.cpp
+++ b/image_manager.cpp
@@ -177,6 +177,22 @@
     return 0;
 }
 
+void Manager::erase(std::string entryId)
+{
+    auto it = versions.find(entryId);
+    if (it == versions.end())
+    {
+        return;
+    }
+    // Delete image dir
+    fs::path imageDirPath = (*(it->second)).path();
+    if (fs::exists(imageDirPath))
+    {
+        fs::remove_all(imageDirPath);
+    }
+    this->versions.erase(entryId);
+}
+
 int Manager::unTar(const std::string& tarFilePath,
                    const std::string& extractDirPath)
 {
diff --git a/image_manager.hpp b/image_manager.hpp
index 6e45c7c..b0b8b89 100644
--- a/image_manager.hpp
+++ b/image_manager.hpp
@@ -31,6 +31,14 @@
          */
          int processImage(const std::string& tarballFilePath);
 
+        /**
+         * @brief Erase specified entry d-bus object
+         *        and deletes the image file.
+         *
+         * @param[in] entryId - unique identifier of the entry
+         */
+        void erase(std::string entryId);
+
     private:
         /** @brief Persistent map of Version dbus objects and their
           * version id */
