diff --git a/src/main/java/org/etsi/osl/tmf/metrics/api/MetricsApi.java b/src/main/java/org/etsi/osl/tmf/metrics/api/MetricsApi.java
index dc4e7b1dd51fe75308d3f996118341844b994537..0ddf35e4b417988fd8a59fbf1e77535f7af85312 100644
--- a/src/main/java/org/etsi/osl/tmf/metrics/api/MetricsApi.java
+++ b/src/main/java/org/etsi/osl/tmf/metrics/api/MetricsApi.java
@@ -4,6 +4,9 @@ import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import io.swagger.v3.oas.annotations.responses.ApiResponses;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import org.etsi.osl.tmf.metrics.PublishedServiceSpecifications;
+import org.etsi.osl.tmf.metrics.RegisteredIndividuals;
+import org.etsi.osl.tmf.metrics.RegisteredResourceSpecifications;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.ResponseEntity;
@@ -24,7 +27,7 @@ public interface MetricsApi {
             @ApiResponse(responseCode = "500", description = "Internal Server Error")
     })
     @RequestMapping(value = "/metrics/registeredIndividuals", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
-    ResponseEntity<Map<String, Integer>> getRegisteredIndividuals();
+    ResponseEntity<RegisteredIndividuals> getRegisteredIndividuals();
 
     @Operation(summary = "Get total number of published service specifications", operationId = "getPublishedServiceSpecifications")
     @ApiResponses(value = {
@@ -33,7 +36,7 @@ public interface MetricsApi {
             @ApiResponse(responseCode = "500", description = "Internal Server Error")
     })
     @RequestMapping(value = "/metrics/publishedServiceSpecifications", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
-    ResponseEntity<Map<String, Integer>> getPublishedServiceSpecifications();
+    ResponseEntity<PublishedServiceSpecifications> getPublishedServiceSpecifications();
 
     @Operation(summary = "Get total number of registered resource specifications", operationId = "getRegisteredResourceSpecifications")
     @ApiResponses(value = {
@@ -42,5 +45,5 @@ public interface MetricsApi {
             @ApiResponse(responseCode = "500", description = "Internal Server Error")
     })
     @RequestMapping(value = "/metrics/registeredResourceSpecifications", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
-    ResponseEntity<Map<String, Integer>> getRegisteredResourceSpecifications();
+    ResponseEntity<RegisteredResourceSpecifications> getRegisteredResourceSpecifications();
 }
diff --git a/src/main/java/org/etsi/osl/tmf/metrics/api/MetricsApiController.java b/src/main/java/org/etsi/osl/tmf/metrics/api/MetricsApiController.java
index be8f980e6c7646dafdb0163ab48721250b54f310..089f7252b0fb8f983f83b996ec5b7c2fac28a29b 100644
--- a/src/main/java/org/etsi/osl/tmf/metrics/api/MetricsApiController.java
+++ b/src/main/java/org/etsi/osl/tmf/metrics/api/MetricsApiController.java
@@ -1,5 +1,8 @@
 package org.etsi.osl.tmf.metrics.api;
 
+import org.etsi.osl.tmf.metrics.PublishedServiceSpecifications;
+import org.etsi.osl.tmf.metrics.RegisteredIndividuals;
+import org.etsi.osl.tmf.metrics.RegisteredResourceSpecifications;
 import org.etsi.osl.tmf.metrics.reposervices.MetricsRepoService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -24,11 +27,10 @@ public class MetricsApiController implements MetricsApi {
     }
 
     @Override
-    public ResponseEntity<Map<String, Integer>> getRegisteredIndividuals() {
+    public ResponseEntity<RegisteredIndividuals> getRegisteredIndividuals() {
         try {
             int totalIndividuals = generalMetricsRepoService.countRegisteredIndividuals();
-            Map<String, Integer> response = new HashMap<>();
-            response.put("registeredIndividuals", totalIndividuals);
+            RegisteredIndividuals response = new RegisteredIndividuals(totalIndividuals);
             return new ResponseEntity<>(response, HttpStatus.OK);
         } catch (Exception e) {
             log.error("Couldn't retrieve total registered individuals. ", e);
@@ -37,11 +39,10 @@ public class MetricsApiController implements MetricsApi {
     }
 
     @Override
-    public ResponseEntity<Map<String, Integer>> getPublishedServiceSpecifications() {
+    public ResponseEntity<PublishedServiceSpecifications> getPublishedServiceSpecifications() {
         try {
             int totalSpecifications = generalMetricsRepoService.countPublishedServiceSpecifications();
-            Map<String, Integer> response = new HashMap<>();
-            response.put("publishedServiceSpecifications", totalSpecifications);
+            PublishedServiceSpecifications response = new PublishedServiceSpecifications(totalSpecifications);
             return new ResponseEntity<>(response, HttpStatus.OK);
         } catch (Exception e) {
             log.error("Couldn't retrieve total published service specifications. ", e);
@@ -50,11 +51,10 @@ public class MetricsApiController implements MetricsApi {
     }
 
     @Override
-    public ResponseEntity<Map<String, Integer>> getRegisteredResourceSpecifications() {
+    public ResponseEntity<RegisteredResourceSpecifications> getRegisteredResourceSpecifications() {
         try {
             int totalResourceSpecifications = generalMetricsRepoService.countRegisteredResourceSpecifications();
-            Map<String, Integer> response = new HashMap<>();
-            response.put("registeredResourceSpecifications", totalResourceSpecifications);
+            RegisteredResourceSpecifications response = new RegisteredResourceSpecifications(totalResourceSpecifications);
             return new ResponseEntity<>(response, HttpStatus.OK);
         } catch (Exception e) {
             log.error("Couldn't retrieve total registered resource specifications. ", e);