diff --git a/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionActor.scala b/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionActor.scala
index 8f429f13aed9e6103f4b4bb587cecd8155056367..3f0ed87fcb1437c297a0ffddc7aa44b1fc3d7849 100644
--- a/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionActor.scala
+++ b/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionActor.scala
@@ -85,7 +85,8 @@ class QuestionActor @Inject()(implicit oec: OntologyEngineContext) extends BaseA
 		val propsToRemove = Platform.getStringList("import.remove_props.question", java.util.Arrays.asList()).asScala.toList
 		val topicName = Platform.config.getString("import.output_topic_name")
 		val reqLimit = Platform.getInteger("import.request_size_limit", 200)
-		ImportConfig(topicName, reqLimit, requiredProps, validStages, propsToRemove)
+		val validSourceStatus = Platform.getStringList("import.valid_source_status", java.util.Arrays.asList("Live", "Unlisted")).asScala.toList
+		ImportConfig(topicName, reqLimit, requiredProps, validStages, propsToRemove, validSourceStatus)
 	}
 
 	def systemUpdate(request: Request): Future[Response] = {
diff --git a/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionSetActor.scala b/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionSetActor.scala
index f5b5742d91f31af26f23b1de5bf1f0aed548313c..7ce6838699a399dfecca23c406ec9edf61e2419c 100644
--- a/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionSetActor.scala
+++ b/assessment-api/assessment-actors/src/main/scala/org/sunbird/actors/QuestionSetActor.scala
@@ -135,7 +135,8 @@ class QuestionSetActor @Inject()(implicit oec: OntologyEngineContext) extends Ba
 		val propsToRemove = Platform.getStringList("import.remove_props.questionset", java.util.Arrays.asList()).asScala.toList
 		val topicName = Platform.config.getString("import.output_topic_name")
 		val reqLimit = Platform.getInteger("import.request_size_limit", 200)
-		ImportConfig(topicName, reqLimit, requiredProps, validStages, propsToRemove)
+		val validSourceStatus = Platform.getStringList("import.valid_source_status", java.util.Arrays.asList("Live", "Unlisted")).asScala.toList
+		ImportConfig(topicName, reqLimit, requiredProps, validStages, propsToRemove, validSourceStatus)
 	}
 
 	def systemUpdate(request: Request): Future[Response] = {
diff --git a/assessment-api/assessment-actors/src/test/scala/org/sunbird/actors/QuestionActorTest.scala b/assessment-api/assessment-actors/src/test/scala/org/sunbird/actors/QuestionActorTest.scala
index 3adc821102999e3c2c43922061045cc22d7264b7..67c2f62af48c56155a04dd470a6268eb8d100a13 100644
--- a/assessment-api/assessment-actors/src/test/scala/org/sunbird/actors/QuestionActorTest.scala
+++ b/assessment-api/assessment-actors/src/test/scala/org/sunbird/actors/QuestionActorTest.scala
@@ -214,13 +214,14 @@ class QuestionActorTest extends BaseSpec with MockFactory {
 		resp.put("question", new util.HashMap[String, AnyRef](){{
 			put("framework", "NCF")
 			put("channel", "test")
+			put("status", "Live")
 		}})
 		(hUtil.get(_: String, _: String, _: util.Map[String, String])).expects(*, *, *).returns(resp)
 		(oec.kafkaClient _).expects().returns(kfClient)
 		(kfClient.send(_: String, _: String)).expects(*, *).returns(None)
 		val request = getQuestionRequest()
 		request.getRequest.put("question", new util.HashMap[String, AnyRef](){{
-			put("source", "https://dock.sunbirded.org/api/question/v1/read/do_11307822356267827219477")
+			put("source", "https://dock.sunbirded.org/api/question/v1/read/do_113486481122729984143")
 			put("metadata", new util.HashMap[String, AnyRef](){{
 				put("name", "Test Question")
 				put("description", "Test Question")
diff --git a/assessment-api/assessment-actors/src/test/scala/org/sunbird/actors/QuestionSetActorTest.scala b/assessment-api/assessment-actors/src/test/scala/org/sunbird/actors/QuestionSetActorTest.scala
index 74f7d2dad358dbae24867b5f2f9cb12c2df7cf0a..3f94322b8a9b99c18e8ee2fb07a0f14ec3934a05 100644
--- a/assessment-api/assessment-actors/src/test/scala/org/sunbird/actors/QuestionSetActorTest.scala
+++ b/assessment-api/assessment-actors/src/test/scala/org/sunbird/actors/QuestionSetActorTest.scala
@@ -427,13 +427,14 @@ class QuestionSetActorTest extends BaseSpec with MockFactory {
         resp.put("questionset", new util.HashMap[String, AnyRef](){{
             put("framework", "NCF")
             put("channel", "test")
+            put("status", "Live")
         }})
         (hUtil.get(_: String, _: String, _: util.Map[String, String])).expects(*, *, *).returns(resp)
         (oec.kafkaClient _).expects().returns(kfClient)
         (kfClient.send(_: String, _: String)).expects(*, *).returns(None)
         val request = getQuestionSetRequest()
         request.getRequest.put("questionset", new util.HashMap[String, AnyRef](){{
-            put("source", "https://dock.sunbirded.org/api/questionset/v1/read/do_11307822356267827219477")
+            put("source", "https://dock.sunbirded.org/api/questionset/v1/read/do_113486480153952256140")
             put("metadata", new util.HashMap[String, AnyRef](){{
                 put("name", "Test QuestionSet")
                 put("description", "Test QuestionSet")
diff --git a/content-api/content-actors/src/main/scala/org/sunbird/content/actors/ContentActor.scala b/content-api/content-actors/src/main/scala/org/sunbird/content/actors/ContentActor.scala
index 3668f1b9b6ebdd6c86d2b4c1fcf682a51818acd2..16ebcc64df2573a74f522be0a50f22de8346f965 100644
--- a/content-api/content-actors/src/main/scala/org/sunbird/content/actors/ContentActor.scala
+++ b/content-api/content-actors/src/main/scala/org/sunbird/content/actors/ContentActor.scala
@@ -252,7 +252,8 @@ class ContentActor @Inject() (implicit oec: OntologyEngineContext, ss: StorageSe
 		val propsToRemove = Platform.getStringList("import.remove_props", java.util.Arrays.asList("downloadUrl", "variants", "previewUrl", "streamingUrl", "itemSets")).asScala.toList
 		val topicName = Platform.config.getString("import.output_topic_name")
 		val reqLimit = Platform.getInteger("import.request_size_limit", 200)
-		ImportConfig(topicName, reqLimit, requiredProps, validStages, propsToRemove)
+		val validSourceStatus = Platform.getStringList("import.valid_source_status", java.util.Arrays.asList()).asScala.toList
+		ImportConfig(topicName, reqLimit, requiredProps, validStages, propsToRemove, validSourceStatus)
 	}
 
 	def systemUpdate(request: Request): Future[Response] = {
diff --git a/platform-modules/import-manager/src/main/scala/org/sunbird/object/importer/ImportManager.scala b/platform-modules/import-manager/src/main/scala/org/sunbird/object/importer/ImportManager.scala
index a45e8bec62691c091f366d184c2f7bb1d4527a98..561cee2c18dd1d951130eec3c4ed56aaa99e89a1 100644
--- a/platform-modules/import-manager/src/main/scala/org/sunbird/object/importer/ImportManager.scala
+++ b/platform-modules/import-manager/src/main/scala/org/sunbird/object/importer/ImportManager.scala
@@ -21,7 +21,7 @@ import scala.collection.mutable
 import scala.concurrent.{ExecutionContext, Future}
 
 
-case class ImportConfig(topicName: String, requestLimit: Integer, requiredProps: List[String], validContentStage: List[String], propsToRemove: List[String])
+case class ImportConfig(topicName: String, requestLimit: Integer, requiredProps: List[String], validContentStage: List[String], propsToRemove: List[String], validSourceStatus: List[String])
 
 class ImportManager(config: ImportConfig) {
 
@@ -58,6 +58,8 @@ class ImportManager(config: ImportConfig) {
 				val stage: String = obj.getOrDefault(ImportConstants.STAGE, "").toString
 				val reqMetadata: util.Map[String, AnyRef] = obj.getOrDefault(ImportConstants.METADATA, new util.HashMap[String, AnyRef]()).asInstanceOf[util.Map[String, AnyRef]]
 				val sourceMetadata: util.Map[String, AnyRef] = getMetadata(source, request.getContext.get("objectType").asInstanceOf[String].toLowerCase())
+				if(StringUtils.isNotBlank(source) && config.validSourceStatus.nonEmpty && MapUtils.isNotEmpty(sourceMetadata) && !config.validSourceStatus.contains(sourceMetadata.getOrDefault("status", "").asInstanceOf[String]))
+					throw new ClientException(ImportErrors.ERR_SOURCE_STATUS_VALIDATION, ImportErrors.ERR_SOURCE_STATUS_VALIDATION_MSG + config.validSourceStatus.asJava)
 				val finalMetadata: util.Map[String, AnyRef] = if (MapUtils.isNotEmpty(sourceMetadata)) {
 					sourceMetadata.putAll(reqMetadata)
 					sourceMetadata.put(ImportConstants.SOURCE, source)
diff --git a/platform-modules/import-manager/src/main/scala/org/sunbird/object/importer/error/ImportErrors.scala b/platform-modules/import-manager/src/main/scala/org/sunbird/object/importer/error/ImportErrors.scala
index 2308f5617228b5b755c49f34e3728f8054a2459a..237a7f386eee1411eef99c4bb0001ed20e086bb6 100644
--- a/platform-modules/import-manager/src/main/scala/org/sunbird/object/importer/error/ImportErrors.scala
+++ b/platform-modules/import-manager/src/main/scala/org/sunbird/object/importer/error/ImportErrors.scala
@@ -9,6 +9,7 @@ object ImportErrors {
 	val ERR_REQUIRED_PROPS_VALIDATION: String = "ERR_REQUIRED_PROPS_VALIDATION"
 	val BE_JOB_REQUEST_EXCEPTION: String = "BE_JOB_REQUEST_EXCEPTION"
 	val ERR_OBJECT_STAGE_VALIDATION: String = "ERR_OBJECT_STAGE_VALIDATION"
+	val ERR_SOURCE_STATUS_VALIDATION: String = "ERR_SOURCE_STATUS_VALIDATION"
 
 	//Error Messages
 	val ERR_INVALID_IMPORT_REQUEST_MSG: String = "Invalid Request! Please Provide Valid Request."
@@ -17,4 +18,5 @@ object ImportErrors {
 	val ERR_REQUIRED_PROPS_VALIDATION_MSG: String = "Validation Failed! Mandatory Properties Are "
 	val BE_JOB_REQUEST_EXCEPTION_MSG: String = "Kafka Event Is Not Generated Properly."
 	val ERR_OBJECT_STAGE_VALIDATION_MSG: String = "Object Stage Validation Failed! Valid Object Stages Are "
+	val ERR_SOURCE_STATUS_VALIDATION_MSG: String = "Source Object Status Not Qualified For Import Operation. Please Provide Valid Source With Status "
 }
diff --git a/platform-modules/import-manager/src/test/scala/org/sunbird/object/importer/ImportManagerTest.scala b/platform-modules/import-manager/src/test/scala/org/sunbird/object/importer/ImportManagerTest.scala
index 742962c0320ff53500c7c4e51641b5117c63dad8..8cf27c05b5324600ff30e1fda2603f078898fa06 100644
--- a/platform-modules/import-manager/src/test/scala/org/sunbird/object/importer/ImportManagerTest.scala
+++ b/platform-modules/import-manager/src/test/scala/org/sunbird/object/importer/ImportManagerTest.scala
@@ -22,7 +22,7 @@ class ImportManagerTest extends AsyncFlatSpec with Matchers with AsyncMockFactor
 	val REQUIRED_PROPS = List("name", "code", "mimeType", "contentType", "artifactUrl", "framework")
 	val VALID_OBJECT_STAGE = List("create", "upload", "review", "publish")
 	val PROPS_TO_REMOVE = List("downloadUrl","variants","previewUrl","streamingUrl","itemSets")
-	lazy val importConfig = ImportConfig(AUTO_CREATE_TOPIC_NAME, REQUEST_LIMIT, REQUIRED_PROPS, VALID_OBJECT_STAGE, PROPS_TO_REMOVE)
+	lazy val importConfig = ImportConfig(AUTO_CREATE_TOPIC_NAME, REQUEST_LIMIT, REQUIRED_PROPS, VALID_OBJECT_STAGE, PROPS_TO_REMOVE, List())
 	lazy val importMgr = new ImportManager(importConfig)
 
 	"getRequest with list input" should "return request data as list with java types" in {