Updating subscriber
diff --git a/views/ngXosViews/diagnostic/src/js/chart_data_service.js b/views/ngXosViews/diagnostic/src/js/chart_data_service.js
index 7326ac8..f39a1e2 100644
--- a/views/ngXosViews/diagnostic/src/js/chart_data_service.js
+++ b/views/ngXosViews/diagnostic/src/js/chart_data_service.js
@@ -80,10 +80,10 @@
 
     };
 
-    this.getSubscriberIP = () => {
-      const ip = JSON.parse(this.currentServiceChain.children[0].children[0].tenant.service_specific_attribute).wan_container_ip;
+    this.getSubscriberIP = (subscriber) => {
+      // const ip = JSON.parse(this.currentServiceChain.children[0].children[0].tenant.service_specific_attribute).wan_container_ip;
       // const ip = this.currentServiceChain.children[0].children[0].tenant.wan_container_ip;
-      this.logicTopologyData.children[0].subscriberIP = ip;
+      this.logicTopologyData.children[0].subscriberIP = subscriber.wan_container_ip;
     };
 
     this.selectSubscriber = (subscriber) => {
@@ -96,7 +96,7 @@
       this.highlightInstances([]);
 
       this.getSubscriberTag(subscriber);
-      this.getSubscriberIP();
+      this.getSubscriberIP(subscriber);
 
     };
 
diff --git a/views/ngXosViews/diagnostic/src/js/rest_services.js b/views/ngXosViews/diagnostic/src/js/rest_services.js
index e88f098..5677f30 100644
--- a/views/ngXosViews/diagnostic/src/js/rest_services.js
+++ b/views/ngXosViews/diagnostic/src/js/rest_services.js
@@ -165,6 +165,10 @@
   })
   .service('Subscribers', function($resource, $q, SubscriberDevice){
     return $resource('/xoslib/cordsubscriber/:id', {id: '@id'}, {
+      update: {
+        method: 'PUT',
+        isArray: false
+      },
       queryWithDevices: {
         method: 'GET',
         isArray: true,
diff --git a/views/ngXosViews/diagnostic/src/js/subscriber-modal.js b/views/ngXosViews/diagnostic/src/js/subscriber-modal.js
index a8b93f5..74bb8a7 100644
--- a/views/ngXosViews/diagnostic/src/js/subscriber-modal.js
+++ b/views/ngXosViews/diagnostic/src/js/subscriber-modal.js
@@ -34,22 +34,31 @@
       restrict: 'E',
       templateUrl: 'templates/subscriber-status-modal.tpl.html',
       controllerAs: 'vm',
-      controller: function($log, $scope){
+      controller: function($log, $timeout, $scope, Subscribers){
 
-        // mock until api
-        $scope.$watch(() => this.subscriber, (subscriber) => {
-          if(subscriber){
-            subscriber.status = 'enabled';
-          }
+        $scope.$watch(() => this.open, () => {
+          this.success = null;
+          this.formError = null;
         });
 
         this.close = () => {
           this.open = false;
         };
 
-        this.setStatus = (status) => {
-          this.subscriber.status = status;
-          $log.info(`Set subscriber status to: ${status}`);
+        this.updateSubscriber = (subscriber) => {
+
+          Subscribers.update(subscriber).$promise
+          .then(() => {
+            this.success = 'Subscriber successfully updated!';
+          })
+          .catch((e) => {
+            this.formError = e;
+          })
+          .finally(() => {
+            $timeout(() => {
+              this.close();
+            }, 1500);
+          });
         };
       }
     };