diff --git a/src/main/java/org/etsi/osl/tmf/gsm674/api/GeographicSiteManagementApi.java b/src/main/java/org/etsi/osl/tmf/gsm674/api/GeographicSiteManagementApi.java
index c2661e822cbc78bdb00f3e75aa30cb497de8efa1..c50b604d4232cc2395c89cc1163617c792459f15 100644
--- a/src/main/java/org/etsi/osl/tmf/gsm674/api/GeographicSiteManagementApi.java
+++ b/src/main/java/org/etsi/osl/tmf/gsm674/api/GeographicSiteManagementApi.java
@@ -170,7 +170,7 @@ public interface GeographicSiteManagementApi {
             produces = { "application/json" },
             consumes = { "application/json" },
             method = RequestMethod.GET)
-    default ResponseEntity<GeographicSite> retrieveGeographicSite() {
+    default ResponseEntity<GeographicSite> retrieveGeographicSite(@Parameter(description = "Identifier of the Geographic site",required=true) @PathVariable("id") String id) {
         if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) {
             if (getAcceptHeader().get().contains("application/json")) {
                 try {
diff --git a/src/main/java/org/etsi/osl/tmf/gsm674/api/GeographicSiteManagementApiController.java b/src/main/java/org/etsi/osl/tmf/gsm674/api/GeographicSiteManagementApiController.java
index fb9fade688f0d4c2cd7b60a61e2b0a8f2381ac6b..23f1be21eb18cf5f1e9e892df19a50fd53b100d0 100644
--- a/src/main/java/org/etsi/osl/tmf/gsm674/api/GeographicSiteManagementApiController.java
+++ b/src/main/java/org/etsi/osl/tmf/gsm674/api/GeographicSiteManagementApiController.java
@@ -27,7 +27,7 @@ public class GeographicSiteManagementApiController implements GeographicSiteMana
         this.geographicSiteManagementService = geographicSiteManagementService;
     }
 
-//    @PreAuthorize("hasAnyAuthority('ROLE_USER')" )
+    @PreAuthorize("hasAnyAuthority('ROLE_USER')" )
     @Override
     public ResponseEntity<List<GeographicSite>> listGeographicSite() {
 
@@ -41,6 +41,20 @@ public class GeographicSiteManagementApiController implements GeographicSiteMana
         }
     }
 
+    @PreAuthorize("hasAnyAuthority('ROLE_USER')" )
+    @Override
+    public ResponseEntity<GeographicSite> retrieveGeographicSite(@PathVariable("id") String id) {
+
+
+        try {
+            return new ResponseEntity<>(geographicSiteManagementService.findGeographicSiteByUUID(id), HttpStatus.OK);
+
+        } catch (Exception e) {
+            log.error(COULD_NOT_SERIALIZE, e);
+            return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+    }
+
     @PreAuthorize("hasAnyAuthority('ROLE_USER')" )
     @Override
     public ResponseEntity<GeographicSite> createGeographicSite(
diff --git a/src/main/java/org/etsi/osl/tmf/gsm674/reposervices/GeographicSiteManagementService.java b/src/main/java/org/etsi/osl/tmf/gsm674/reposervices/GeographicSiteManagementService.java
index 68a3ead03b1db59bca74ed1687b4eb9c94f07227..3b364306355f8b2e9504ca16b6e0bcc085ce7cd0 100644
--- a/src/main/java/org/etsi/osl/tmf/gsm674/reposervices/GeographicSiteManagementService.java
+++ b/src/main/java/org/etsi/osl/tmf/gsm674/reposervices/GeographicSiteManagementService.java
@@ -31,8 +31,10 @@ public class GeographicSiteManagementService {
         return (List<GeographicSite>) geographicSiteManagementRepository.findAll();
     }
 
-    public Optional<GeographicSite> findGeographicSiteByUUID(String uuid){
-        return geographicSiteManagementRepository.findByUuid(uuid);
+    public GeographicSite findGeographicSiteByUUID(String uuid){
+        Optional<GeographicSite> gs=geographicSiteManagementRepository.findByUuid(uuid);
+        return gs.orElse(null);
+
     }
 
    public GeographicSite createGeographicSite(GeographicSite geographicSite){
diff --git a/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementApiControllerTest.java b/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementApiControllerTest.java
index cdbb4747f4e2f13a87cb2c2f2f02b839ce177894..04878fd10c9dfdf92a02d8e22c5b999a523214bd 100644
--- a/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementApiControllerTest.java
+++ b/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementApiControllerTest.java
@@ -16,6 +16,8 @@ import org.springframework.http.ResponseEntity;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
+import java.util.UUID;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
@@ -52,12 +54,17 @@ class GeographicSiteManagementApiControllerTest {
     }
 
     @Test
-    void throwExceptionTestWhenRetrieveGeographicSites(){
-        when(service.findAllGeographicSites()).thenThrow(RuntimeException.class);
-        ResponseEntity<GeographicSite> response = controller.retrieveGeographicSite();
-        assertEquals(HttpStatus.NOT_IMPLEMENTED, response.getStatusCode());
+    void testFetchGeographicSite() {
+        GeographicSite site = new GeographicSite();
+        // Add test data to sites list
+        when(service.findGeographicSiteByUUID("123")).thenReturn(site);
+
+        ResponseEntity<GeographicSite> response = controller.retrieveGeographicSite("123");
 
+        assertEquals(HttpStatus.OK, response.getStatusCode());
+        assertEquals(site, response.getBody());
     }
+
     @Test
     void testCreateGeographicSite() {
         GeographicSite site = new GeographicSite();
diff --git a/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementServiceTest.java b/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementServiceTest.java
index 7c7952d2cf525f935c106911d9e1c44345a44b98..0ffbb2cb930558a1222221d67c7c92955e0bdb79 100644
--- a/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementServiceTest.java
+++ b/src/test/java/org/etsi/osl/services/api/gsm674/GeographicSiteManagementServiceTest.java
@@ -49,10 +49,9 @@ class GeographicSiteManagementServiceTest {
         GeographicSite site = new GeographicSite();
         when(repository.findByUuid(uuid)).thenReturn(Optional.of(site));
 
-        Optional<GeographicSite> result = service.findGeographicSiteByUUID(uuid);
+        GeographicSite result = service.findGeographicSiteByUUID(uuid);
 
-        assertTrue(result.isPresent());
-        assertEquals(site, result.get());
+        assertEquals(site, result);
     }
 
     @Test