diff --git a/src/main/java/org/etsi/osl/tmf/pm628/api/MeasurementCollectionJobApiRouteBuilder.java b/src/main/java/org/etsi/osl/tmf/pm628/api/MeasurementCollectionJobApiRouteBuilder.java
index b8fbcca3e6274e3a625dcd4ba4440b3f5dc43959..105ab7915f7d45ab5fe80e6d9c339f1430fff9ce 100644
--- a/src/main/java/org/etsi/osl/tmf/pm628/api/MeasurementCollectionJobApiRouteBuilder.java
+++ b/src/main/java/org/etsi/osl/tmf/pm628/api/MeasurementCollectionJobApiRouteBuilder.java
@@ -41,6 +41,9 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
     @Value("${PM_MEASUREMENT_COLLECTION_JOB_UPDATE}")
     private String PM_UPDATE_MEASUREMENT_COLLECTION_JOB;
 
+    @Value("${PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING}")
+    private String PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING;
+
     @Autowired
     private ProducerTemplate template;
 
@@ -58,6 +61,8 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
             .bean(measurementCollectionJobService, "findAllMeasurementCollectionJobs")
             .convertBodyTo( String.class );
 
+
+        // I think this does not work!!
         from(PM_MEASUREMENT_COLLECTION_GET_JOB_BY_ID)
             .log(LoggingLevel.INFO, log, PM_MEASUREMENT_COLLECTION_GET_JOB_BY_ID + " message received!")
             .to("log:DEBUG?showBody=true&showHeaders=true")
@@ -80,6 +85,12 @@ public class MeasurementCollectionJobApiRouteBuilder extends RouteBuilder {
                 .bean(measurementCollectionJobService, "updateMeasurementCollectionJob(${header.mcjid}, ${body})")
                 .marshal().json( JsonLibrary.Jackson)
                 .convertBodyTo( String.class );
+
+        from(PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING)
+                .log(LoggingLevel.INFO, log, PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING + " message received!")
+                .to("log:DEBUG?showBody=true&showHeaders=true")
+                .bean(measurementCollectionJobService, "findPendingOrInProgressMeasurementCollectionJobs")
+                .convertBodyTo( String.class );
     }
 
     static String toJsonString(Object object) throws IOException {
diff --git a/src/main/java/org/etsi/osl/tmf/pm628/reposervices/MeasurementCollectionJobService.java b/src/main/java/org/etsi/osl/tmf/pm628/reposervices/MeasurementCollectionJobService.java
index 4ca0ceaeb4875242189cd57f36867ee9984a4d92..c8d8dca7ad443bce550ee18fee774b4fa7d136b1 100755
--- a/src/main/java/org/etsi/osl/tmf/pm628/reposervices/MeasurementCollectionJobService.java
+++ b/src/main/java/org/etsi/osl/tmf/pm628/reposervices/MeasurementCollectionJobService.java
@@ -456,4 +456,11 @@ public class MeasurementCollectionJobService {
 
         routeBuilderEvents.publishEvent(event, mcj.getUuid());
     }
+
+    public List<MeasurementCollectionJob> findPendingOrInProgressMeasurementCollectionJobs(){
+        log.debug("findPendingOrInProgressMeasurementCollectionJobs");
+        List<MeasurementCollectionJob> pendingOrInProgressMeasurementCollectionJobs = findAllByExecutionState(ExecutionStateType.PENDING);
+        pendingOrInProgressMeasurementCollectionJobs.addAll(findAllByExecutionState(ExecutionStateType.INPROGRESS));
+        return pendingOrInProgressMeasurementCollectionJobs;
+    }
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 3722fa870b9ede79c840948872329f4e8874fd5a..b52100773ffd9fb2e3467c8aa1cafb165e543934 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -155,6 +155,7 @@ PM_MEASUREMENT_COLLECTION_JOBS_GET:      "jms:queue:PM.MEASUREMENTCOLLECTIONJOBS
 PM_MEASUREMENT_COLLECTION_JOB_ADD:       "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.ADD"
 PM_MEASUREMENT_COLLECTION_JOB_CREATED:   "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.CREATED"
 PM_MEASUREMENT_COLLECTION_JOB_UPDATE:    "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.UPDATE"
+PM_MEASUREMENT_COLLECTION_JOB_GET_INPRORGESS_OR_PENDING: "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.GET_INPRORGESS_OR_PENDING"
 
 #ALARMS
 ALARMS_ADD_ALARM: "jms:queue:ALARMS.ADD.ALARM"
diff --git a/src/test/java/org/etsi/osl/services/api/pm628/MeasurementCollectionJobServiceTest.java b/src/test/java/org/etsi/osl/services/api/pm628/MeasurementCollectionJobServiceTest.java
index d718e0ab2f954b6ab5510258ee4a01911b596564..7a182a47f6e2ea84ef57e00049ef6eb3b30d0d95 100644
--- a/src/test/java/org/etsi/osl/services/api/pm628/MeasurementCollectionJobServiceTest.java
+++ b/src/test/java/org/etsi/osl/services/api/pm628/MeasurementCollectionJobServiceTest.java
@@ -192,4 +192,38 @@ public class MeasurementCollectionJobServiceTest {
 
         return response;
     }
+
+    private MeasurementCollectionJob createNewMeasurementCollectionJobWithExecutionState(int previousNumberOfMcjs, ExecutionStateType executionStateType) throws Exception {
+        assertThat(measurementCollectionJobService.findAllMeasurementCollectionJobs().size()).isEqualTo(FIXED_BOOTSTRAPS_JOBS + previousNumberOfMcjs);
+
+        File fvo = new File("src/test/resources/testMeasurementCollectionJobFVO.json");
+        InputStream in = new FileInputStream(fvo);
+        String mcjFVOText = IOUtils.toString(in, "UTF-8");
+
+        MeasurementCollectionJobFVO mcjFVO = JsonUtils.toJsonObj(mcjFVOText, MeasurementCollectionJobFVO.class);
+        mcjFVO.setExecutionState(executionStateType);
+
+        MeasurementCollectionJob response = measurementCollectionJobService.createMeasurementCollectionJob(mcjFVO);
+
+        assertThat(measurementCollectionJobService.findAllMeasurementCollectionJobs().size()).isEqualTo(FIXED_BOOTSTRAPS_JOBS + previousNumberOfMcjs + 1);
+
+        return response;
+    }
+
+    @WithMockUser(username="osadmin", roles = {"USER","ADMIN"})
+    @Test
+    public void testFindPendingOrInProgressMeasurementCollectionJobs() throws Exception {
+        MeasurementCollectionJob pendingMcj = createNewMeasurementCollectionJobWithExecutionState(measurementCollectionJobService.findAllMeasurementCollectionJobs().size(), ExecutionStateType.PENDING);
+
+        int currentNumOfMcjs = measurementCollectionJobService.findAllMeasurementCollectionJobs().size();
+        MeasurementCollectionJob inProgressMcj = createNewMeasurementCollectionJobWithExecutionState(currentNumOfMcjs, ExecutionStateType.INPROGRESS);
+
+
+        List<MeasurementCollectionJob> ackMcjList = measurementCollectionJobService.findAllByExecutionState(ExecutionStateType.ACKNOWLEDGED);
+
+        List<MeasurementCollectionJob> mcjList = measurementCollectionJobService.findPendingOrInProgressMeasurementCollectionJobs();
+
+
+        assertThat(mcjList.size()).isEqualTo(FIXED_BOOTSTRAPS_JOBS + 2);
+    }
 }