diff --git a/src/emuvim/api/rest/compute.py b/src/emuvim/api/rest/compute.py
index 07d059f..b657660 100755
--- a/src/emuvim/api/rest/compute.py
+++ b/src/emuvim/api/rest/compute.py
@@ -35,6 +35,7 @@
 
 CORS_HEADER = {'Access-Control-Allow-Origin': '*'}
 
+# the dcs dict is set in the rest_api_endpoint.py upon datacenter init
 dcs = {}
 
 
@@ -49,6 +50,7 @@
     example networks list({"id":"input","ip": "10.0.0.254/8"}, {"id":"output","ip": "11.0.0.254/24"})
     :return: docker inspect dict of deployed docker
     """
+
     global dcs
 
     def put(self, dc_label, compute_name, resource=None, value=None):
diff --git a/src/emuvim/api/rest/monitor.py b/src/emuvim/api/rest/monitor.py
index 74f7acf..eac10ef 100755
--- a/src/emuvim/api/rest/monitor.py
+++ b/src/emuvim/api/rest/monitor.py
@@ -277,10 +277,10 @@
             c = net.monitor_agent.update_skewmon(vnf_name, resource_name, action='start')
 
             # return monitor message response
-            return  str(c), 200
+            return  str(c), 200, CORS_HEADER
         except Exception as ex:
             logging.exception("API error.")
-            return ex.message, 500
+            return ex.message, 500, CORS_HEADER
 
     def delete(self):
         logging.debug("REST CALL: stop monitor skewness")
@@ -300,3 +300,27 @@
             logging.exception("API error.")
             return ex.message, 500, CORS_HEADER
 
+class MonitorTerminal(Resource):
+    """
+    start a terminal for the selected VNFs
+    :param vnf_list: list of names of the VNFs to start a terminal from (all VNFs if None)
+    :return: message string indicating if the monitor action is succesful or not
+    """
+    global net
+
+    def get(self):
+        # get URL parameters
+        data = request.args
+        if data is None:
+            data = {}
+        vnf_list = data.get("vnf_list")
+        logging.debug("REST CALL: start terminal for: {}".format(vnf_list))
+        try:
+            # start terminals
+            c = net.monitor_agent.term(vnf_list)
+
+            # return monitor message response
+            return  str(c), 200, CORS_HEADER
+        except Exception as ex:
+            logging.exception("API error.")
+            return ex.message, 500, CORS_HEADER
\ No newline at end of file
diff --git a/src/emuvim/api/rest/rest_api_endpoint.py b/src/emuvim/api/rest/rest_api_endpoint.py
index 0c9e1bc..891f95d 100755
--- a/src/emuvim/api/rest/rest_api_endpoint.py
+++ b/src/emuvim/api/rest/rest_api_endpoint.py
@@ -41,7 +41,7 @@
 from network import NetworkAction, DrawD3jsgraph
 
 import monitor
-from monitor import MonitorInterfaceAction, MonitorFlowAction, MonitorLinkAction, MonitorSkewAction
+from monitor import MonitorInterfaceAction, MonitorFlowAction, MonitorLinkAction, MonitorSkewAction, MonitorTerminal
 
 import pkg_resources
 from os import path
@@ -103,6 +103,9 @@
         # the skewness metric is exported
         self.api.add_resource(MonitorSkewAction,
                               "/restapi/monitor/skewness")
+        # start a terminal window for the specified vnfs
+        self.api.add_resource(MonitorTerminal,
+                              "/restapi/monitor/term")
 
 
         logging.debug("Created API endpoint %s(%s:%d)" % (self.__class__.__name__, self.ip, self.port))
