diff --git a/vitrageclient/v1/alarm.py b/vitrageclient/v1/alarm.py
index 17a7a30..9c893c4 100644
--- a/vitrageclient/v1/alarm.py
+++ b/vitrageclient/v1/alarm.py
@@ -17,10 +17,11 @@ class Alarm(object):
     def __init__(self, api):
         self.api = api
 
-    def list(self, vitrage_id):
+    def list(self, vitrage_id, all_tenants):
         """Get a all alarms on entity
 
         :param vitrage_id: the id for the entity
         """
-        params = dict(vitrage_id=vitrage_id)
+        params = dict(vitrage_id=vitrage_id,
+                      all_tenants=all_tenants)
         return self.api.get(self.url, params=params).json()
diff --git a/vitrageclient/v1/cli/alarm.py b/vitrageclient/v1/cli/alarm.py
index c1b3820..68cd632 100644
--- a/vitrageclient/v1/cli/alarm.py
+++ b/vitrageclient/v1/cli/alarm.py
@@ -26,11 +26,24 @@ class AlarmList(lister.Lister):
                             metavar="<vitrage id>",
                             help="Vitrage id of the affected resource")
 
+        parser.add_argument('--all-tenants',
+                            metavar='<0|1>',
+                            nargs='?',
+                            type=int,
+                            const=1,
+                            default=0,
+                            dest='all_tenants',
+                            help='Shows alarms of all the tenants in the '
+                                 'entity graph')
+
         return parser
 
     def take_action(self, parsed_args):
         vitrage_id = parsed_args.vitrage_id
-        alarms = self.app.client.alarm.list(vitrage_id=vitrage_id)
+        all_tenants = parsed_args.all_tenants
+
+        alarms = self.app.client.alarm.list(vitrage_id=vitrage_id,
+                                            all_tenants=all_tenants)
         return utils.list2cols(('type',
                                 'name',
                                 'resource_type',
diff --git a/vitrageclient/v1/cli/rca.py b/vitrageclient/v1/cli/rca.py
index 1ea5cb7..00f557b 100644
--- a/vitrageclient/v1/cli/rca.py
+++ b/vitrageclient/v1/cli/rca.py
@@ -19,7 +19,18 @@ class RcaShow(show.ShowOne):
 
     def get_parser(self, prog_name):
         parser = super(RcaShow, self).get_parser(prog_name)
-        parser.add_argument('alarm_id', help='ID of an alarm')
+        parser.add_argument('alarm_id',
+                            help='ID of an alarm')
+
+        parser.add_argument('--all-tenants',
+                            metavar='<0|1>',
+                            nargs='?',
+                            type=int,
+                            const=1,
+                            default=0,
+                            dest='all_tenants',
+                            help='Shows alarms of all the tenants for the RCA')
+
         return parser
 
     def formatter_default(self):
@@ -27,5 +38,9 @@ class RcaShow(show.ShowOne):
 
     def take_action(self, parsed_args):
         alarm_id = parsed_args.alarm_id
-        alarm = self.app.client.rca.get(alarm_id=alarm_id)
+        all_tenants = parsed_args.all_tenants
+
+        alarm = self.app.client.rca.get(alarm_id=alarm_id,
+                                        all_tenants=all_tenants)
+
         return self.dict2columns(alarm)
diff --git a/vitrageclient/v1/cli/topology.py b/vitrageclient/v1/cli/topology.py
index 9c8aa76..7ba15be 100644
--- a/vitrageclient/v1/cli/topology.py
+++ b/vitrageclient/v1/cli/topology.py
@@ -24,17 +24,31 @@ class TopologyShow(show.ShowOne):
                             metavar='<query>',
                             help='query for the graph)')
 
-        parser.add_argument('--limit', type=int,
+        parser.add_argument('--limit',
+                            type=int,
                             metavar='<depth>',
                             help='the depth of the topology graph')
 
-        parser.add_argument('--root', help='the root of the topology graph')
+        parser.add_argument('--root',
+                            help='the root of the topology graph')
 
-        parser.add_argument('--graph-type', choices=['tree', 'graph'],
-                            default='graph', dest='type',
+        parser.add_argument('--graph-type',
+                            choices=['tree', 'graph'],
+                            default='graph',
+                            dest='type',
                             help='graph type. '
                                  'Valid graph types: [tree, graph]')
 
+        parser.add_argument('--all-tenants',
+                            metavar='<0|1>',
+                            nargs='?',
+                            type=int,
+                            const=1,
+                            default=0,
+                            dest='all_tenants',
+                            help='Shows entities of all the tenants in the '
+                                 'entity graph')
+
         return parser
 
     def formatter_default(self):
@@ -45,6 +59,7 @@ class TopologyShow(show.ShowOne):
         graph_type = parsed_args.type
         query = parsed_args.filter
         root = parsed_args.root
+        all_tenants = parsed_args.all_tenants
 
         if graph_type == 'graph' and limit is not None and root is None:
             raise exc.CommandException(
@@ -53,5 +68,6 @@ class TopologyShow(show.ShowOne):
         topology = self.app.client.topology.get(limit=limit,
                                                 graph_type=graph_type,
                                                 query=query,
-                                                root=root)
+                                                root=root,
+                                                all_tenants=all_tenants)
         return self.dict2columns(topology)
diff --git a/vitrageclient/v1/rca.py b/vitrageclient/v1/rca.py
index 018d210..0368796 100644
--- a/vitrageclient/v1/rca.py
+++ b/vitrageclient/v1/rca.py
@@ -17,10 +17,11 @@ class Rca(object):
     def __init__(self, api):
         self.api = api
 
-    def get(self, alarm_id):
+    def get(self, alarm_id, all_tenants):
         """Get RCA for an alarm
 
         :param alarm_id: the id of the alarm
         """
-        url = self.url + alarm_id
-        return self.api.get(url).json()
+        params = dict(alarm_id=alarm_id,
+                      all_tenants=all_tenants)
+        return self.api.get(self.url, params=params).json()
diff --git a/vitrageclient/v1/topology.py b/vitrageclient/v1/topology.py
index 945019e..5a56d7b 100644
--- a/vitrageclient/v1/topology.py
+++ b/vitrageclient/v1/topology.py
@@ -17,15 +17,24 @@ class Topology(object):
     def __init__(self, api):
         self.api = api
 
-    def get(self, limit=None, graph_type='graph', query=None, root=None):
+    def get(self,
+            limit=None,
+            graph_type='graph',
+            query=None,
+            root=None,
+            all_tenants=0):
         """Get a topology
 
         :param root:  the root of the topology graph
         :param query: the query filter for the topology
         :param graph_type: graph can be tree or graph
         :param limit: the depth of the topology graph
+        :param all_tenants: show entities in graph of all tenants
         """
 
-        params = dict(depth=limit, graph_type=graph_type,
-                      query=query, root=root)
+        params = dict(depth=limit,
+                      graph_type=graph_type,
+                      query=query,
+                      root=root,
+                      all_tenants=all_tenants)
         return self.api.post(self.URL, json=params).json()