diff --git a/src/test/cord-api/Tests/Ch_VoltTenant-sanity.txt b/src/test/cord-api/Tests/Ch_VoltTenant-sanity.txt
new file mode 100644
index 0000000..bf19af8
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_VoltTenant-sanity.txt
@@ -0,0 +1,78 @@
+*** Settings ***
+Documentation     Test suite for volt Tenant Verification - Chameleon API
+Suite Setup       Read InputFile
+Test Template     Verify volt Tenant 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/Ch_VoltTenant.json
+${PATHFILE2}      ${CURDIR}/data/Ch_putVoltTenant.json
+
+*** Test Cases ***    TYPE      LISTINDEX
+Test volt Tenant-1    CREATE    0
+
+Test volt Tenant-2    CREATE    1
+
+Test volt Tenant-3    CREATE    2
+
+*** Keywords ***
+Read InputFile
+    ${voltList} =    utils.jsonToList    ${PATHFILE}    voltSubscriberInfo
+    Set Suite Variable    ${vlist}    ${voltList}
+    ${putvoltList}=    utils.jsonToList    ${PATHFILE2}    voltSubscriberInfo
+    Set Suite Variable    ${putList}    ${putvoltList}
+
+Verify volt Tenant Functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post volt Tenant API    ${listIndex}
+
+Test Post volt Tenant API
+    [Arguments]    ${listIndex}
+    ${voltTenantList} =    Get Variable Value    ${vlist}
+    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${listIndex}
+    ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
+    ${c_tag}=    Get From Dictionary    ${voltDict}    c_tag
+    ${postResult}=    restApi.ApiPost    VOLT_TENANT    ${voltDict}
+    # Verifying Get Operation after POST
+    ${getVolt_result}=    restApi.ApiGet    VOLT_TENANT
+    ${getVolt_result_list}=    Get From Dictionary    ${getVolt_result}    items
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${getVolt_result_list}    c_tag    ${c_tag}
+    ${test_result}=    utils.compare_dict    ${voltDict}    ${getJsonDict}
+    Should Be True    ${test_result}
+    # Retrieve provided_link_ids from tenantobject and associate with serviceinstancelinks to the core
+    #${service_specific_id}=    Get From Dictionary    ${voltTenantDict}    service_specific_id
+    #${get_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    #${get_result_list}=    Get From Dictionary    ${get_result}    items
+    #${subscriberDict}=    utils.getDictFromListofDict    ${get_result_list}    service_specific_id    ${service_specific_id}
+    #${subscriberID}=    utils.getFieldValueFromDict    ${subscriberDict}    id
+    #Log    ${subscriberID}
+    #${updatedVoltDict}=    utils.setFieldValueInDict    ${voltDict}    subscriber_root_id    ${subscriberID}
+    #${api_result}=    restApi.ApiPost    VOLT_TENANT    ${voltDict}
+    #Should Be True    ${api_result}
+    # Verifying Get operation after POST
+    #${getVolt_result}=    restApi.ApiGet    VOLT_TENANT
+    #${getVolt_result_list}=    Get From Dictionary    ${getVolt_result}    items
+    #${getJsonDict}=    utils.getDictFromListOfDict    ${getVolt_result_list}    subscriber_root_id    ${subscriberID}
+    #${test_result}=    utils.compare_dict    ${voltDict}    ${getJsonDict}
+    #Should Be True    ${test_result}
+    #    # Verifying PUT operation
+    #    ${putvoltList}=    Get Variable Value    ${putList}
+    #    ${putVoltDict}=    utils.listToDict    ${putvoltList}    ${listIndex}
+    #    ${putvoltTenantDict}=    Get From Dictionary    ${putVoltDict}    voltTenant
+    #    ${voltID}=    utils.getFieldValueFromDict    ${getJsonDict}    id
+    #    ${put_result}=    restApi.ApiChameleonPut    VOLT_TENANT    ${putvoltTenantDict}    ${voltID}
+    #    Should Be True    ${put_result}
+    #    # Verifying Get after PUT operation
+    #    #${getVolt_afterPut}=    restApi.ApiGet    VOLT_TENANT
+    #    #${getVoltDict}=    utils.getDictFromListofDict    ${getVolt_afterPut}    id    ${voltID}
+    #    ${getVoltDict}=    restApi.ApiChameleonGet    VOLT_TENANT    ${voltID}
+    #    ${result_afterPut}=    utils.compare_dict    ${putvoltTenantDict}    ${getVoltDict}
+    #    Should Be True    ${result_afterPut}
