diff --git a/course-mw/course-actors-common/src/main/java/org/sunbird/learner/constants/CourseJsonKey.java b/course-mw/course-actors-common/src/main/java/org/sunbird/learner/constants/CourseJsonKey.java
index f51dc6fe494e3b0ab7581a8dcbceebb25eb1a2e9..3d3cea240eb83ed88b2546f5cf9d4d8b0fc0e9e6 100644
--- a/course-mw/course-actors-common/src/main/java/org/sunbird/learner/constants/CourseJsonKey.java
+++ b/course-mw/course-actors-common/src/main/java/org/sunbird/learner/constants/CourseJsonKey.java
@@ -16,8 +16,6 @@ public abstract class CourseJsonKey {
   public static final String CERTIFICATES = "certificates";
   public static final String CERTIFICATE_COUNT = "certificateCount";
   public static final String CERTIFICATES_DOT_NAME = "certificates.name";
-  public static final String COURSE_COMPLETION_CERTIFICATE =
-      "sunbird_course_completion_certificate_name";
   public static final String CERTIFICATE_NAME = "certificateName";
   public static final String CERTIFICATE_TEMPLATES_COLUMN = "cert_templates";
   public static final String LAST_UPDATED_ON = "lastUpdatedOn";
diff --git a/course-mw/course-actors/src/main/java/org/sunbird/learner/actors/coursebatch/CourseBatchManagementActor.java b/course-mw/course-actors/src/main/java/org/sunbird/learner/actors/coursebatch/CourseBatchManagementActor.java
index b84c198ef611f59cf76f6d778cc3cb9badfc4775..39fcfdc80140995ac0b1ef5bf2c5e4c4b88329a8 100644
--- a/course-mw/course-actors/src/main/java/org/sunbird/learner/actors/coursebatch/CourseBatchManagementActor.java
+++ b/course-mw/course-actors/src/main/java/org/sunbird/learner/actors/coursebatch/CourseBatchManagementActor.java
@@ -1,6 +1,7 @@
 package org.sunbird.learner.actors.coursebatch;
 
 import akka.actor.ActorRef;
+import com.typesafe.config.ConfigFactory;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -430,7 +431,7 @@ public class CourseBatchManagementActor extends BaseActor {
     if (CollectionUtils.isNotEmpty(courseBatch.getMentors())) {
       canUpdateList.addAll(courseBatch.getMentors());
     }
-    if (!canUpdateList.contains(requestedBy)) {
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED) && !canUpdateList.contains(requestedBy)) {
       throw new ProjectCommonException(
           ResponseCode.unAuthorized.getErrorCode(),
           ResponseCode.unAuthorized.getErrorMessage(),
diff --git a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/GeoLocationJsonKey.java b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/GeoLocationJsonKey.java
index 8c3b8c4ad7b41c5420db4e4ef86a13941a4ef413..0675821d62d4b041e20e63340748f37fc18f3981 100644
--- a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/GeoLocationJsonKey.java
+++ b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/GeoLocationJsonKey.java
@@ -9,7 +9,6 @@ public class GeoLocationJsonKey {
   public static final String CODE = "code";
   public static final String LOCATION_TYPE = "type";
   public static final String PARENT_ID = "parentId";
-  public static final String SUNBIRD_VALID_LOCATION_TYPES = "sunbird_valid_location_types";
   public static final String PROPERTY_NAME = "name";
   public static final String PROPERTY_VALUE = "value";
   public static final String ID = "id";
diff --git a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/JsonKey.java b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/JsonKey.java
index b4a0fd0c239477253dcb6daa8529fdf0b197a1a5..f04a9b147741aed0822fd84ebdcbfafc5ff636d0 100644
--- a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/JsonKey.java
+++ b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/JsonKey.java
@@ -89,14 +89,11 @@ public final class JsonKey {
   public static final String BAD_REQUEST = "badRequest";
   public static final String BATCH = "batch";
   public static final String BATCH_ID = "batchId";
-  public static final String BATCH_RELATIONS = "batch_relations";
   public static final String BEARER = "Bearer ";
   public static final String BLOCKED = "blocked";
   public static final String BODY = "body";
   public static final String BULK_OP_DB = "BulkOpDb";
   public static final String BULK_UPLOAD_BATCH_DATA_SIZE = "bulk_upload_batch_data_size";
-  public static final String BULK_UPLOAD_ORG_DATA_SIZE = "bulk_upload_org_data_size";
-  public static final String BULK_UPLOAD_USER_DATA_SIZE = "sunbird_user_bulk_upload_size";
   public static final String BULK_USER_UPLOAD = "bulkUserUpload";
   public static final String CASSANDRA_IN_EMBEDDED_MODE = "cassandraInEmbeddedMode";
   public static final String CASSANDRA_SERVICE = "Cassandra service";
@@ -193,25 +190,11 @@ public final class JsonKey {
   public static final String ANALYTICS_API_BASE_URL = "sunbird_analytics_api_base_url";
   public static final String EKSTEP_AUTHORIZATION = "ekstep_authorization";
   public static final String EKSTEP_BASE_URL = "ekstep_api_base_url";
-  public static final String EKSTEP_CHANNEL_REG_API_URL = "ekstep.channel.reg.api.url";
-  public static final String EKSTEP_CHANNEL_UPDATE_API_URL = "ekstep.channel.update.api.url";
-  public static final String EKSTEP_CONCEPT_URL = "ekstep_concept_base_url";
   public static final String EKSTEP_CONTENT_SEARCH_BASE_URL = "ekstep_content_search_base_url";
   public static final String EKSTEP_CONTENT_SEARCH_URL = "ekstep_content_search_url";
   public static final String EKSTEP_CONTENT_UPDATE_URL = "ekstep.content.update.url";
-  public static final String EKSTEP_CONTENT_URL = "content_url";
-  public static final String EKSTEP_COURSE_PUBLISH_URL = "ekstep_course_publish_url";
-  public static final String EKSTEP_DOMAIN_URL = "ekstep_domain_url";
-  public static final String EKSTEP_ES_METRICS_API_URL = "ekstep_es_metrics_api_url";
-  public static final String EKSTEP_GET_CHANNEL_LIST = "ekstep.channel.list.api.url";
-  public static final String EKSTEP_METRICS_API_URL = "ekstep_metrics_api_url";
-  public static final String EKSTEP_METRICS_AUTHORIZATION = "ekstep_metrics_authorization";
-  public static final String EKSTEP_METRICS_URL = "ekstep_metrics_base_url";
   public static final String EKSTEP_SERVICE = "EkStep service";
   public static final String EKSTEP_TAG_API_URL = "ekstep.tag.api.url";
-  public static final String EKSTEP_TELEMETRY_API_URL = "ekstep_telemetry_api_url";
-  public static final String EKSTEP_TELEMETRY_BASE_URL = "ekstep_telemetry_api_base_url";
-  public static final String EKSTEP_TELEMETRY_V3_URL = "eksetp_telemetry_V3_url";
   public static final String EMAIL = "email";
   public static final String EMAIL_REQUEST = "emailReq";
   public static final String EMAIL_SERVER_FROM = "sunbird_mail_server_from_email";
@@ -224,9 +207,6 @@ public final class JsonKey {
   public static final String EMAIL_VERIFIED = "emailVerified";
   public static final String EMAIL_VERIFIED_UPDATED = "emailVerifiedUpdated";
   public static final String EMBEDDED = "embedded";
-  public static final String EMBEDDED_CASSANDRA_HOST = "embedded_cassandra_host";
-  public static final String EMBEDDED_CASSANDRA_PORT = "embedded_cassandra_port";
-  public static final String EMBEDDED_CQL_FILE_NAME = "embedded_cql_file_name";
   public static final String EMBEDDED_MODE = "embedded";
   public static final String ENC_EMAIL = "encEmail";
   public static final String ENC_PHONE = "encPhone";
@@ -387,7 +367,6 @@ public final class JsonKey {
   public static final String ORG_LEFT_DATE = "orgLeftDate";
   public static final String ORG_MAP_DB = "org_mapping";
   public static final String ORG_NAME = "orgName";
-  public static final String ORG_RELATIONS = "org_relations";
   public static final String ORG_SERVER_FROM_NAME = "orgServerFromName";
   public static final String ORG_TYPE = "orgType";
   public static final String ORG_TYPE_DB = "org_type";
@@ -527,7 +506,6 @@ public final class JsonKey {
   public static final String SUMMARY = "summary";
   public static final String SUNBIRD = "sunbird";
   public static final String SUNBIRD_ALLOWED_LOGIN = "sunbird_allowed_login";
-  public static final String SUNBIRD_APP_URL = "sunbird_app_url";
   public static final String SUNBIRD_API_BASE_URL = "sunbird_api_base_url";
   public static final String SUNBIRD_CASSANDRA_IP = "sunbird_cassandra_host";
   public static final String SUNBIRD_CASSANDRA_KEYSPACE = "sunbird_cassandra_keyspace";
@@ -562,11 +540,8 @@ public final class JsonKey {
   public static final String SUNBIRD_GET_ORGANISATION_API = "sunbird_search_organisation_api";
   public static final String SUNBIRD_GET_SINGLE_USER_API = "sunbird_read_user_api";
   public static final String SUNBIRD_GET_MULTIPLE_USER_API = "sunbird_search_user_api";
-  public static final String SUNBIRD_CHANNEL_READ_API = "sunbird_channel_read_api";
-  public static final String SUNBIRD_FRAMEWORK_READ_API = "sunbird_framework_read_api";
   public static final String SUNBIRD_CONTENT_GET_HIERARCHY_API = "sunbird_get_hierarchy_api";
   public static final String SUNBIRD_CONTENT_READ_API = "sunbird_content_read_api";
-  public static final String SUNBIRD_USERNAME_NUM_DIGITS = "sunbird_username_num_digits";
   public static final String SYSTEM = "system";
   public static final String SYSTEM_SETTINGS_DB = "system_settings";
   public static final String TAG = "tag";
@@ -575,7 +550,6 @@ public final class JsonKey {
   public static final String TC_UPDATED_DATE = "tcUpdatedAt";
   public static final String TELEMETRY_CONTEXT = "TELEMETRY_CONTEXT";
   public static final String TELEMETRY_EVENT_TYPE = "telemetryEventType";
-  public static final String TELEMETRY_QUEUE_THRESHOLD_VALUE = "telemetry_queue_threshold_value";
   public static final String TEMPORARY_PASSWORD = "tempPassword";
   public static final String TENANT_PREFERENCE = "tenantPreference";
   public static final String TENANT_PREFERENCE_DB = "tenantPreferenceDb";
@@ -626,7 +600,6 @@ public final class JsonKey {
   public static final String USER_NOTES_DB = "userNotes_db";
   public static final String USER_ORG = "user_org";
   public static final String USER_ORG_DB = "user_org_db";
-  public static final String USER_RELATIONS = "user_relations";
   public static final String USER_SKILL_DB = "userSkillDb";
   public static final String USERIDS = "userIds";
   public static final String USERNAME = "userName";
@@ -644,7 +617,7 @@ public final class JsonKey {
   public static final String ZIPCODE = "zipcode";
   public static final String SUNBIRD_CONTENT_SERVICE_BASE_URL = "sunbird_content_service_base_url";
   public static final String SUNBIRD_CONTENT_SERVICE_AUTHORIZATION =
-      "sunbird_content_service_authorization";
+          "sunbird_content_service_authorization";
   public static final String SUNBIRD_HEALTH_CHECK_ENABLE = "sunbird_health_check_enable";
   public static final String HEALTH = "health";
   public static final String SERVICE = "service";
@@ -654,8 +627,6 @@ public final class JsonKey {
   public static final String SUNBIRD_AUTHORIZATION = "sunbird_authorization";
   public static final String SUNBIRD_CS_BASE_URL = "sunbird_cs_base_url";
   public static final String SUNBIRD_CS_SEARCH_PATH = "sunbird_cs_search_path";
-  public static final String SUNBIRD_LMS_BASE_URL = "sunbird_lms_base_url";
-  public static final String SUNBIRD_TELEMETRY_API_PATH = "sunbird_telemetry_api_path";
   public static final String SUNBIRD_LMS_TELEMETRY = "Sunbird_LMS_Telemetry";
   public static final String SUNBIRD_LMS_AUTHORIZATION = "sunbird_authorization";
   public static final String ETS = "ets";
@@ -683,37 +654,28 @@ public final class JsonKey {
   public static final String ORG_EXTERNAL_ID = "orgExternalId";
   public static final String ORG_PROVIDER = "orgProvider";
   public static final String EXTERNAL_IDS = "externalIds";
-  public static final String SUNBIRD_TELEMETRY_BASE_URL = "sunbird_telemetry_base_url";
   public static final String EXTERNAL_ID_TYPE = "externalIdType";
   public static final String ID_TYPE = "idType";
   public static final String ADD = "add";
   public static final String REMOVE = "remove";
   public static final String EDIT = "edit";
   public static final String DEFAULT_FRAMEWORK = "defaultFramework";
-  public static final String SUNBIRD_OPENSABER_BRIDGE_ENABLE = "sunbird_open_saber_bridge_enable";
   public static final String EXTERNAL_ID_PROVIDER = "externalIdProvider";
-  public static final String SUNBIRD_INSTALLATION_DISPLAY_NAME =
-      "sunbird_installation_display_name";
   public static final String USR_EXT_IDNT_TABLE = "usr_external_identity";
   public static final String END_TIME_IN_HOUR_MINUTE_SECOND = " 23:59:59";
   public static final String REGISTRY_ID = "registryId";
   public static final String RESPONSE_CODE = "responseCode";
   public static final String OK = "ok";
-  public static final String SUNBIRD_APP_NAME = "sunbird_app_name";
   public static final String SUNBIRD_DEFAULT_COUNTRY_CODE = "sunbird_default_country_code";
   public static final String ONBOARDING_MAIL_SUBJECT = "onboarding_mail_subject";
   public static final String ONBOARDING_MAIL_MESSAGE = "onboarding_welcome_message";
-  public static final String SUNBIRD_DEFAULT_WELCOME_MSG = "sunbird_default_welcome_sms";
-  public static final String SUNBIRD_DEFAULT_USER_TYPE = "sunbird_default_user_type";
   public static final String ES_TYPES = "types";
   public static final String RECIPIENT_SEARCH_QUERY = "recipientSearchQuery";
-  public static final String SUNBIRD_EMAIL_MAX_RECEPIENT_LIMIT =
-      "sunbird_email_max_recipients_limit";
   public static final String ORIGINAL_EXTERNAL_ID = "originalExternalId";
   public static final String ORIGINAL_ID_TYPE = "originalIdType";
   public static final String ORIGINAL_PROVIDER = "originalProvider";
   public static final String SUNBIRD_CASSANDRA_CONSISTENCY_LEVEL =
-      "sunbird_cassandra_consistency_level";
+          "sunbird_cassandra_consistency_level";
   public static final String VERSION_2 = "v2";
   public static final String CUSTODIAN_ORG_CHANNEL = "custodianOrgChannel";
   public static final String CUSTODIAN_ORG_ID = "custodianOrgId";
@@ -727,12 +689,10 @@ public final class JsonKey {
   public static final String USER_PROFILE_CONFIG = "userProfileConfig";
   public static final String PUBLIC_FIELDS = "publicFields";
   public static final String PRIVATE_FIELDS = "privateFields";
-  public static final String SUNBIRD_USER_PROFILE_FIELD_DEFAULT_VISIBILITY =
-      "sunbird_user_profile_field_default_visibility";
   public static final String DEFAULT_PROFILE_FIELD_VISIBILITY = "defaultProfileFieldVisibility";
 
   public static final String SUNBIRD_COURSE_BATCH_NOTIFICATIONS_ENABLED =
-      "sunbird_course_batch_notification_enabled";
+          "sunbird_course_batch_notification_enabled";
 
   public static final String BATCH_START_DATE = "batchStartDate";
   public static final String BATCH_END_DATE = "batchEndDate";
@@ -755,7 +715,7 @@ public final class JsonKey {
   public static final String REMOVED_PARTICIPANTS = "removedParticipants";
   public static final String URL_QUERY_STRING = "urlQueryString";
   public static final String SUNBIRD_API_REQUEST_LOWER_CASE_FIELDS =
-      "sunbird_api_request_lower_case_fields";
+          "sunbird_api_request_lower_case_fields";
   public static final String ATTRIBUTE = "attribute";
   public static final String ERRORS = "errors";
   public static final String ROLE_LIST = "roleList";
@@ -766,7 +726,7 @@ public final class JsonKey {
 
   public static final String COURSE_BATCH_URL = "courseBatchUrl";
   public static final String SUNBIRD_COURSE_BATCH_NOTIFICATION_SIGNATURE =
-      "sunbird_course_batch_notification_signature";
+          "sunbird_course_batch_notification_signature";
   public static final String SIGNATURE = "signature";
   public static final String OPEN_BATCH_LEARNER_ENROL = "openBatchLearnerEnrol";
   public static final String CONTENT_PROPERTY_MEDIUM = "medium";
@@ -777,12 +737,12 @@ public final class JsonKey {
   public static final String CONTENT_PROPERTY_VISIBILITY_PARENT = "Parent";
   public static final String CONTENT_PROPERTY_MIME_TYPE = "mimeType";
   public static final String CONTENT_MIME_TYPE_COLLECTION =
-      "application/vnd.ekstep.content-collection";
+          "application/vnd.ekstep.content-collection";
   public static final String VERSION_KEY = "versionKey";
   public static final String CSV_SEPERATOR = ",";
   public static final String CONTENT_CLOUD_STORAGE_TYPE = "sunbird_cloud_service_provider";
   public static final String CONTENT_CLOUD_STORAGE_CONTAINER =
-      "sunbird_content_cloud_storage_container";
+          "sunbird_content_cloud_storage_container";
   public static final String AZURE_STR = "azure";
   public static final String AWS_STR = "aws";
   public static final String GCLOUD_STR = "gcloud";
@@ -808,14 +768,14 @@ public final class JsonKey {
   public static final String FILE_DATA = "fileData";
   public static final String FRAMEWORK_METADATA = "frameworkCategories";
   public static final String TEXTBOOK_TOC_ALLOWED_MIMETYPE =
-      "application/vnd.ekstep.content-collection";
+          "application/vnd.ekstep.content-collection";
   public static final String TEXTBOOK_TOC_ALLOWED_CONTNET_TYPES =
-      "textbook_toc_allowed_content_types";
+          "textbook_toc_allowed_content_types";
   public static final String TEXTBOOK_TOC_MAX_CSV_ROWS = "textbook_toc_max_csv_rows";
   public static final String TEXTBOOK_TOC_INPUT_MAPPING = "textbook_toc_input_mapping";
   public static final String NODES_MODIFIED = "nodesModified";
   public static final String TEXT_TOC_FILE_SUPPRESS_COLUMN_NAMES =
-      "textbook_toc_file_suppress_column_names";
+          "textbook_toc_file_suppress_column_names";
   public static final String TEXTBOOK_TOC_MANDATORY_FIELDS = "textbook_toc_mandatory_fields";
   public static final String DOWNLOAD = "download";
   public static final String COLLECTION_MIME_TYPE = "application/vnd.ekstep.content-collection";
@@ -837,12 +797,7 @@ public final class JsonKey {
   public static final String TNC = "tnc";
   public static final String ACCEPT = "accept";
   public static final String ROOT_ORG_NAME = "rootOrgName";
-  public static final String SUNBIRD_OTP_EXPIRATION = "sunbird_otp_expiration";
-  public static final String SUNBIRD_OTP_LENGTH = "sunbird_otp_length";
   public static final String OTP_EXPIRATION_IN_MINUTES = "otpExpiryInMinutes";
-  public static final String SUNBIRD_RATE_LIMIT_ENABLED = "sunbird_rate_limit_enabled";
-  public static final String SUNBIRD_USER_MAX_ENCRYPTION_LIMIT =
-      "sunbird_user_max_encryption_limit";
   public static final String SUNBIRD_USER_MAX_PHONE_LENGTH = "sunbird_user_max_phone_length";
   public static final String RATE_LIMIT = "rate_limit";
   public static final String RATE_LIMIT_UNIT = "unit";
@@ -863,7 +818,6 @@ public final class JsonKey {
   public static final String LINK_DIAL_CODE_API = "sunbird_link_dial_code_api";
   public static final String LINKED_CONTENT = "linkedContent";
   public static final String MAX_ALLOWED_CONTENT_SIZE = "max_allowed_content_size";
-  public static final String SUNBIRD_LINKED_CONTENT_BASE_URL = "sunbird_linked_content_base_url";
   public static final String LINKED_CONTENT_COLUMN_KEY = "Linked Content";
 
   public static final String BATCHES = "batches";
@@ -881,9 +835,9 @@ public final class JsonKey {
   public static final String TERM = "term";
   public static final String DESC = "desc";
   public static final String SUNBIRD_TOC_LINKED_CONTENT_COLUMN_NAME =
-      "sunbird_toc_linked_content_column_name";
+          "sunbird_toc_linked_content_column_name";
   public static final String SUNBIRD_TOC_MAX_FIRST_LEVEL_UNITS =
-      "sunbird_toc_max_first_level_units";
+          "sunbird_toc_max_first_level_units";
   public static final String TEXTBOOK_TOC_OUTPUT_MAPPING = "textbook_toc_output_mapping";
   public static final String TEXTBOOK_UNIT = "TextBookUnit";
   public static final String USER_NAME_HEADER = "User Name";
@@ -902,7 +856,7 @@ public final class JsonKey {
   public static final String SUNBIRD_DIALCODE_SEARCH_API = "sunbird_dialcode_search_api";
   public static final String FROM_BEGINING = "fromBegining";
   public static final String SUNBIRD_KEYCLOAK_USER_FEDERATION_PROVIDER_ID =
-      "sunbird_keycloak_user_federation_provider_id";
+          "sunbird_keycloak_user_federation_provider_id";
   public static final String DEVICE_ID = "did";
   public static final String SUNBIRD_GZIP_FILTER_ENABLED = "sunbird_gzip_filter_enabled";
   public static final String COMPLETED_PERCENT = "completedPercent";
@@ -912,16 +866,9 @@ public final class JsonKey {
   public static final String SUNBIRD_GZIP_ENABLE = "sunbird_gzip_enable";
   public static final String SHOW_DOWNLOAD_LINK = "showDownloadLink";
   public static final String SUNBIRD_SYNC_READ_WAIT_TIME = "sunbird_sync_read_wait_time";
-  public static final String SUNBIRD_COURSE_METRICS_CONTANER = "sunbird_course_metrics_container";
-  public static final String SUNBIRD_COURSE_METRICS_REPORT_FOLDER =
-      "sunbird_course_metrics_report_folder";
-  public static final String SUNBIRD_ASSESSMENT_REPORT_FOLDER = "sunbird_assessment_report_folder";
   public static final String REPORT_UPDATED_ON = "reportUpdatedOn";
   public static final String SUNBIRD_GZIP_SIZE_THRESHOLD = "sunbird_gzip_size_threshold";
-  public static final String ANALYTICS_ACCOUNT_NAME = "sunbird_analytics_blob_account_name";
-  public static final String ANALYTICS_ACCOUNT_KEY = "sunbird_analytics_blob_account_key";
   public static final String PAGE_MANAGEMENT = "page_management";
-  public static final String SUNBIRD_CACHE_ENABLE = "sunbird_cache_enable";
   public static final String MAP_NAME = "mapName";
   public static final String PAGE_ASSEMBLE = "pageAssemble";
   public static final String SIGNUP_TYPE = "signupType";
@@ -931,8 +878,6 @@ public final class JsonKey {
   public static final String RECIPIENT_PHONES = "recipientPhones";
   public static final String TCP = "tcp";
   public static final String REST = "rest";
-  public static final String SUNBIRD_AUDIT_EVENT_BATCH_ALLOWED =
-      "sunbird_audit_event_batch_allowed";
   public static final String ES_OR_OPERATION = "$or";
   public static final String PREV_USED_EMAIL = "prevUsedEmail";
   public static final String PREV_USED_PHONE = "prevUsedPhone";
@@ -942,7 +887,6 @@ public final class JsonKey {
   public static final String MERGEE_ID = "mergeeId";
   public static final String USER_MERGEE_ACCOUNT = "userMergeeAccount";
   public static final String SEARCH_FUZZY = "fuzzy";
-  public static final String SUNBIRD_FUZZY_SEARCH_THRESHOLD = "sunbird_fuzzy_search_threshold";
   public static final String CERT_ID = "certId";
   public static final String ACCESS_CODE = "accessCode";
   public static final String USER_CERT = "user_cert";
@@ -961,13 +905,10 @@ public final class JsonKey {
   public static final String stateImgUrl = "stateImgUrl";
   public static final String dikshaImgUrl = "dikshaImgUrl";
   public static final String certificateImgUrl = "certificateImgUrl";
-  public static final String SUNBIRD_RESET_PASS_MAIL_SUBJECT = "sunbird_reset_pass_mail_subject";
   public static final String X_AUTHENTICATED_USER_TOKEN = "x-authenticated-user-token";
   public static final String X_SOURCE_USER_TOKEN = "x-source-user-token";
   public static final String SUNBIRD_SUBDOMAIN_KEYCLOAK_BASE_URL =
-      "sunbird_subdomain_keycloak_base_url";
-  public static final String SUNBIRD_CERT_SERVICE_BASE_URL = "sunbird_cert_service_base_url";
-  public static final String SUNBIRD_CERT_DOWNLOAD_URI = "sunbird_cert_download_uri";
+          "sunbird_subdomain_keycloak_base_url";
   public static final String ACTION = "action";
   public static final String ITERATION = "iteration";
   public static final String TELEMETRY_TARGET_USER_MERGE_TYPE = "MergeUserCoursesAndCert";
@@ -976,7 +917,6 @@ public final class JsonKey {
   public static final String BE_JOB_REQUEST = "BE_JOB_REQUEST";
   public static final String TELEMETRY_ACTOR_USER_MERGE_ID = "Merge User Courses and Cert";
   public static final String SUNBIRD_COURSE_DIALCODES_DB = "sunbird_course_dialcodes_db";
-  public static final String SUNBIRD_ACCOUNT_MERGE_BODY = "sunbird_account_merge_body";
   public static final String CERTIFICATE = "Certificate";
   public static final String OLD_CERTIFICATE = "oldCertificate";
   public static final String MERGE_CERT = "Mergecert";
@@ -987,9 +927,7 @@ public final class JsonKey {
   public static final String EXTERNAL_USER_ID = "ext user id";
   public static final String EXTERNAL_ORG_ID = "ext org id";
   public static final String MIGRATION_USER_OBJECT = "MigrationUser";
-  public static final String TASK_COUNT = "taskCount";
-  public static final String ERROR_VISUALIZATION_THRESHOLD =
-      "sunbird_user_upload_error_visualization_threshold";
+  public static final String TASK_COUNT = "taskCount";;
   public static final String NESTED_KEY_FILTER = "nestedFilters";
   public static final String SHADOW_USER = "shadow_user";
   public static final String USER_EXT_ID = "userExtId";
@@ -999,9 +937,7 @@ public final class JsonKey {
   public static final String USER_STATUS = "userStatus";
   public static final String CLAIM_STATUS = "claimStatus";
   public static final String CLAIMED_ON = "claimedOn";
-  public static final String SUNBIRD_MIGRATE_USER_BODY = "sunbird_migrate_user_body";
   public static final String SMS = "sms";
-  public static final String SUNBIRD_ACCOUNT_MERGE_SUBJECT = "sunbird_account_merge_subject";
   public static final String CONTEXT_TELEMETRY = "telemetryContext";
   public static final String OLD_ID = "oldId";
   public static final String MAX_ATTEMPT = "maxAttempt";
@@ -1076,6 +1012,6 @@ public final class JsonKey {
   public static final String LAST_CONTENT_ACCESS_TIME = "lastcontentaccesstime";
   public static final String GCP="gcloud";
   public static final String TEMPLATE_URL = "templateUrl";
-
+  public static final String AUTH_ENABLED = "AuthenticationEnabled";
   private JsonKey() {}
 }
diff --git a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/LearnerServiceUrls.java b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/LearnerServiceUrls.java
deleted file mode 100644
index 09d5720be746a97430d67ec75ca67f23bf775a60..0000000000000000000000000000000000000000
--- a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/LearnerServiceUrls.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.sunbird.common.models.util;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class LearnerServiceUrls {
-  public static final String BASE_URL = "sunbird_learner_service_url";
-
-  public static final String PREFIX_ORG_SERVICE = "/api/org";
-
-  public enum Path {
-    API_GW_PATH_READ_ORG("/v1/read"),
-    LOCAL_PATH_READ_ORG("/v1/org/read");
-
-    private final String text;
-
-    Path(final String text) {
-      this.text = text;
-    }
-
-    @Override
-    public String toString() {
-      return text;
-    }
-  }
-
-  public static String getRequestUrl(String baseUrl, String prefix, Path path) {
-    String pathEnumName = path.name();
-
-    if (baseUrl.contains("localhost") || baseUrl.contains("127.0.0.1")) {
-      prefix = "";
-      pathEnumName = pathEnumName.replace("API_GW", "LOCAL");
-    }
-    return String.format("%s%s%s", baseUrl, prefix, Path.valueOf(pathEnumName));
-  }
-
-  public static Map<String, String> getRequestHeaders(Map<String, String[]> inputMap) {
-    Map<String, String> outputMap = new HashMap<>();
-
-    for (Map.Entry<String, String[]> entry : inputMap.entrySet()) {
-      if (entry.getKey().toLowerCase().startsWith("x-")
-          || entry.getKey().equalsIgnoreCase("Authorization")) {
-        if (entry.getValue() != null) {
-          outputMap.put(entry.getKey(), entry.getValue()[0]);
-        }
-      }
-    }
-
-    outputMap.put("Content-Type", "application/json");
-    return outputMap;
-  }
-}
diff --git a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/request/BaseRequestValidator.java b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/request/BaseRequestValidator.java
index 49c9eb4ef9c8d230e06ed259bf8ebb63fbf4e491..22d4f789b364342b683a4bf0db1a89ce385b146e 100644
--- a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/request/BaseRequestValidator.java
+++ b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/java/org/sunbird/common/request/BaseRequestValidator.java
@@ -4,6 +4,8 @@ import java.text.MessageFormat;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+
+import com.typesafe.config.ConfigFactory;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
@@ -493,10 +495,12 @@ public class BaseRequestValidator {
   }
   
   public void validateRequestedBy(String requestedBy) {
-    if(StringUtils.isBlank(requestedBy) || JsonKey.ANONYMOUS.contentEquals(requestedBy)) {
-      throw new ProjectCommonException(ResponseCode.unAuthorized.getErrorCode(),
-              ResponseCode.unAuthorized.getErrorMessage(),
-              ResponseCode.UNAUTHORIZED.getResponseCode());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      if (StringUtils.isBlank(requestedBy) || JsonKey.ANONYMOUS.contentEquals(requestedBy)) {
+        throw new ProjectCommonException(ResponseCode.unAuthorized.getErrorCode(),
+                ResponseCode.unAuthorized.getErrorMessage(),
+                ResponseCode.UNAUTHORIZED.getResponseCode());
+      }
     }
   }
 }
diff --git a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/resources/application.conf b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/resources/application.conf
new file mode 100644
index 0000000000000000000000000000000000000000..b0548ee27a43138daf61ba281094c04ffdc9869c
--- /dev/null
+++ b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/resources/application.conf
@@ -0,0 +1,3 @@
+# This is the main configuration file for the application.
+#optional config for making authentication optional
+AuthenticationEnabled=true
\ No newline at end of file
diff --git a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/resources/externalresource.properties b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/resources/externalresource.properties
index 0cc89165bc8f4172cfcf09882cb041b06280e196..7eff0b2db15f0b861378fd293c2e86d1e4b5e5e6 100644
--- a/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/resources/externalresource.properties
+++ b/course-mw/sunbird-util/sunbird-platform-core/common-util/src/main/resources/externalresource.properties
@@ -1,10 +1,5 @@
-content_url=/content/v3/hierarchy/
 ekstep_content_search_url=/v3/search
-ekstep_telemetry_api_url=/data/v3/telemetry
 ekstep_authorization=
-ekstep_course_publish_url=/content/v3/publish
-ekstep_metrics_api_url=/metrics/consumption/content-usage
-ekstep_es_metrics_api_url=/metrics/creation/content-snapshot
 ekstep.tag.api.url=/tag/register
 ekstep.content.update.url=/system/v3/content/update/
 sunbird_installation=sunbird
@@ -21,94 +16,47 @@ sunbird_mail_server_port=
 sunbird_mail_server_username=
 sunbird_mail_server_password=
 sunbird_mail_server_from_email=support@open-sunbird.org
-sunbird_username_num_digits=4
-ekstep_concept_base_url=/domain/v3/{domain}/concepts/list
-ekstep_domain_url=/domain/v3/list
-quartz_course_batch_timer=0 0 0/4 1/1 * ? *
-quartz_upload_timer=0 0 23 1/1 * ? *
-quartz_course_publish_timer=0 0 0/1 1/1 * ? *
-quartz_matrix_report_timer=0 0 0/4 1/1 * ? *
-quartz_shadow_user_migration_timer=0 0 2 1/1 * ? *
 sunbird_account_name=
 sunbird_account_key=
 download_link_expiry_timeout=300
 sunbird_encryption_key=SunBird
-sunbird_encryption_mode=local
-quartz_metrics_timer =0 0 0/4 * * ? *
 sunbird_encryption=ON
 sunbird_allowed_login=You can use your cellphone number to login
 #size of bulk upload data is 1001 including header in csv file
-sunbird_user_bulk_upload_size=1001
-bulk_upload_org_data_size=300
 bulk_upload_batch_data_size=200
-user_relations=address,education,jobProfile,orgUser
-org_relations=orgUser,address
-batch_relations=
-default_date_range=7
 sunbird_web_url=https://dev.sunbirded.org
-sunbird_app_url=
-sunbird_channel_read_api=/v1/channel/read
-sunbird_framework_read_api=/v1/framework/read
 # background actor modes {local,remote}
 background_actor_provider=remote
 # actor modes {local,remote}
 api_actor_provider=local
 # cassandra modes {standalone,embedded}
 sunbird_cassandra_mode=standalone
-embeddedCassandra_TimeOut=20000000000
-embedded_cassandra_host=127.0.0.1
-embedded_cassandra_port=9142
 #file to load cassandra DB into memory.
-embedded_cql_file_name=cassandra.cql
 fcm.url=https://fcm.googleapis.com/fcm/send
 sunbird_default_country_code=+91
-#put the default evn logo url here or System Env variable with 
+#put the default evn logo url here or System Env variable with
 #same key. code will first search from EVN then here.
 sunbird_env_logo_url=http://via.placeholder.com/100x50
 es_search_url=http://localhost:9200
 es_metrics_port=9200
 system_settings_properties=phoneUnique,emailUnique
-sunbird_default_welcome_sms=Welcome to DIKSHA.
-quartz_update_user_count_timer=0 0 2 1/1 * ? *
 sunbird_url_shortner_base_url=https://api-ssl.bitly.com/v3/shorten?access_token=
 sunbird_url_shortner_access_token=
-ekstep.channel.reg.api.url=/channel/v3/create
-ekstep.channel.list.api.url=/channel/v3/list
-quartz_channel_reg_timer=0 0 1 1/1 * ? *
-sunbird_otp_allowed_attempt=2
-
 #Telemetry producer related info
 telemetry_pdata_id=local.sunbird.learning.service
 telemetry_pdata_pid=learning-service
-telemetry_pdata_ver=5.0.1
+telemetry_pdata_ver=5.1.0
 #elastic search top n result count for telemetry
 searchTopN=5
-telemetry_queue_threshold_value=200
-ekstep.channel.update.api.url=/channel/v3/update
-
-sunbird_learner_service_url=http://localhost:9000
-sunbird_content_read=/content/v3/read
 # Sunbird lms telemetry url
-sunbird_lms_base_url=http://localhost:9000
-sunbird_telemetry_api_path=/v1/telemetry
-sunbird_lms_authorization=
 # Sunbird Installation mail
-sunbird_installation_email=dummy@dummy.org
-sunbird_valid_location_types=state,district,block;cluster
 # Bulk upload file max size in MB
 file_upload_max_size=10
 sunbird_default_channel=
 # Batch size for cassandra batch operation
 cassandra_write_batch_size=100
-sunbird_telemetry_base_url=http://localhost:9000
 sunbird_cs_search_path=/composite/v1/search
 # Sunbird OpenSaber Integration
-sunbird_open_saber_bridge_enable=false
-sunbird_default_user_type=teacher
-sunbird_installation_display_name=sunbird
-sunbird_app_name="Sunbird"
-sunbird_email_max_recipients_limit=100
-sunbird_user_max_encryption_limit=100
 sunbird_sso_client_id=
 sunbird_sso_username=
 sunbird_sso_password=
@@ -117,7 +65,6 @@ sunbird_sso_realm=
 sunbird_keycloak_user_federation_provider_id=
 sunbird_keycloak_required_action_link_expiration_seconds=155520000
 sunbird_url_shortner_enable=false
-sunbird_user_profile_field_default_visibility=public
 sunbird_api_request_lower_case_fields=source,externalId,userName,provider,loginId,email,prevUsedEmail
 # Textbook TOC Api
 sunbird_content_read_api=/content/v3/read
@@ -132,18 +79,11 @@ textbook_toc_mandatory_fields={\"Textbook\":\"Textbook Name\",\"L:1\":\"Level 1
 sunbird_toc_linked_content_column_name=Linked Content {0}
 sunbird_toc_max_first_level_units=30
 # Add proper cloud service provider (azure,aws,gcloud)
-sunbird_content_cloud_storage_type=azure
 # Provide corresponding service provider container(azure,aws,gcloud)
 sunbird_content_cloud_storage_container=sunbird-content-dev
 sunbird_cloud_content_folder=content
-sunbird_otp_expiration=1800
-sunbird_otp_length=6
-sunbird_otp_hour_rate_limit=5
-sunbird_otp_day_rate_limit=20
-sunbird_rate_limit_enabled=true
 framework_read_api_url=/framework/v3/read
 sunbird_link_dial_code_api=/collection/v3/dialcode/link
-sunbird_linked_content_base_url=https://dev.sunbirded.org/play/content/
 textbook_toc_output_mapping={\"identifier\":\"Identifier\",\"frameworkCategories\":{\"board\":\"Board\",\"medium\":\"Medium\",\"gradeLevel\":\"Grade\",\"subject\":\"Subject\"},\"hierarchy\":{\"Textbook\":\"Textbook Name\",\"L:1\":\"Level 1 Textbook Unit\",\"L:2\":\"Level 2 Textbook Unit\",\"L:3\":\"Level 3 Textbook Unit\",\"L:4\":\"Level 4 Textbook Unit\"},\"metadata\":{\"description\":\"Description\",\"topic\":\"Mapped Topics\",\"keywords\":\"Keywords\",\"purpose\":\"Purpose of Content to be linked\",\"dialcodeRequired\":\"QR Code Required?\",\"dialcodes\":\"QR Code\"},\"linkedContent\":{\"Linked Content 1\":\"Linked Content 1\",\"Linked Content 2\":\"Linked Content 2\",\"Linked Content 3\":\"Linked Content 3\",\"Linked Content 4\":\"Linked Content 4\",\"Linked Content 5\":\"Linked Content 5\",\"Linked Content 6\":\"Linked Content 6\",\"Linked Content 7\":\"Linked Content 7\",\"Linked Content 8\":\"Linked Content 8\",\"Linked Content 9\":\"Linked Content 9\",\"Linked Content 10\":\"Linked Content 10\",\"Linked Content 11\":\"Linked Content 11\",\"Linked Content 12\":\"Linked Content 12\",\"Linked Content 13\":\"Linked Content 13\",\"Linked Content 14\":\"Linked Content 14\",\"Linked Content 15\":\"Linked Content 15\",\"Linked Content 16\":\"Linked Content 16\",\"Linked Content 17\":\"Linked Content 17\",\"Linked Content 18\":\"Linked Content 18\",\"Linked Content 19\":\"Linked Content 19\",\"Linked Content 20\":\"Linked Content 20\",\"Linked Content 21\":\"Linked Content 21\",\"Linked Content 22\":\"Linked Content 22\",\"Linked Content 23\":\"Linked Content 23\",\"Linked Content 24\":\"Linked Content 24\",\"Linked Content 25\":\"Linked Content 25\"},\"Linked Content 26\":\"Linked Content 26\",\"Linked Content 27\":\"Linked Content 27\",\"Linked Content 28\":\"Linked Content 28\",\"Linked Content 29\":\"Linked Content 29\",\"Linked Content 30\":\"Linked Content 30\"}
 # For other environments
 sunbird_content_search_url=/v1/content/search
@@ -157,43 +97,24 @@ sunbird_dialcode_search_api=/v1/dialcode/list
 sunbird_cs_base_url=https://dev.sunbirded.org/api
 sunbird_health_check_enable=true
 sunbird_sync_read_wait_time=1500
-sunbird_course_metrics_container=reports
-sunbird_course_metrics_report_folder=course-progress-reports
-sunbird_assessment_report_folder=assessment-reports
 sunbird_gzip_size_threshold=262144
-sunbird_analytics_blob_account_name=
-sunbird_analytics_blob_account_key=
 sunbird_redis_port=6379
 sunbird_redis_host=127.0.0.1
 sunbird_redis_scan_interval=2000
-sunbird_cache_enable=false
 sunbird_redis_connection_pool_size=250
 #kafka_topics_instruction=local.coursebatch.job.request
 kafka_urls=localhost:9092
-sunbird_audit_event_batch_allowed=false
-sunbird_fuzzy_search_threshold=0.5
 sunbird_state_img_url=https://sunbirddev.blob.core.windows.net/orgemailtemplate/img/File-0128212938260643843.png
 sunbird_diksha_img_url=https://sunbirddev.blob.core.windows.net/orgemailtemplate/img/File-0128212989820190722.png
 sunbird_cert_completion_img_url=https://sunbirddev.blob.core.windows.net/orgemailtemplate/img/File-0128212919987568641.png
-sunbird_reset_pass_msg=Your have requested to reset password. Click on the link to set a password: {0}
-sunbird_reset_pass_mail_subject=Reset Password
 sunbird_subdomain_keycloak_base_url=https://merge.dev.sunbirded.org/auth/
 kafka_topics_certificate_instruction=local.issue.certificate.request
 kafka_linger_ms=5
 sunbird_cert_service_base_url=
-sunbird_cert_download_uri=/v1/user/certs/download
 #{0} instancename , {1} toaccountemail or phone in mask , {2} from account email/phone in mask
-sunbird_account_merge_body=All your {0} usage details are merged into your account {1} . The account {2} has been deleted
-sunbird_user_upload_error_visualization_threshold=20001
-sunbird_course_completion_certificate_name=100PercentCompletionCertificate
-sunbird_migrate_user_body=You can now access your {0} state teacher account using {1}. Please log out and login once again to see updated details.
 #kafka_assessment_topic=local.telemetry.assess
-sunbird_account_merge_subject=Account merged successfully
 sunbird_pass_regex=(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[!\"#$%&'()*+,-./:;<=>?@\\[\\]^_`{|}~])(?=\\S+$).{8,}
 sunbird_cert_template_url=/asset/v4/read
-sunbird_user_create_sync_type=ES
-sunbird_user_create_sync_topic=local.user.events
-sigterm_stop_delay=40
 sunbird_user_qrcode_courses_limit=5000
 learning.content.props.to.add=mimeType,contentType,name,code,description,keywords,framework,copyright,topic
 druid_proxy_api_host=localhost
@@ -202,8 +123,6 @@ druid_proxy_api_endpoint=/druid/v2/
 #cert v1 template read url
 sunbird_cert_template_read_url=/cert/v1/template/read
 kafka_assessment_topic=
-sunbird_msg_sender=
-sunbird_msg_91_auth=
 sunbird_api_mgr_base_url=https://dev.sunbirded.org/api
 enrollment_list_size=1000
 cloud_storage_base_url=https://sunbirddev.blob.core.windows.net
diff --git a/service/app/modules/OnRequestHandler.java b/service/app/modules/OnRequestHandler.java
index 04cb11c291ef4de3c9d8e0ec2e18c5547f8d5611..3b963086c3a3d769e0c64aae03ba75e7112ea66d 100644
--- a/service/app/modules/OnRequestHandler.java
+++ b/service/app/modules/OnRequestHandler.java
@@ -2,6 +2,8 @@ package modules;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.typesafe.config.ConfigFactory;
+
 import controllers.BaseController;
 import org.apache.commons.lang3.StringUtils;
 import org.sunbird.auth.verifier.AccessTokenValidator;
@@ -60,10 +62,17 @@ public class OnRequestHandler implements ActionCreator {
       @Override
       public CompletionStage<Result> call(Http.Request request) {
         CompletionStage<Result> result = checkForServiceHealth(request);
-        if (result != null) return result;
+          String message = null;
+          if (result != null) {
+              return result;
+          }
+          if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+              message = RequestInterceptor.verifyRequestData(request);
+          } else {
+              message = JsonKey.ANONYMOUS;
+          }
         // Setting Actual userId (requestedBy) and managed userId (requestedFor) placeholders in flash memory to null before processing.
         // Unauthorized, Anonymous, UserID
-        String message = RequestInterceptor.verifyRequestData(request);
         Optional<String> forAuth = request.header(HeaderParam.X_Authenticated_For.getName());
         String childId = null;
         String loggingHeaders = getLoggingHeaders(request);
diff --git a/service/conf/application.conf b/service/conf/application.conf
index 8a9d2f577279793a3501084a41a86525be0405b9..320b7cd293cc36faca47095b3617ea8a2278ffbe 100644
--- a/service/conf/application.conf
+++ b/service/conf/application.conf
@@ -289,6 +289,8 @@ play.server {
 # ~~~~~
 libraryDependencies += javaWs
 
+AuthenticationEnabled=true
+
 ## Cache
 # https://www.playframework.com/documentation/latest/JavaCache
 # https://www.playframework.com/documentation/latest/ScalaCache
diff --git a/service/test/controllers/LearnerControllerTest.java b/service/test/controllers/LearnerControllerTest.java
index 8678fcc4b0ebe3868caf56d8d90c8c147a5ee11e..d50a543d4c68630823fd566930bc2c15bd6a00b0 100644
--- a/service/test/controllers/LearnerControllerTest.java
+++ b/service/test/controllers/LearnerControllerTest.java
@@ -4,6 +4,8 @@ import static util.TestUtil.mapToJson;
 
 import actors.DummyActor;
 import com.fasterxml.jackson.databind.JsonNode;
+import com.typesafe.config.ConfigFactory;
+
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -79,12 +81,14 @@ public class LearnerControllerTest extends BaseApplicationTest {
 
   @Test
   public void testGetContentStateFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    JsonNode json = createGetContentStateRequest(null, COURSE_ID, BATCH_ID);
-    Http.RequestBuilder req =
-        new Http.RequestBuilder().uri(CONTENT_STATE_READ_URL).bodyJson(json).method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals(401, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      JsonNode json = createGetContentStateRequest(null, COURSE_ID, BATCH_ID);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder().uri(CONTENT_STATE_READ_URL).bodyJson(json).method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(401, result.status());
+    }
   }
 
   @Test
diff --git a/service/test/controllers/cache/CacheControllerTest.java b/service/test/controllers/cache/CacheControllerTest.java
index 81bec93e9dbf2c911d297751a7624cc7600764db..2116c496c8632b332e25d13275bcfb1c5e61e51c 100644
--- a/service/test/controllers/cache/CacheControllerTest.java
+++ b/service/test/controllers/cache/CacheControllerTest.java
@@ -15,6 +15,9 @@ import org.powermock.core.classloader.annotations.SuppressStaticInitializationFo
 import org.powermock.modules.junit4.PowerMockRunner;
 import org.sunbird.common.models.util.JsonKey;
 import org.sunbird.common.request.HeaderParam;
+
+import com.typesafe.config.ConfigFactory;
+
 import play.mvc.Http;
 import play.mvc.Result;
 import play.test.Helpers;
@@ -60,11 +63,13 @@ public class CacheControllerTest extends BaseApplicationTest {
   @Test
   public void testClearCacheUnauth() {
     PowerMockito.mockStatic(RequestInterceptor.class);
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
     PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any()))
         .thenReturn(JsonKey.UNAUTHORIZED);
     Http.RequestBuilder req =
         new Http.RequestBuilder().uri("/v1/cache/clear/" + MAP_NAME).method("DELETE");
     Result result = Helpers.route(application, req);
     Assert.assertEquals(401, result.status());
+    }
   }
 }
diff --git a/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest.java b/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest.java
index cf18197d407077c1d8004e76c0cb9daadd0afb95..58e1fbcc4b75c1b0b11062d50ecf06448e902cb2 100644
--- a/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest.java
+++ b/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest.java
@@ -1,6 +1,8 @@
 package controllers.courseenrollment;
 
 import com.fasterxml.jackson.databind.JsonNode;
+import com.typesafe.config.ConfigFactory;
+
 import controllers.BaseApplicationTest;
 import actors.DummyActor;
 import org.junit.Assert;
@@ -96,14 +98,16 @@ public class CourseEnrollmentControllerTest extends BaseApplicationTest {
 
   @Test
   public void testEnrollCourseBatchFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    Http.RequestBuilder req =
-            new Http.RequestBuilder()
-                    .uri(ENROLL_BATCH_URL)
-                    .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                    .method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals( 401, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder()
+                      .uri(ENROLL_BATCH_URL)
+                      .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                      .method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(401, result.status());
+    }
   }
 
   @Test
@@ -130,14 +134,16 @@ public class CourseEnrollmentControllerTest extends BaseApplicationTest {
 
   @Test
   public void testUnenrollCourseBatchFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    Http.RequestBuilder req =
-            new Http.RequestBuilder()
-                    .uri(UENROLL_BATCH_URL)
-                    .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                    .method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals( 401, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder()
+                      .uri(UENROLL_BATCH_URL)
+                      .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                      .method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(401, result.status());
+    }
   }
 
   @Test
@@ -218,14 +224,16 @@ public class CourseEnrollmentControllerTest extends BaseApplicationTest {
 
   @Test
   public void testAdminEnrollCourseFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    Http.RequestBuilder req =
-            new Http.RequestBuilder()
-                    .uri(ADMIN_ENROLL_BATCH_URL)
-                    .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                    .method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals( 400, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder()
+                      .uri(ADMIN_ENROLL_BATCH_URL)
+                      .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                      .method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(400, result.status());
+    }
   }
 
   @Test
@@ -263,14 +271,16 @@ public class CourseEnrollmentControllerTest extends BaseApplicationTest {
 
   @Test
   public void testAdminUnenrollCourseBatchFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    Http.RequestBuilder req =
-            new Http.RequestBuilder()
-                    .uri(ADMIN_UENROLL_BATCH_URL)
-                    .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                    .method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals( 400, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder()
+                      .uri(ADMIN_UENROLL_BATCH_URL)
+                      .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                      .method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(400, result.status());
+    }
   }
 
   @Test
diff --git a/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest2.java b/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest2.java
index c26048fcffa38d692169e3d71ffe5a3eecd5cb37..eb8bef01ae2fd4ae7ac8bae933f9f7929dc5c8b9 100644
--- a/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest2.java
+++ b/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest2.java
@@ -2,6 +2,8 @@ package controllers.courseenrollment;
 
 import actors.DummyActor;
 import com.fasterxml.jackson.databind.JsonNode;
+import com.typesafe.config.ConfigFactory;
+
 import controllers.BaseApplicationTest;
 import org.junit.Assert;
 import org.junit.Before;
@@ -78,14 +80,16 @@ public class CourseEnrollmentControllerTest2 extends BaseApplicationTest {
 
     @Test
     public void testAdminEnrollCourseFailureWithoutUserId() {
-        PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-        Http.RequestBuilder req =
-                new Http.RequestBuilder()
-                        .uri(ADMIN_ENROLL_BATCH_URL)
-                        .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                        .method("POST");
-        Result result = Helpers.route(application, req);
-        Assert.assertEquals( 400, result.status());
+        if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+            PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+            Http.RequestBuilder req =
+                    new Http.RequestBuilder()
+                            .uri(ADMIN_ENROLL_BATCH_URL)
+                            .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                            .method("POST");
+            Result result = Helpers.route(application, req);
+            Assert.assertEquals(400, result.status());
+        }
     }
 
     @Test
@@ -123,14 +127,16 @@ public class CourseEnrollmentControllerTest2 extends BaseApplicationTest {
 
     @Test
     public void testAdminUnenrollCourseBatchFailureWithoutUserId() {
-        PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-        Http.RequestBuilder req =
-                new Http.RequestBuilder()
-                        .uri(ADMIN_UENROLL_BATCH_URL)
-                        .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                        .method("POST");
-        Result result = Helpers.route(application, req);
-        Assert.assertEquals( 400, result.status());
+        if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+            PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+            Http.RequestBuilder req =
+                    new Http.RequestBuilder()
+                            .uri(ADMIN_UENROLL_BATCH_URL)
+                            .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                            .method("POST");
+            Result result = Helpers.route(application, req);
+            Assert.assertEquals(400, result.status());
+        }
     }
 
     @Test