diff --git a/src/test/cord-api/Tests/Ch_SanityFlavors.txt b/src/test/cord-api/Tests/Ch_SanityFlavors.txt
new file mode 100644
index 0000000..72ced6e
--- /dev/null
+++ b/src/test/cord-api/Tests/Ch_SanityFlavors.txt
@@ -0,0 +1,76 @@
+*** Settings ***
+Documentation     Test suite for Sanity Test of Flavors API
+Suite Setup       Read InputFile
+Test Template     Verify Flavor API 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_Flavors.json
+
+*** Test Cases ***    TYPE        LISTINDEX
+Test Add Flavor-1     CREATE      0
+
+Test Get Flavor-1     RETRIEVE    0
+
+Test Delete Flavor-1
+                      DELETE      0
+
+Test Add Flavor-2     CREATE      1
+
+Test Get Flavor-2     RETRIEVE    1
+
+Test Delete Flavor-2
+                      DELETE      1
+
+*** Keywords ***
+Read InputFile
+    ${flavorList} =    utils.jsonToList    ${PATHFILE}    flavorsInfo
+    Set Suite Variable    ${vList}    ${flavorList}
+
+Verify Flavor API functionality
+    [Arguments]    ${type}    ${listIndex}
+    Run Keyword If    "${type}" == "CREATE"    Test Post Flavors    ${listIndex}
+    Run Keyword If    "${type}" == "RETRIEVE"    Test Get Flavors    ${listIndex}
+    Run Keyword If    "${type}" == "DELETE"    Test Delete Flavors    ${listIndex}
+
+Test Post Flavors
+    [Arguments]    ${listIndex}
+    ${flavorList} =    Get Variable Value    ${vList}
+    ${flavorDict}=    utils.listToDict    ${flavorList}    ${listIndex}
+    ${api_result}=    restApi.ApiPost    CH_CORE_FLAVORS    ${flavorDict}
+    Should Be True    ${api_result}
+
+Test Get Flavors
+    [Arguments]    ${listIndex}
+    ${json_result}=    restApi.ApiGet    CH_CORE_FLAVORS
+    ${json_result_list}=    Get From Dictionary    ${json_result}    items
+    Log    ${json_result_list}
+    ${flavorList}=    Get Variable Value    ${vList}
+    ${inputDict}=    utils.listToDict    ${flavorList}    ${listIndex}
+    ${flavorName}=    utils.getFieldValueFromDict    ${inputDict}    name
+    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${flavorName}
+    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    Should Be True    ${json_result}
+
+Test Delete Flavors
+    [Arguments]    ${listIndex}
+    ${json_getresult}=    restApi.ApiGet    CH_CORE_FLAVORS
+    ${json_getresult_list}=    Get From Dictionary    ${json_getresult}    items
+    ${flavorList}=    Get Variable Value    ${vList}
+    ${flavorDict}=    utils.listToDict    ${vList}    ${listIndex}
+    ${flavorName}=    utils.getFieldValueFromDict    ${flavorDict}    name
+    Log    ${flavorName}
+    ${getFlavorDict}=    utils.getDictFromListofDict    ${json_getresult_list}    name    ${flavorName}
+    Log    ${getFlavorDict}
+    ${flavorID}=    utils.getFieldValueFromDict    ${getFlavorDict}    id
+    Log    ${flavorID}
+    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_FLAVORS    ${flavorID}
+    Should be True    ${test_result}
