diff --git a/docs/api/partition_openapi.yaml b/docs/api/partition_openapi.yaml
index a705ba8a4fcecbd915a4cbfcd712ad7018f545cd..1817623dc5e149fbebaf275a5957b1092bfc8433 100644
--- a/docs/api/partition_openapi.yaml
+++ b/docs/api/partition_openapi.yaml
@@ -116,10 +116,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 140245dec2e129f6b98dffbd93fcd78efdafdeb3..5f00fa4106fc492eeb931edb1aef69a8b6b2c356 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
@@ -22,8 +22,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
@@ -37,8 +39,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 8e5ae2bc2fd03ec87ad63bb6f59daaa5533e6e24..01927b6fca5efd9c5505d74f83f57cb5cb457e05 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
@@ -22,18 +22,27 @@ import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.core.common.model.http.AppException;
 import org.opengroup.osdu.partition.model.PartitionInfo;
 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 =
@@ -49,15 +58,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() {