diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 63bf71d..730b2d8 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -237,19 +237,19 @@
               },
               chassisPowerOff: function(callback){
                 $http({
-                  method: 'POST',
-                  url: DataService.getHost() + "/xyz/openbmc_project/state/host0",
+                  method: 'PUT',
+                  url: DataService.getHost() + "/xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition",
                   headers: {
                       'Accept': 'application/json',
                       'Content-Type': 'application/json'
                   },
                   withCredentials: true,
-                  data: JSON.stringify({"data": []})
+                  data: JSON.stringify({"data": "xyz.openbmc_project.State.Chassis.Transition.Off"})
                 }).then(function(response){
                       var json = JSON.stringify(response.data);
                       var content = JSON.parse(json);
                       if(callback){
-                          return callback(content.data.CurrentPowerState);
+                          return callback(content.status);
                       }
                 }, function(error){
                   if(callback){
diff --git a/app/server-control/controllers/power-operations-controller.js b/app/server-control/controllers/power-operations-controller.js
index 4ab765d..d38076f 100644
--- a/app/server-control/controllers/power-operations-controller.js
+++ b/app/server-control/controllers/power-operations-controller.js
@@ -117,7 +117,14 @@
                 };
 
                 $scope.immediateShutdown = function(){
-                    $scope.orderlyShutdown();
+                    //@TODO:show progress
+                    APIUtils.chassisPowerOff(function(response){
+                        if(response){
+                            dataService.setPowerOffState();
+                        }else{
+                            //@TODO:hide progress & show error message
+                        }
+                    });
                 };
                 $scope.immediateShutdownConfirm = function(){
                     if($scope.confirm) {
