diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index e523993..6d82504 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -798,29 +798,6 @@
 
           return deferred.promise;
         },
-        hostShutdown: function(callback) {
-          $http({
-            method: 'POST',
-            url: DataService.getHost() + '/xyz/openbmc_project/state/host0',
-            withCredentials: true,
-            data: JSON.stringify({'data': []})
-          })
-              .then(
-                  function(response) {
-                    var json = JSON.stringify(response.data);
-                    var content = JSON.parse(json);
-                    if (callback) {
-                      return callback(content);
-                    }
-                  },
-                  function(error) {
-                    if (callback) {
-                      callback(error);
-                    } else {
-                      console.log(error);
-                    }
-                  });
-        },
         getLastPowerTime: function() {
           return $http({
                    method: 'GET',
