diff --git a/src/test/cord-api/Framework/restApi.py b/src/test/cord-api/Framework/restApi.py
index 86ca3ab..edaa61f 100644
--- a/src/test/cord-api/Framework/restApi.py
+++ b/src/test/cord-api/Framework/restApi.py
@@ -1,9 +1,10 @@
 #!/usr/bin/env python
-import requests, json, sys, time
-sys.path.append('utils')
+import requests, json, os, sys, time
+#sys.path.append('common-utils')
+sys.path.append(os.path.join(sys.path[0],'utils'))
 from readProperties import readProperties
 
-class RestApi(object):
+class restApi(object):
     '''
     Functions for testing CORD API with POST, GET, PUT, DELETE method
     '''
@@ -42,8 +43,16 @@
         else:
             print "Test failed: " + str(resp.status_code) + ": " + resp.text
             return False
+    '''
+    @method getAccountNum
+    @Returns AccountNumber for the subscriber
+    @params: jsonData is Dictionary
+    '''
+    def getAccountNum(self, jsonData):
+        print type(str(jsonData['identity']['account_num']))
+        return jsonData['identity']['account_num']
 
-    def getSubscriberIdFromAccountNum(self, jsonDataList, accountNum):
+    def getSubscriberId(self, jsonDataList, accountNum):
         '''
         Search in each json data in the given list to find and return the
         subscriber id that corresponds to the given account number.
@@ -55,10 +64,26 @@
                 if jsonData["identity"]["account_num"] == str(accountNum):
                     subscriberId = jsonData["id"]
                     break
-            return subscriberId
+            return str(subscriberId)
         except KeyError:
             print "Something wrong with the json data provided: ", jsonData
             return -1
+    '''
+     Retrieve the correct jsonDict from the List of json objects returned
+     from Get Reponse
+     Account Number is the one used to post "Data"
+    '''
+    def getJsonDictOfAcctNum(self, getResponseList, AccountNum):
+        getJsonDict = {}
+        try:
+            for data in getResponseList:
+                if data['identity']['account_num'] == AccountNum:
+                   getJsonDict = data
+                   break
+            return getJsonDict
+        except KeyError:
+            print "Could not find the related account number in Get Resonse Data"
+            return -1
 
     def ApiPost(self, key, jsonData):
         url = self.getURL(key)
@@ -77,7 +102,7 @@
             return resp.json()
 
     def ApiPut(self, key, jsonData, urlSuffix=""):
-        url = self.getURL(key) + urlSuffix
+        url = self.getURL(key) + urlSuffix + "/"
         data = json.dumps(jsonData)
         resp = requests.put(url, data=data, headers=self.jsonHeader, auth=(self.user, self.password))
         passed = self.checkResult(resp, requests.codes.ok)
@@ -89,6 +114,8 @@
         passed = self.checkResult(resp, requests.codes.no_content)
         return passed
 
+#test
+'''
 if __name__ == '__main__':
     test = RestApi()
     key = "TENANT_SUBSCRIBER"
@@ -102,3 +129,11 @@
     result = test.ApiPut(key, {"identity":{"name":"My House 2"}}, urlSuffix)
     time.sleep(5)
     result = test.ApiDelete(key, urlSuffix)
+'''
+'''
+test = restApi()
+key = "TENANT_SUBSCRIBER"
+#jsonGetData = test.ApiGet(key,"71")
+jsonResponse = test.ApiPut(key,{"identity":{"name":"My House 22"}},"71")
+print "========="
+'''
diff --git a/src/test/cord-api/Framework/utils/utils.py b/src/test/cord-api/Framework/utils/utils.py
index 5c4efb5..292cbf0 100644
--- a/src/test/cord-api/Framework/utils/utils.py
+++ b/src/test/cord-api/Framework/utils/utils.py
@@ -21,6 +21,34 @@
         dataList = data[strListName]
         return dataList
 
+    '''
+    @method compare_dict
+    @Description: validates if contents of dict1 exists in dict2
+    @params: dict1 = input_data entered through api
+             dict2 = retrieved data from GET method
+    returns True if contents of dict1 exists in dict2
+    '''
+
+    @staticmethod
+    def compare_dict(dict1, dict2):
+        print "input_data", dict1
+        print "get data", dict2
+        if dict1 == None or dict2 == None:
+           return False
+
+        if type(dict1) is not dict or type(dict2) is not dict:
+           return False
+
+        for key1,value1 in dict1.items():
+            try:
+                if key1 in dict2:
+                   for key2, value2 in value1.items():
+                       if value2 != dict2[key1][key2]:
+                          return False
+            except:
+	        print "Additional items"
+        return True
+
 #Test
 #test = utils()
 #data=test.jsonToList("Subscribers.json","SubscriberInfo")
diff --git a/src/test/cord-api/Tests/SubscriberTest.txt b/src/test/cord-api/Tests/SubscriberTest.txt
new file mode 100644
index 0000000..ea06113
--- /dev/null
+++ b/src/test/cord-api/Tests/SubscriberTest.txt
@@ -0,0 +1,106 @@
+*** Settings ***
+Documentation     Test suite for Subscriber verification
+Suite Setup       Read InputFile
+Test Template     Verify Subscriber functionality
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../Framework/utils/utils.py
+Library           ../Framework/restApi.py
+
+*** Variables ***
+${USER}           admin
+${PASSWORD}       admin
+${PATHFILE}       ${CURDIR}/data/Subscriber.json
+${PATHFILE2}      ${CURDIR}/data/putSubscriber.json
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Subscriber-1     CREATE      0
+
+Test Get_Subscriber-1
+                      RETRIEVE    0
+
+Test Edit Subscriber-1
+                      PUT         0
+
+Test Delete Subscriber Data-1
+                      DELETE      0
+
+Test Subscriber-2     CREATE      1
+
+Test Get_Subscriber-2
+                      RETRIEVE    1
+
+Test Edit Subscriber Data-2
+                      PUT         1
+
+Test Delete Subscriber-2
+                      DELETE      1
+
+Test Subscriber-3     CREATE      2
+
+Test Get_Subcriber-3
+                      RETRIEVE    2
+
+Test Edit Subscriber-3
+                      PUT         2
+
+Test Delete Subscriber-3
+                      DELETE      2
+
+*** Keywords ***
+Read InputFile
+    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    Set Suite Variable    ${slist}    ${subscriberList}
+    ${putSubscriberList}=    utils.jsonToList    ${PATHFILE2}    SubscriberInfo
+    Set Suite Variable    ${putList}    ${putSubscriberList}
+
+Verify Subscriber functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Subscriber API    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Subscriber API    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Subscriber API    ${listIndex}
+    Run Keyword If    "${type}" == "PUT"    Test Edit Subscriber API    ${listIndex}
+
+Test Post Subscriber API
+    [Arguments]    ${listIndex}
+    ${subscriberList} =    Get Variable Value    ${slist}
+    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    TENANT_SUBSCRIBER    ${subscriberDict}
+    Should Be True    ${api_result}
+
+Test Get Subscriber API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
+    Log    ${json_result}
+    ${subscriberList}=    Get Variable Value    ${slist}
+    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
+    ${AccountNum}=    restApi.getAccountNum    ${subscriberDict}
+    ${getJsonDict}=    restApi.getJsonDictOfAcctNum    ${json_result}    ${AccountNum}
+    ${test_result}=    utils.compare_dict    ${subscriberDict}    ${getJsonDict}
+    Should Be True    ${test_result}
+
+Test Edit Subscriber API
+    [Arguments]    ${listIndex}
+    ${get_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
+    ${putSubscriberList}=    Get Variable Value    ${putList}
+    ${putSubscriberDict}=    utils.listToDict    ${putSubscriberList}    ${listIndex}
+    ${AcctNum}=    restApi.getAccountNum    ${putSubscriberDict}
+    ${subscriberID}=    restApi.getSubscriberId    ${get_result}    ${AcctNum}
+    ${api_result}=    restApi.ApiPut    TENANT_SUBSCRIBER    ${putSubscriberDict}    ${subscriberID}
+    Should Be True    ${api_result}
+    ${getResultAfterPut}=    restApi.ApiGet    TENANT_SUBSCRIBER    ${subscriberID}
+    ${test_result}=    utils.compare_dict    ${putSubscriberDict}    ${getResultAfterPut}
+    Should Be True    ${test_result}
+
+Test Delete Subscriber API
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
+    ${subscriberList}=    Get Variable Value    ${slist}
+    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
+    ${AcctNum}=    restApi.getAccountNum    ${subscriberDict}
+    ${subscriberId}=    restApi.getSubscriberId    ${json_result}    ${AcctNum}
+    ${test_result}=    restApi.ApiDelete    TENANT_SUBSCRIBER    ${subscriberId}
+    Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/data/Subscriber.json b/src/test/cord-api/Tests/data/Subscriber.json
index db9685f..8605026 100644
--- a/src/test/cord-api/Tests/data/Subscriber.json
+++ b/src/test/cord-api/Tests/data/Subscriber.json
@@ -1,2 +1,44 @@
-# Test data
-
+{
+    "SubscriberInfo" : [
+    {
+        "humanReadableName": "cordSubscriber-2",
+        "id": 2,
+        "features": {
+            "cdn": true,
+            "uplink_speed": 1000000000,
+            "downlink_speed": 1000000000,
+            "uverse": true,
+            "status": "enabled"
+        },
+        "identity": {
+            "account_num": "20",
+            "name": "My House"
+        }
+    },
+    {
+        "humanReadableName": "cordSubscriber-3",
+        "id": 3,
+        "features": {
+            "cdn": false,
+            "uplink_speed": 500000000,
+            "downlink_speed": 500000000,
+            "uverse": false,
+            "status": "enabled"
+        },
+        "identity": {
+            "account_num": "21",
+            "name": "My House"
+        }
+    },
+    {
+        "features": {
+            "cdn": true,
+            "uplink_speed": 500000000
+        },
+        "identity": {
+            "account_num": "22",
+            "name": "My House"
+        }
+    }
+  ]
+}
diff --git a/src/test/cord-api/Tests/data/putSubscriber.json b/src/test/cord-api/Tests/data/putSubscriber.json
new file mode 100644
index 0000000..d73e7a2
--- /dev/null
+++ b/src/test/cord-api/Tests/data/putSubscriber.json
@@ -0,0 +1,34 @@
+{
+    "SubscriberInfo" : [
+    {
+        "features": {
+            "uplink_speed": 2000000000,
+            "downlink_speed": 2000000000
+        },
+        "identity": {
+            "account_num": "20",
+            "name": "My House - edited"
+        }
+    },
+    {
+        "features": {
+            "cdn": true,
+            "downlink_speed": 100000000,
+            "status": "enabled"
+        },
+        "identity": {
+            "account_num": "21",
+            "name": "My House2 - Edited"
+        }
+    },
+    {
+        "features": {
+            "cdn": false
+        },
+        "identity": {
+            "account_num": "22",
+            "name": "My House3 - Edited"
+        }
+    }
+  ]
+}
