diff --git a/src/main/java/org/etsi/osl/metrico/MetricoController.java b/src/main/java/org/etsi/osl/metrico/MetricoController.java
index e174511b93cddabd650354a51bcd6fd94d1634db..4d50aae23b8aa8ed9de5d9f18a653397e9675bc4 100644
--- a/src/main/java/org/etsi/osl/metrico/MetricoController.java
+++ b/src/main/java/org/etsi/osl/metrico/MetricoController.java
@@ -2,7 +2,7 @@ package org.etsi.osl.metrico;
 
 
 import org.etsi.osl.metrico.model.Job;
-import org.etsi.osl.metrico.model.StartPeriodicQueryRequest;
+import org.etsi.osl.metrico.model.PeriodicQueryRequest;
 import org.etsi.osl.metrico.prometheus.PrometheusQueries;
 import org.etsi.osl.tmf.pm628.model.ExecutionStateType;
 import org.slf4j.Logger;
@@ -48,7 +48,7 @@ public class MetricoController {
     }
 
     @PostMapping("/startPeriodicQuery")
-    public ResponseEntity<String> startPeriodicQuery(@RequestBody StartPeriodicQueryRequest request) {
+    public ResponseEntity<String> startPeriodicQuery(@RequestBody PeriodicQueryRequest request) {
         logger.atDebug().setMessage("/startPeriodicQuery endpoint called with request body: " + request).log();
         logger.atInfo().setMessage("/startPeriodicQuery endpoint called with query: " + request.getQuery()).log();
         if (request.getProm_ip() == null) {
@@ -67,8 +67,7 @@ public class MetricoController {
             logger.atDebug().setMessage("/startPeriodicQuery endpoint called without a stopAfterSeconds. Job will not stop by itself.").log();
         }
         String prom_url = request.getProtocol() + "://" + request.getProm_ip() + ":" + request.getProm_port();
-        Job newPeriodicQuery = prometheusQueries.startPeriodicQuery(prom_url, request.getQuery(), request.getStartDateTime(), request.getEndDateTime(), request.getExecutionInterval()
-        );
+        Job newPeriodicQuery = prometheusQueries.startPeriodicQuery(prom_url, request.getQuery(), request.getStartDateTime(), request.getEndDateTime(), request.getExecutionInterval());
         if(newPeriodicQuery.getState()== ExecutionStateType.FAILED){
             return new ResponseEntity<>("Periodic query failed to start due to internal error.", HttpStatus.INTERNAL_SERVER_ERROR);
         }
diff --git a/src/main/java/org/etsi/osl/metrico/mapper/JobMapper.java b/src/main/java/org/etsi/osl/metrico/mapper/JobMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..d677cbc133d7a36dc44a1c2769c4b638f5860d3d
--- /dev/null
+++ b/src/main/java/org/etsi/osl/metrico/mapper/JobMapper.java
@@ -0,0 +1,48 @@
+package org.etsi.osl.metrico.mapper;
+
+import org.etsi.osl.metrico.model.Job;
+import org.etsi.osl.tmf.pm628.model.DataAccessEndpoint;
+import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJob;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.UUID;
+
+public class JobMapper {
+
+    private static final Logger logger = LoggerFactory.getLogger(JobMapper.class);
+
+    public static Job measurementCollectionJobMapToJob(MeasurementCollectionJob measurementCollectionJob) {
+        Job job = new Job();
+
+        job.setMeasurementCollectionJobRef(UUID.fromString(measurementCollectionJob.getUuid()));
+        if(measurementCollectionJob.getDataAccessEndpoint().size()!=1){
+            throw new IllegalArgumentException("DataAccessEndpoint should be exactly one");
+        }else {
+            DataAccessEndpoint dataAccessEndpoint = measurementCollectionJob.getDataAccessEndpoint().get(0);
+            job.setDataAccessEndPointRef(UUID.fromString(dataAccessEndpoint.getUuid()));
+            if( dataAccessEndpoint.getApiType().equalsIgnoreCase("PROMETHEUS")){
+                job.setApiType(dataAccessEndpoint.getApiType());
+            } else if (dataAccessEndpoint.getApiType() == null ) {
+                throw new IllegalArgumentException("API type needs to be defined");
+            }else{
+                throw new IllegalArgumentException("API type not supported");
+            }
+            job.setDateAccessEndPointUri(dataAccessEndpoint.getUri());
+            job.setQuery(dataAccessEndpoint.getUriQueryFilter());
+
+        }
+
+        job.setStartDateTime(measurementCollectionJob.getScheduleDefinition().get(0).getScheduleDefinitionStartTime());
+        job.setEndDateTime(measurementCollectionJob.getScheduleDefinition().get(0).getScheduleDefinitionEndTime());
+
+        /*
+        Extend the reporting period and granularitypossible values
+        job.setStartDateTime(measurementCollectionJob.getReportingPeriod());
+        job.setExecutionInterval(measurementCollectionJob.getGranularity());
+        */
+
+        return job;
+    }
+
+}
diff --git a/src/main/java/org/etsi/osl/metrico/model/Job.java b/src/main/java/org/etsi/osl/metrico/model/Job.java
index 8724ee87a695f814198c8953c380f3da5235c7ee..a456d796f8168e9bc2fb94320bb74fbc8a62a373 100644
--- a/src/main/java/org/etsi/osl/metrico/model/Job.java
+++ b/src/main/java/org/etsi/osl/metrico/model/Job.java
@@ -4,10 +4,12 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import jakarta.persistence.*;
 import lombok.Getter;
 import lombok.Setter;
+import org.etsi.osl.tmf.pm628.model.DataFilterMap;
 import org.etsi.osl.tmf.pm628.model.ExecutionStateType;
 import org.hibernate.annotations.GenericGenerator;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.net.URI;
 import java.time.OffsetDateTime;
 import java.util.UUID;
 import java.util.concurrent.ScheduledFuture;
@@ -43,6 +45,12 @@ public class Job{
     // Should I check the granularity or the scheduleDefinitionRef for the recurringFrequency?
     private UUID measurementCollectionJobRef;
 
+    private URI dateAccessEndPointUri;
+
+    private DataFilterMap query;
+
+    private String apiType;
+
     @JsonIgnore
     private boolean deleted = false;
 
diff --git a/src/main/java/org/etsi/osl/metrico/model/StartPeriodicQueryRequest.java b/src/main/java/org/etsi/osl/metrico/model/PeriodicQueryRequest.java
similarity index 79%
rename from src/main/java/org/etsi/osl/metrico/model/StartPeriodicQueryRequest.java
rename to src/main/java/org/etsi/osl/metrico/model/PeriodicQueryRequest.java
index d0b245d92b11224273071598e4b1bcd3c43a152e..b9937f96fb6abeb791a3a047cb31f3db2246d7f0 100644
--- a/src/main/java/org/etsi/osl/metrico/model/StartPeriodicQueryRequest.java
+++ b/src/main/java/org/etsi/osl/metrico/model/PeriodicQueryRequest.java
@@ -2,13 +2,12 @@ package org.etsi.osl.metrico.model;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.OffsetDateTime;
 
 @Setter
 @Getter
-public class StartPeriodicQueryRequest {
+public class PeriodicQueryRequest {
     private String protocol = "https";
     private String prom_ip;
     private String prom_port = "9090";
@@ -16,4 +15,5 @@ public class StartPeriodicQueryRequest {
     private OffsetDateTime startDateTime;
     private OffsetDateTime endDateTime;
     private int executionInterval = 300;
+    private Job job;
 }