diff --git a/.circleci/config.yml b/.circleci/config.yml
index 1ed93a10f7caef073bc204abada84940069fa0b9..67e3ef072e0ba5c4c56a4761eaff68ca5ac0378e 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -14,7 +14,7 @@ jobs:
           paths: ~/.m2
       - run:
          name: Analyze on SonarCloud
-         command: mvn verify -DskipTests sonar:sonar -Dsonar.projectKey=project-sunbird_sunbird-lms-service -Dsonar.organization=project-sunbird -Dsonar.host.url=https://sonarcloud.io -Dsonar.coverage.exclusions=**/cassandra-utils/**,**/es-utils/**,**/models/**,**/model/**,**/bean/**,**/dto/**,**/client/**,**/bulkupload/**,**/error/**,**/util/search/** -Dsonar.coverage.jacoco.xmlReportPaths=/home/circleci/project/reports/target/jacoco/jacoco.xml
+         command: mvn verify -DskipTests sonar:sonar -Dsonar.projectKey=project-sunbird_sunbird-lms-service -Dsonar.organization=project-sunbird -Dsonar.host.url=https://sonarcloud.io -Dsonar.coverage.exclusions=**/cassandra-utils/**,**/es-utils/**,**/models/**,**/model/**,**/bean/**,**/dto/**,**/client/**,**/bulkupload/**,**/error/**,**/exception/**,**/util/search/** -Dsonar.coverage.jacoco.xmlReportPaths=/home/circleci/project/reports/target/jacoco/jacoco.xml
 
 workflows:
   version: 2.1
diff --git a/controller/app/controllers/BaseController.java b/controller/app/controllers/BaseController.java
index 9a5339b19fe568b875616d4b8fd49098cf4fdf83..814f52eaccd7d6e251364a8479f5ab4b3df2e92c 100644
--- a/controller/app/controllers/BaseController.java
+++ b/controller/app/controllers/BaseController.java
@@ -452,20 +452,26 @@ public class BaseController extends Controller {
       }
     }
 
-    if (request.path() != null && request.path().startsWith("/v1/otp/verify")) {
-      if ("otpVerificationFailed".equalsIgnoreCase(exception.getResponseCode().name())) {
-        response.getParams().setErr("OTP_VERIFICATION_FAILED");
-        response.getParams().setStatus("OTP_VERIFICATION_FAILED");
-      }
+    if (request.path() != null
+        && request.path().startsWith("/v1/otp/verify")
+        && ("otpVerificationFailed".equalsIgnoreCase(exception.getResponseCode().name()))) {
+      response.getParams().setErr("OTP_VERIFICATION_FAILED");
+      response.getParams().setStatus("OTP_VERIFICATION_FAILED");
     }
 
     if (request.path() != null
         && (request.path().startsWith("/v1/manageduser/create")
-            || request.path().startsWith("/v4/user/create"))) {
-      if ("managedUserLimitExceeded".equalsIgnoreCase(exception.getResponseCode().name())) {
-        response.getParams().setErr("MANAGED_USER_LIMIT_EXCEEDED");
-        response.getParams().setStatus("MANAGED_USER_LIMIT_EXCEEDED");
-      }
+            || request.path().startsWith("/v4/user/create"))
+        && ("managedUserLimitExceeded".equalsIgnoreCase(exception.getResponseCode().name()))) {
+      response.getParams().setErr("MANAGED_USER_LIMIT_EXCEEDED");
+      response.getParams().setStatus("MANAGED_USER_LIMIT_EXCEEDED");
+    }
+
+    if (request.path() != null
+        && (request.path().startsWith("/v1/user/consent/read"))
+        && ("resourceNotFound".equalsIgnoreCase(exception.getResponseCode().name()))) {
+      response.getParams().setErr("USER_CONSENT_NOT_FOUND");
+      response.getParams().setStatus("USER_CONSENT_NOT_FOUND");
     }
   }
 
diff --git a/core/platform-common/src/main/java/org/sunbird/exception/ResponseCode.java b/core/platform-common/src/main/java/org/sunbird/exception/ResponseCode.java
index 5fc7e0cab005e0a314c4e94944808d903ea50c6b..78e6de07cc74922a5e94d3bbb33628159301ef5c 100644
--- a/core/platform-common/src/main/java/org/sunbird/exception/ResponseCode.java
+++ b/core/platform-common/src/main/java/org/sunbird/exception/ResponseCode.java
@@ -84,8 +84,6 @@ public enum ResponseCode {
   dependentParameterMissing(
       ResponseMessage.Key.DEPENDENT_PARAMETER_MISSING,
       ResponseMessage.Message.DEPENDENT_PARAMETER_MISSING),
-  externalIdNotFound(
-      ResponseMessage.Key.EXTERNALID_NOT_FOUND, ResponseMessage.Message.EXTERNALID_NOT_FOUND),
   externalIdAssignedToOtherUser(
       ResponseMessage.Key.EXTERNALID_ASSIGNED_TO_OTHER_USER,
       ResponseMessage.Message.EXTERNALID_ASSIGNED_TO_OTHER_USER),
@@ -147,7 +145,6 @@ public enum ResponseCode {
   recoveryParamsMatchException(
       ResponseMessage.Key.RECOVERY_PARAM_MATCH_EXCEPTION,
       ResponseMessage.Message.RECOVERY_PARAM_MATCH_EXCEPTION),
-  accountNotFound(ResponseMessage.Key.ACCOUNT_NOT_FOUND, ResponseMessage.Message.ACCOUNT_NOT_FOUND),
   passwordValidation(
       ResponseMessage.Key.INVALID_PASSWORD, ResponseMessage.Message.INVALID_PASSWORD),
   otpVerificationFailed(
diff --git a/core/platform-common/src/main/java/org/sunbird/exception/ResponseMessage.java b/core/platform-common/src/main/java/org/sunbird/exception/ResponseMessage.java
index f6266e30001aee77d72d79c77a116a9c94a050db..96c9eb70d20980fb11e69951c07904c96a50e240 100644
--- a/core/platform-common/src/main/java/org/sunbird/exception/ResponseMessage.java
+++ b/core/platform-common/src/main/java/org/sunbird/exception/ResponseMessage.java
@@ -98,7 +98,6 @@ public interface ResponseMessage {
     String PARAM_NOT_MATCH = "%s-NOT-MATCH";
     String MANDATORY_HEADER_PARAMETER_MISSING = "Mandatory header parameter {0} is missing.";
     String RECOVERY_PARAM_MATCH_EXCEPTION = "{0} could not be same as {1}";
-    String ACCOUNT_NOT_FOUND = "Account not found.";
     String INVALID_PASSWORD =
         "Password must contain a minimum of 8 characters including numerals, lower and upper case alphabets and special characters";
     String OTP_VERIFICATION_FAILED = "OTP verification failed. Remaining attempt count is {0}.";
@@ -157,42 +156,40 @@ public interface ResponseMessage {
     String EMPTY_HEADER_LINE = "0039";
     String ROOT_ORG_ASSOCIATION_ERROR = "0040";
     String DEPENDENT_PARAMETER_MISSING = "0041";
-    String EXTERNALID_NOT_FOUND = "0042";
-    String EXTERNALID_ASSIGNED_TO_OTHER_USER = "0043";
-    String DUPLICATE_EXTERNAL_IDS = "0044";
-    String EMAIL_RECIPIENTS_EXCEEDS_MAX_LIMIT = "0045";
-    String PARAMETER_MISMATCH = "0046";
-    String ERROR_CONFIG_LOAD_EMPTY_STRING = "0047";
-    String ERROR_CONFIG_LOAD_PARSE_STRING = "0048";
-    String ERROR_CONFIG_LOAD_EMPTY_CONFIG = "0049";
-    String ERROR_NO_ROOT_ORG_ASSOCIATED = "0050";
-    String ERROR_UNSUPPORTED_CLOUD_STORAGE = "0051";
-    String ERROR_UNSUPPORTED_FIELD = "0052";
-    String INVALID_PROPERTY_ERROR = "0053";
-    String ERROR_INACTIVE_ORG = "0054";
-    String ERROR_DUPLICATE_ENTRIES = "0055";
-    String ERROR_CONFLICTING_VALUES = "0056";
-    String ERROR_CONFLICTING_ROOT_ORG_ID = "0057";
-    String ERROR_INVALID_OTP = "0058";
-    String ERROR_INVALID_PARAMETER_SIZE = "0059";
-    String ERROR_RATE_LIMIT_EXCEEDED = "0060";
-    String ERROR_USER_MIGRATION_FAILED = "0061";
-    String MANDATORY_HEADER_PARAMETER_MISSING = "0062";
-    String RECOVERY_PARAM_MATCH_EXCEPTION = "0063";
-    String OTP_VERIFICATION_FAILED = "0064";
-    String SERVICE_UNAVAILABLE = "0065";
-    String MANAGED_BY_NOT_ALLOWED = "0066";
-    String MANAGED_USER_LIMIT_EXCEEDED = "0067";
-    String PREFERENCE_ALREADY_EXIST = "0068";
-    String DECLARED_USER_ERROR_STATUS_IS_NOT_UPDATED = "0069";
-    String PREFERENCE_NOT_FOUND = "0070";
-    String DECLARED_USER_VALIDATED_STATUS_IS_NOT_UPDATED = "0071";
-    String SERVER_ERROR = JsonKey.USER_ORG_SERVICE_PREFIX + "0072";
-    String UNAUTHORIZED_USER = JsonKey.USER_ORG_SERVICE_PREFIX + "0073";
-    String FORBIDDEN = "0074";
-    String INVALID_OBJECT_TYPE = "0075";
-    String INACTIVE_USER = "0076";
-    String INVALID_CSV_FILE = "0077";
-    String ACCOUNT_NOT_FOUND = "0078";
+    String EXTERNALID_ASSIGNED_TO_OTHER_USER = "0042";
+    String DUPLICATE_EXTERNAL_IDS = "0043";
+    String EMAIL_RECIPIENTS_EXCEEDS_MAX_LIMIT = "0044";
+    String PARAMETER_MISMATCH = "0045";
+    String ERROR_CONFIG_LOAD_EMPTY_STRING = "0046";
+    String ERROR_CONFIG_LOAD_PARSE_STRING = "0047";
+    String ERROR_CONFIG_LOAD_EMPTY_CONFIG = "0048";
+    String ERROR_NO_ROOT_ORG_ASSOCIATED = "0049";
+    String ERROR_UNSUPPORTED_CLOUD_STORAGE = "0050";
+    String ERROR_UNSUPPORTED_FIELD = "0051";
+    String INVALID_PROPERTY_ERROR = "0052";
+    String ERROR_INACTIVE_ORG = "0053";
+    String ERROR_DUPLICATE_ENTRIES = "0054";
+    String ERROR_CONFLICTING_VALUES = "0055";
+    String ERROR_CONFLICTING_ROOT_ORG_ID = "0056";
+    String ERROR_INVALID_OTP = "0057";
+    String ERROR_INVALID_PARAMETER_SIZE = "0058";
+    String ERROR_RATE_LIMIT_EXCEEDED = "0059";
+    String ERROR_USER_MIGRATION_FAILED = "0060";
+    String MANDATORY_HEADER_PARAMETER_MISSING = "0061";
+    String RECOVERY_PARAM_MATCH_EXCEPTION = "0062";
+    String OTP_VERIFICATION_FAILED = "0063";
+    String SERVICE_UNAVAILABLE = "0064";
+    String MANAGED_BY_NOT_ALLOWED = "0065";
+    String MANAGED_USER_LIMIT_EXCEEDED = "0066";
+    String PREFERENCE_ALREADY_EXIST = "0067";
+    String DECLARED_USER_ERROR_STATUS_IS_NOT_UPDATED = "0068";
+    String PREFERENCE_NOT_FOUND = "0069";
+    String DECLARED_USER_VALIDATED_STATUS_IS_NOT_UPDATED = "0070";
+    String SERVER_ERROR = JsonKey.USER_ORG_SERVICE_PREFIX + "0071";
+    String UNAUTHORIZED_USER = JsonKey.USER_ORG_SERVICE_PREFIX + "0072";
+    String FORBIDDEN = "0073";
+    String INVALID_OBJECT_TYPE = "0074";
+    String INACTIVE_USER = "0075";
+    String INVALID_CSV_FILE = "0076";
   }
 }
diff --git a/service/src/main/java/org/sunbird/actor/user/UserExternalIdManagementActor.java b/service/src/main/java/org/sunbird/actor/user/UserExternalIdManagementActor.java
index ba5594c8177670047ba9ee95d793bd845176d94d..6e42bf9e6ef6c7d6b56c7cad529a365a740475f9 100644
--- a/service/src/main/java/org/sunbird/actor/user/UserExternalIdManagementActor.java
+++ b/service/src/main/java/org/sunbird/actor/user/UserExternalIdManagementActor.java
@@ -14,6 +14,7 @@ import org.sunbird.actor.core.BaseActor;
 import org.sunbird.cassandra.CassandraOperation;
 import org.sunbird.exception.ProjectCommonException;
 import org.sunbird.exception.ResponseCode;
+import org.sunbird.exception.ResponseMessage;
 import org.sunbird.helper.ServiceFactory;
 import org.sunbird.keys.JsonKey;
 import org.sunbird.operations.ActorOperations;
@@ -182,10 +183,10 @@ public class UserExternalIdManagementActor extends BaseActor {
 
   private void throwExternalIDNotFoundException(String externalId, String idType, String provider) {
     throw new ProjectCommonException(
-        ResponseCode.externalIdNotFound,
+        ResponseCode.resourceNotFound,
         ProjectUtil.formatMessage(
-            ResponseCode.externalIdNotFound.getErrorMessage(), externalId, idType, provider),
-        ResponseCode.CLIENT_ERROR.getResponseCode());
+            ResponseMessage.Message.EXTERNALID_NOT_FOUND, externalId, idType, provider),
+        ResponseCode.RESOURCE_NOT_FOUND.getResponseCode());
   }
 
   private Map<String, Object> upsertUserExternalIdentityData(
diff --git a/service/src/main/java/org/sunbird/actor/user/UserMergeActor.java b/service/src/main/java/org/sunbird/actor/user/UserMergeActor.java
index 602e93b41eae92fdfd0b834bc23fd70354ea7ceb..bdd928112902195705ab5fcdc448880d4afe2f6f 100644
--- a/service/src/main/java/org/sunbird/actor/user/UserMergeActor.java
+++ b/service/src/main/java/org/sunbird/actor/user/UserMergeActor.java
@@ -4,6 +4,7 @@ import akka.actor.ActorRef;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.typesafe.config.Config;
 import java.io.IOException;
+import java.text.MessageFormat;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -98,10 +99,10 @@ public class UserMergeActor extends UserBaseActor {
               + mergeeId
               + "or matching with mergerid root-org"
               + mergerId);
-      throw new ProjectCommonException(
-          ResponseCode.accountNotFound,
-          ResponseCode.accountNotFound.getErrorMessage(),
-          ResponseCode.CLIENT_ERROR.getResponseCode());
+      ProjectCommonException.throwClientErrorException(
+          ResponseCode.parameterMismatch,
+          MessageFormat.format(
+              ResponseCode.parameterMismatch.getErrorMessage(), "merger and mergee rootOrgId"));
     }
     if (!mergee.getIsDeleted()) {
       prepareMergeeAccountData(mergee, mergeeDBMap);
diff --git a/service/src/main/java/org/sunbird/actor/user/UserProfileReadActor.java b/service/src/main/java/org/sunbird/actor/user/UserProfileReadActor.java
index 0ad586697ccaf803892c8065b9530a9635caf1ac..e07a5b9a7c7c8b37f8b0d11bb9a0d8d97cb660fc 100644
--- a/service/src/main/java/org/sunbird/actor/user/UserProfileReadActor.java
+++ b/service/src/main/java/org/sunbird/actor/user/UserProfileReadActor.java
@@ -98,9 +98,8 @@ public class UserProfileReadActor extends BaseActor {
       sender().tell(response, self());
     } else {
       ProjectCommonException.throwResourceNotFoundException(
-        ResponseCode.resourceNotFound,
-        MessageFormat.format(
-          ResponseCode.resourceNotFound.getErrorMessage(), JsonKey.USER));
+          ResponseCode.resourceNotFound,
+          MessageFormat.format(ResponseCode.resourceNotFound.getErrorMessage(), value));
     }
   }
 }
diff --git a/service/src/main/java/org/sunbird/service/user/UserProfileReadService.java b/service/src/main/java/org/sunbird/service/user/UserProfileReadService.java
index 0862d8fea1290fc19d0278d5332a45a5bfee25cc..eefcafcbcb269d8fe38c70bf14a6c72442578c81 100644
--- a/service/src/main/java/org/sunbird/service/user/UserProfileReadService.java
+++ b/service/src/main/java/org/sunbird/service/user/UserProfileReadService.java
@@ -11,6 +11,7 @@ import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.sunbird.exception.ProjectCommonException;
 import org.sunbird.exception.ResponseCode;
+import org.sunbird.exception.ResponseMessage;
 import org.sunbird.keys.JsonKey;
 import org.sunbird.logging.LoggerUtil;
 import org.sunbird.model.organisation.OrgTypeEnum;
@@ -38,7 +39,7 @@ public class UserProfileReadService {
   private final UserSelfDeclarationService userSelfDeclarationService =
       UserSelfDeclarationServiceImpl.getInstance();
   private final UserExternalIdentityService userExternalIdentityService =
-      new UserExternalIdentityServiceImpl();
+    UserExternalIdentityServiceImpl.getInstance();
   private final ObjectMapper mapper = new ObjectMapper();
 
   public Response getUserProfileData(Request actorMessage) {
@@ -326,10 +327,11 @@ public class UserProfileReadService {
         userExternalIdentityService.getUserV1(
             id, provider, idType, actorMessage.getRequestContext());
     if (StringUtils.isBlank(userId)) {
-      ProjectCommonException.throwClientErrorException(
-          ResponseCode.externalIdNotFound,
+      throw new ProjectCommonException(
+          ResponseCode.resourceNotFound,
           ProjectUtil.formatMessage(
-              ResponseCode.externalIdNotFound.getErrorMessage(), id, idType, provider));
+              ResponseMessage.Message.EXTERNALID_NOT_FOUND, id, idType, provider),
+          ResponseCode.RESOURCE_NOT_FOUND.getResponseCode());
     }
     return userId;
   }
diff --git a/service/src/main/java/org/sunbird/service/user/impl/UserExternalIdentityServiceImpl.java b/service/src/main/java/org/sunbird/service/user/impl/UserExternalIdentityServiceImpl.java
index f71edf9e66b72cf5aa803ba5d70a96420a5c1aa9..378c454a36959a3c34402aeeb36ddc24bcacb87e 100644
--- a/service/src/main/java/org/sunbird/service/user/impl/UserExternalIdentityServiceImpl.java
+++ b/service/src/main/java/org/sunbird/service/user/impl/UserExternalIdentityServiceImpl.java
@@ -20,6 +20,14 @@ import org.sunbird.util.user.UserUtil;
 public class UserExternalIdentityServiceImpl implements UserExternalIdentityService {
   private final UserExternalIdentityDao userExternalIdentityDao = new UserExternalIdentityDaoImpl();
   private final LocationService locationService = LocationServiceImpl.getInstance();
+  private static UserExternalIdentityService selfDeclarationService = null;
+  
+  public static UserExternalIdentityService getInstance() {
+    if (selfDeclarationService == null) {
+      selfDeclarationService = new UserExternalIdentityServiceImpl();
+    }
+    return selfDeclarationService;
+  }
 
   @Override
   public List<Map<String, String>> getSelfDeclaredDetails(String userId, RequestContext context) {
diff --git a/service/src/main/java/org/sunbird/service/user/impl/UserLookUpServiceImpl.java b/service/src/main/java/org/sunbird/service/user/impl/UserLookUpServiceImpl.java
index d351604f8fa55755cb41dddd9e9ca91da86e0638..19050b876f5dc1a90dbb8d9f122cf2e1803bdf6b 100644
--- a/service/src/main/java/org/sunbird/service/user/impl/UserLookUpServiceImpl.java
+++ b/service/src/main/java/org/sunbird/service/user/impl/UserLookUpServiceImpl.java
@@ -249,9 +249,9 @@ public class UserLookUpServiceImpl implements UserLookupService {
   private static void throwExternalIDNotFoundException(
       String externalId, String idType, String provider) {
     throw new ProjectCommonException(
-        ResponseCode.externalIdNotFound,
+        ResponseCode.resourceNotFound,
         ProjectUtil.formatMessage(
-            ResponseCode.externalIdNotFound.getErrorMessage(), externalId, idType, provider),
-        ResponseCode.CLIENT_ERROR.getResponseCode());
+            ResponseMessage.Message.EXTERNALID_NOT_FOUND, externalId, idType, provider),
+        ResponseCode.RESOURCE_NOT_FOUND.getResponseCode());
   }
 }
diff --git a/service/src/main/java/org/sunbird/util/user/UserUtil.java b/service/src/main/java/org/sunbird/util/user/UserUtil.java
index 9c94d37ea6deb7898759cdf61e830b779d88bb20..0ed4bde5bb6b71f92eb74432664a10c3b2f1d2aa 100644
--- a/service/src/main/java/org/sunbird/util/user/UserUtil.java
+++ b/service/src/main/java/org/sunbird/util/user/UserUtil.java
@@ -24,6 +24,7 @@ import org.sunbird.datasecurity.EncryptionService;
 import org.sunbird.dto.SearchDTO;
 import org.sunbird.exception.ProjectCommonException;
 import org.sunbird.exception.ResponseCode;
+import org.sunbird.exception.ResponseMessage;
 import org.sunbird.keys.JsonKey;
 import org.sunbird.logging.LoggerUtil;
 import org.sunbird.model.user.User;
@@ -145,10 +146,11 @@ public class UserUtil {
         && StringUtils.isNotEmpty(idType)) {
       user = getUserFromExternalId(userMap, context);
       if (MapUtils.isEmpty(user)) {
-        ProjectCommonException.throwClientErrorException(
-            ResponseCode.externalIdNotFound,
+        throw new ProjectCommonException(
+            ResponseCode.resourceNotFound,
             ProjectUtil.formatMessage(
-                ResponseCode.externalIdNotFound.getErrorMessage(), extId, idType, provider));
+                ResponseMessage.Message.EXTERNALID_NOT_FOUND, extId, idType, provider),
+            ResponseCode.RESOURCE_NOT_FOUND.getResponseCode());
       }
     } else if (StringUtils.isNotBlank((String) userMap.get(JsonKey.USER_ID))
         || StringUtils.isNotBlank((String) userMap.get(JsonKey.ID))) {
@@ -520,10 +522,10 @@ public class UserUtil {
   private static void throwExternalIDNotFoundException(
       String externalId, String idType, String provider) {
     throw new ProjectCommonException(
-        ResponseCode.externalIdNotFound,
+        ResponseCode.resourceNotFound,
         ProjectUtil.formatMessage(
-            ResponseCode.externalIdNotFound.getErrorMessage(), externalId, idType, provider),
-        ResponseCode.CLIENT_ERROR.getResponseCode());
+            ResponseMessage.Message.EXTERNALID_NOT_FOUND, externalId, idType, provider),
+        ResponseCode.RESOURCE_NOT_FOUND.getResponseCode());
   }
 
   public static List<Map<String, String>> getExternalIds(
diff --git a/service/src/test/java/org/sunbird/actor/user/UserMergeActorTest.java b/service/src/test/java/org/sunbird/actor/user/UserMergeActorTest.java
index a192cf5a4fc491e9dc729695b86706604e240ed1..8685039e396c0dc70271e15cc1ffc9e94fb5468c 100644
--- a/service/src/test/java/org/sunbird/actor/user/UserMergeActorTest.java
+++ b/service/src/test/java/org/sunbird/actor/user/UserMergeActorTest.java
@@ -133,6 +133,24 @@ public class UserMergeActorTest {
     boolean result = testScenario(getRequest(ActorOperations.MERGE_USER), null);
     assertTrue(result);
   }
+  
+  @Test
+  public void testParameterMismatchMergeUser() throws Exception {
+    when(userService.getUserById(Mockito.anyString(), Mockito.any()))
+      .thenReturn(getUserDetails(false))
+      .thenReturn(getUserDetails(false));
+    when(userDao.updateUser(Mockito.anyMap(), Mockito.any())).thenReturn(getSuccessResponse());
+    when(tokenValidator.verifyUserToken(Mockito.anyString(), Mockito.anyMap()))
+      .thenReturn("anyUserId");
+    when(tokenValidator.verifySourceUserToken(
+      Mockito.anyString(), Mockito.anyString(), Mockito.anyMap()))
+      .thenReturn("anyUserId");
+    Map<String, String> configMap = configSettingsMap();
+    configMap.put(JsonKey.CUSTODIAN_ORG_ID, "orgId");
+    when(DataCacheHandler.getConfigSettings()).thenReturn(configMap);
+    boolean result = testScenario(getRequest(ActorOperations.MERGE_USER), ResponseCode.parameterMismatch);
+    assertTrue(result);
+  }
 
   private Map<String, String> configSettingsMap() {
     Map<String, String> configMap = new HashMap<>();
diff --git a/service/src/test/java/org/sunbird/actor/user/UserProfileReadActorTest.java b/service/src/test/java/org/sunbird/actor/user/UserProfileReadActorTest.java
index 1b21b1e8e56cdc8ffd7901bbb9ee34515fe5f27e..5d852e6f0d14a09e46b4b40b5fd2fa21cb3c9095 100644
--- a/service/src/test/java/org/sunbird/actor/user/UserProfileReadActorTest.java
+++ b/service/src/test/java/org/sunbird/actor/user/UserProfileReadActorTest.java
@@ -291,7 +291,7 @@ public class UserProfileReadActorTest {
     Request reqObj = getProfileReadV1request(VALID_USER_ID);
     Map<String, Object> req = new HashMap<>();
     req.put(JsonKey.USER_ID, VALID_USER_ID);
-    boolean result = testScenario(reqObj, ResponseCode.externalIdNotFound);
+    boolean result = testScenario(reqObj, ResponseCode.resourceNotFound);
     assertTrue(result);
   }
 
diff --git a/service/src/test/java/org/sunbird/service/user/UserProfileReadServiceTest.java b/service/src/test/java/org/sunbird/service/user/UserProfileReadServiceTest.java
index 83e84633569b43572fb8d84ffe7e276e3c9d28cd..0889b32b399232cde8ce5af80938ac3812c62147 100644
--- a/service/src/test/java/org/sunbird/service/user/UserProfileReadServiceTest.java
+++ b/service/src/test/java/org/sunbird/service/user/UserProfileReadServiceTest.java
@@ -40,6 +40,7 @@ import org.sunbird.model.user.User;
 import org.sunbird.operations.ActorOperations;
 import org.sunbird.request.Request;
 import org.sunbird.response.Response;
+import org.sunbird.service.user.impl.UserExternalIdentityServiceImpl;
 import org.sunbird.util.DataCacheHandler;
 import org.sunbird.util.UserUtility;
 import org.sunbird.util.Util;
@@ -62,7 +63,9 @@ import scala.concurrent.Promise;
   EsClientFactory.class,
   ElasticSearchHelper.class,
   UserRoleDao.class,
-  UserRoleDaoImpl.class
+  UserRoleDaoImpl.class,
+  UserExternalIdentityServiceImpl.class,
+  UserProfileReadService.class
 })
 @PowerMockIgnore({
   "javax.management.*",
@@ -328,6 +331,24 @@ public class UserProfileReadServiceTest {
       Assert.assertEquals(ex.getErrorCode(), ResponseCode.userAccountlocked.getErrorCode());
     }
   }
+  
+  @Test
+  public void getUserIdByExternalIdTest() {
+    UserProfileReadService userProfileReadService = new UserProfileReadService();
+    Request request = getProfileReadRequest("1234567890");
+    request.getContext().put(JsonKey.PROVIDER, "4578963210");
+    request.getContext().put(JsonKey.ID_TYPE, "4578963210");
+    PowerMockito.mockStatic(UserExternalIdentityServiceImpl.class);
+    UserExternalIdentityServiceImpl userExternalIdentityService = PowerMockito.mock(UserExternalIdentityServiceImpl.class);
+    when(UserExternalIdentityServiceImpl.getInstance()).thenReturn(userExternalIdentityService);
+    when(userExternalIdentityService.getUserV1(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any())).thenReturn("");
+    try {
+      userProfileReadService.getUserProfileData(request);
+    } catch (ProjectCommonException ex) {
+      Assert.assertNotNull(ex);
+      Assert.assertEquals(ex.getErrorCode(), ResponseCode.resourceNotFound.getErrorCode());
+    }
+  }
 
   private Request getProfileReadRequest(String userId) {
     Request reqObj = new Request();
diff --git a/service/src/test/java/org/sunbird/util/user/UserLookupTest.java b/service/src/test/java/org/sunbird/util/user/UserLookupTest.java
index f81e9c8df5032db540f25251bd0e69f949a3fc3d..58ae8d172ccb906d9964fe65ba66c369db771307 100644
--- a/service/src/test/java/org/sunbird/util/user/UserLookupTest.java
+++ b/service/src/test/java/org/sunbird/util/user/UserLookupTest.java
@@ -185,7 +185,7 @@ public class UserLookupTest {
       user.getExternalIds().get(0).put(JsonKey.OPERATION, JsonKey.UPDATE);
       new UserLookUpServiceImpl().checkExternalIdUniqueness(user, JsonKey.UPDATE, null);
     } catch (ProjectCommonException e) {
-      assertEquals(ResponseCode.externalIdNotFound.getErrorCode(), e.getErrorCode());
+      assertEquals(ResponseCode.resourceNotFound.getErrorCode(), e.getErrorCode());
     }
   }
 
@@ -208,7 +208,7 @@ public class UserLookupTest {
       user.getExternalIds().get(0).put(JsonKey.OPERATION, JsonKey.REMOVE);
       new UserLookUpServiceImpl().checkExternalIdUniqueness(user, JsonKey.UPDATE, null);
     } catch (ProjectCommonException e) {
-      assertEquals(ResponseCode.externalIdNotFound.getErrorCode(), e.getErrorCode());
+      assertEquals(ResponseCode.resourceNotFound.getErrorCode(), e.getErrorCode());
     }
   }
 }
diff --git a/service/src/test/java/org/sunbird/util/user/UserUtilTest.java b/service/src/test/java/org/sunbird/util/user/UserUtilTest.java
index a29915ec3ce152291b53ee56a2c19eed346a11fa..868fbb81c39f027ba79a151fdf990acfad67c566 100644
--- a/service/src/test/java/org/sunbird/util/user/UserUtilTest.java
+++ b/service/src/test/java/org/sunbird/util/user/UserUtilTest.java
@@ -164,6 +164,28 @@ public class UserUtilTest {
     Assert.assertEquals("add", userDeclareEntityList.get(0).getOperation());
   }
 
+  @Test(expected = Exception.class)
+  public void testValidateExternalIdsAndReturnActiveUser() {
+    beforeEachTest();
+    Map<String, Object> requestMap = new HashMap<>();
+    requestMap.put(JsonKey.EXTERNAL_ID, "extId");
+    requestMap.put(JsonKey.EXTERNAL_ID_PROVIDER, "provider");
+    requestMap.put(JsonKey.EXTERNAL_ID_TYPE, "idType");
+
+    Response response = new Response();
+    List<Map<String, Object>> resList = new ArrayList<>();
+    Map<String, Object> res = new HashMap<>();
+    resList.add(res);
+    response.getResult().put(JsonKey.RESPONSE, resList);
+    when(cassandraOperationImpl.getRecordsByCompositeKey(
+            Mockito.anyString(),
+            Mockito.anyString(),
+            Mockito.anyMap(),
+            Mockito.any(RequestContext.class)))
+        .thenReturn(response);
+    UserUtil.validateExternalIdsAndReturnActiveUser(requestMap, new RequestContext());
+  }
+
   @Test
   public void testfetchOrgIdByProvider() {
     beforeEachTest();