diff --git a/src/test/cord-api/Framework/restApi.py b/src/test/cord-api/Framework/restApi.py
index ea5fec4..0dd6c81 100644
--- a/src/test/cord-api/Framework/restApi.py
+++ b/src/test/cord-api/Framework/restApi.py
@@ -162,7 +162,7 @@
     time.sleep(5)
     result = test.ApiDelete(key, urlSuffix)
 '''
-'''
+#'''
 test = restApi()
 #key = "UTILS_SYNCHRONIZER"
 #key = "CORE_USERS"
@@ -172,7 +172,7 @@
 #jsonResponse = test.ApiPost(key,{"identity":{"name":"My House 22"}})
 #jsonResponse = test.ApiPost(key,{"firstname":"Test002","lastname":"User002","email":"test002@onlab.us","password":"TestUser002","site": "http://localhost:8000/api/core/sites/1/"})
 key = "VOLT_TENANT"
-key = "VOLT_SUBSCRIBER"
+#key = "VOLT_SUBSCRIBER"
 #jsonResponse = test.ApiDelete(key,204)
 #jsonResponse = test.ApiPut(key,{"firstname":"Test002","lastname":"User002","email":"test002update@onlab.us","password":"TestUser002","site": "http://localhost:8000/api/core/sites/1/"},14)
 #jsonResponse = test.ApiPost(key2,{"username":"test002update@onlab.us","password":"TestUser002"})
@@ -184,7 +184,8 @@
 #input_dict = { "s_tag" : "111", "c_tag" : "222", "subscriber" : 23}
 input_dict = {
          "s_tag" : 117,
-         "c_tag" : 227
+         "c_tag" : 227,
+         "subscriber_root_id" : "16"
         }
 
 #input_dict1 = { "name" : "mysite_Test1", "site" : 1 , "creator" : 1}
@@ -200,13 +201,13 @@
     }
 #jsonResponse = test.ApiPost(key,input_dict)
 #jsonResponse = test.ApiChameleonPut(key,input_dict,12)
-#jsonGetData = test.ApiGet(key,"/12")
+jsonGetData = test.ApiGet(key)
 #print "========="
 #print jsonGetData
 #jsonEdit = test.ApiPut(key,{"c_tag" : "666","s_tag" : "123"},"30")
-jsonO = test.ApiDelete(key,"/7")
+#jsonO = test.ApiChameleonDelete(key,"56")
 #jsonResponse = test.ApiPut(key,{"identity":{"name":"My House 22"}},"71")
-#jsonResponse = test.ApiPost(key,{"name":"test-2"})
+#jsonResponse = test.ApiPost(key,input_dict)
 #jsonResponse = test.ApiPut(key,{"name":"test1-changed"},"9")
 print "========="
-'''
+#'''
diff --git a/src/test/cord-api/Framework/utils/utils.py b/src/test/cord-api/Framework/utils/utils.py
index 48dcae2..87d15ca 100644
--- a/src/test/cord-api/Framework/utils/utils.py
+++ b/src/test/cord-api/Framework/utils/utils.py
@@ -131,6 +131,7 @@
         return_dict = {}
         result = ''
         for data in getJsonDataList:
+            print "data", data
             return_dict = {}
             found = False
             input_keys = data.keys()
@@ -138,6 +139,7 @@
                 if key == searchKey and str(data[key]) == str(searchKeyValue):
                    found = True
                    return_dict = data
+                   print "return_dict",return_dict
                    break
                 elif type(data[key]) == dict:
                      result, found = self.search_dictionary(data[key],searchKey)
