diff --git a/docs/api/partition_openapi.yaml b/docs/api/partition_openapi.yaml
index 604f10a04ace21353021903a2fc39db172019979..0c7b31274dcab50e769a84ae8c6e7fde068df199 100644
--- a/docs/api/partition_openapi.yaml
+++ b/docs/api/partition_openapi.yaml
@@ -118,10 +118,6 @@ paths:
           schema:
             $ref: '#/definitions/PartitionInfo'
       responses:
-        '200':
-          description: OK
-          schema:
-            $ref: '#/definitions/PartitionInfo'
         '201':
           description: Created
         '401':
diff --git a/partition-core/src/main/java/org/opengroup/osdu/partition/api/PartitionApi.java b/partition-core/src/main/java/org/opengroup/osdu/partition/api/PartitionApi.java
index fc2d35c103d30a89984dd14dab542b34e99ec3e3..540da827e965855a9eb3810ff9e9a671009dcbcd 100644
--- a/partition-core/src/main/java/org/opengroup/osdu/partition/api/PartitionApi.java
+++ b/partition-core/src/main/java/org/opengroup/osdu/partition/api/PartitionApi.java
@@ -23,8 +23,10 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.context.annotation.RequestScope;
+import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
 
 import javax.validation.Valid;
+import java.net.URI;
 import java.util.Map;
 
 @RestController
@@ -38,8 +40,10 @@ public class PartitionApi {
 
     @PostMapping("/{partitionId}")
     @PreAuthorize("@authorizationFilter.hasPermissions()")
-    public ResponseEntity<PartitionInfo> create(@PathVariable("partitionId") String partitionId, @RequestBody @Valid PartitionInfo partitionInfo) {
-        return ResponseEntity.ok(this.partitionService.createPartition(partitionId, partitionInfo));
+    public ResponseEntity create(@PathVariable("partitionId") String partitionId, @RequestBody @Valid PartitionInfo partitionInfo) {
+        this.partitionService.createPartition(partitionId, partitionInfo);
+        URI partitionLocation = ServletUriComponentsBuilder.fromCurrentRequest().buildAndExpand().toUri();
+        return ResponseEntity.created(partitionLocation).build();
     }
 
     @GetMapping("/{partitionId}")
diff --git a/partition-core/src/test/java/org/opengroup/osdu/partition/api/PartitionApiTest.java b/partition-core/src/test/java/org/opengroup/osdu/partition/api/PartitionApiTest.java
index 3adcd3374c9e4c52ff2b23cc1a6ea16d884c7365..a9c44fc503d69b11b5816a087396c4fced3e57b6 100644
--- a/partition-core/src/test/java/org/opengroup/osdu/partition/api/PartitionApiTest.java
+++ b/partition-core/src/test/java/org/opengroup/osdu/partition/api/PartitionApiTest.java
@@ -23,18 +23,27 @@ import org.opengroup.osdu.core.common.model.http.AppException;
 import org.opengroup.osdu.partition.model.PartitionInfo;
 import org.opengroup.osdu.partition.model.Property;
 import org.opengroup.osdu.partition.provider.interfaces.IPartitionService;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
 
+import javax.servlet.http.HttpServletRequest;
+import java.net.URI;
 import java.util.HashMap;
 import java.util.Map;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.*;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.*;
+import static org.powermock.api.mockito.PowerMockito.mockStatic;
 
-@RunWith(MockitoJUnitRunner.class)
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(ServletUriComponentsBuilder.class)
 public class PartitionApiTest {
 
     private final AppException NOT_FOUND_EXCEPTION =
@@ -50,15 +59,22 @@ public class PartitionApiTest {
     @Mock
     private PartitionInfo partitionInfo;
 
+
+
     @Test
     public void should_return201AndPartitionId_when_givenValidPartitionId() {
         String partitionId = "partition1";
 
-        when(partitionService.createPartition(anyString(), any(PartitionInfo.class))).thenReturn(partitionInfo);
+        mockStatic(ServletUriComponentsBuilder.class);
 
-        ResponseEntity<PartitionInfo> result = this.sut.create(partitionId, partitionInfo);
-        assertEquals(HttpStatus.OK, result.getStatusCode());
-        assertEquals(partitionInfo, result.getBody());
+        ServletUriComponentsBuilder builder = spy(ServletUriComponentsBuilder.class);
+
+        when(ServletUriComponentsBuilder.fromCurrentRequest()).thenReturn(builder);
+
+        ResponseEntity result = this.sut.create(partitionId, partitionInfo);
+        assertEquals(HttpStatus.CREATED, result.getStatusCode());
+        assertNull(result.getBody());
+        assertNotNull(result.getHeaders().get(HttpHeaders.LOCATION));
     }
 
     @Test
diff --git a/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/CreatePartitionTest.java b/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/CreatePartitionTest.java
index 52dde6be621c5a9b8f2cb2402ef01ee0961d8fec..9aefd3f9754ad11d2a03e61b110f95351c4d4372 100644
--- a/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/CreatePartitionTest.java
+++ b/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/CreatePartitionTest.java
@@ -49,7 +49,7 @@ public abstract class CreatePartitionTest extends BaseTestTemplate {
 
     @Override
     protected int expectedOkResponseCode() {
-        return HttpStatus.OK.value();
+        return HttpStatus.CREATED.value();
     }
 
     @Test
diff --git a/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/DeletePartitionTest.java b/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/DeletePartitionTest.java
index b93800a24bbd27480a88945c98aaaec3f93b1632..b1c7682c0899ba796809afecd9f7a194e21eeb5a 100644
--- a/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/DeletePartitionTest.java
+++ b/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/DeletePartitionTest.java
@@ -64,7 +64,7 @@ public abstract class DeletePartitionTest extends BaseTestTemplate {
 
         ClientResponse createResponse = this.descriptor.run(this.getId(), this.testUtils.getAccessToken());
         Assert.assertEquals(this.error((String) createResponse.getEntity(String.class))
-                , HttpStatus.OK.value(), (long) createResponse.getStatus());
+                , HttpStatus.CREATED.value(), (long) createResponse.getStatus());
 
         this.descriptor = oldDescriptor;
     }
diff --git a/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/GetPartitionByIdApitTest.java b/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/GetPartitionByIdApitTest.java
index 4fabbf8a17ba310288050f7651920a59f9b28dc2..0040284f5ea0273cd7514995885ec578084f61f6 100644
--- a/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/GetPartitionByIdApitTest.java
+++ b/testing/partition-test-core/src/main/java/org/opengroup/osdu/partition/api/GetPartitionByIdApitTest.java
@@ -47,7 +47,7 @@ public abstract class GetPartitionByIdApitTest extends BaseTestTemplate {
 
         ClientResponse createResponse = createPartitionDescriptor.run(this.getId(), this.testUtils.getAccessToken());
         assertEquals(this.error((String) createResponse.getEntity(String.class))
-                , HttpStatus.OK.value(), (long) createResponse.getStatus());
+                , HttpStatus.CREATED.value(), (long) createResponse.getStatus());
     }
 
     public GetPartitionByIdApitTest() {