diff --git a/src/main/java/org/openepics/names/rest/api/v1/INames.java b/src/main/java/org/openepics/names/rest/api/v1/INames.java
index 05f413f1416283d7399b79070588c838b18fc4f6..e14b0e5e73c44ff6d66086855920d9a0f89fb0a1 100644
--- a/src/main/java/org/openepics/names/rest/api/v1/INames.java
+++ b/src/main/java/org/openepics/names/rest/api/v1/INames.java
@@ -136,7 +136,7 @@ public interface INames {
     )
     @ApiResponses(value = {
             @ApiResponse(
-                    responseCode = "200",
+                    responseCode = "201",
                     description  = "Method completed OK. Return array of created name elements.",
                     content = @Content(
                             mediaType = "application/json",
@@ -157,7 +157,7 @@ public interface INames {
     @PostMapping(
             produces = {"application/json"},
             consumes = {"application/json"})
-    public List<NameElement> createNames(
+    public ResponseEntity<List<NameElement>> createNames(
             @Parameter(
                     in = ParameterIn.DEFAULT,
                     description = "array of name elements",
diff --git a/src/main/java/org/openepics/names/rest/api/v1/IStructures.java b/src/main/java/org/openepics/names/rest/api/v1/IStructures.java
index 3b75c3ab9982431fb94e9274436dcf59ffae88a1..73d6dbf80b9e83386cc939994ea3315960696bee 100644
--- a/src/main/java/org/openepics/names/rest/api/v1/IStructures.java
+++ b/src/main/java/org/openepics/names/rest/api/v1/IStructures.java
@@ -160,7 +160,7 @@ public interface IStructures {
     )
     @ApiResponses(value = {
             @ApiResponse(
-                    responseCode = "200",
+                    responseCode = "201",
                     description  = "Method completed OK. Return array of structure elements for created structures (proposals).",
                     content = @Content(
                             mediaType = "application/json",
@@ -181,7 +181,7 @@ public interface IStructures {
     @PostMapping(
             produces = {"application/json"},
             consumes = {"application/json"})
-    public List<StructureElement> createStructures(
+    public ResponseEntity<List<StructureElement>> createStructures(
             @Parameter(
                     in = ParameterIn.DEFAULT,
                     description = "array of structure elements",
diff --git a/src/main/java/org/openepics/names/rest/controller/NamesController.java b/src/main/java/org/openepics/names/rest/controller/NamesController.java
index eceaad91e1a12b44419be24cdaa97748c4f18232..5abce3cf096a72c4cfc2be5bc01bfad2611f9cdc 100644
--- a/src/main/java/org/openepics/names/rest/controller/NamesController.java
+++ b/src/main/java/org/openepics/names/rest/controller/NamesController.java
@@ -65,7 +65,7 @@ public class NamesController implements INames {
     }
 
     @Override
-    public List<NameElement> createNames(List<NameElementCommand> nameElements) {
+    public ResponseEntity<List<NameElement>> createNames(List<NameElementCommand> nameElements) {
         // validate authority
         //     naming user & admin
         // validate
@@ -73,7 +73,7 @@ public class NamesController implements INames {
 
         try {
             namesService.validateNamesCreate(nameElements);
-            return namesService.createNames(nameElements);
+            return new ResponseEntity<>(namesService.createNames(nameElements), Response.HEADER_JSON, HttpStatus.CREATED);
         } catch (ServiceHttpStatusException e) {
             LogUtil.logServiceHttpStatusException(LOGGER, Level.SEVERE, e);
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
diff --git a/src/main/java/org/openepics/names/rest/controller/StructuresController.java b/src/main/java/org/openepics/names/rest/controller/StructuresController.java
index 72d4ceccaa88d0c61b125428afabab844ac82d6b..1ca9d87edebec1583d9081074c296a39809f43ff 100644
--- a/src/main/java/org/openepics/names/rest/controller/StructuresController.java
+++ b/src/main/java/org/openepics/names/rest/controller/StructuresController.java
@@ -74,7 +74,7 @@ public class StructuresController implements IStructures {
     }
 
     @Override
-    public List<StructureElement> createStructures(List<StructureElementCommand> structureElements) {
+    public ResponseEntity<List<StructureElement>> createStructures(List<StructureElementCommand> structureElements) {
         // validate authority
         //     naming user & admin
         // validate
@@ -82,7 +82,7 @@ public class StructuresController implements IStructures {
 
         try {
             structuresService.validateStructuresCreate(structureElements);
-            return structuresService.createStructures(structureElements);
+            return new ResponseEntity<>(structuresService.createStructures(structureElements), Response.HEADER_JSON, HttpStatus.CREATED);
         } catch (ServiceHttpStatusException e) {
             LogUtil.logServiceHttpStatusException(LOGGER, Level.SEVERE, e);
             LogUtil.logStackTraceElements(LOGGER, Level.SEVERE, e);
diff --git a/src/test/java/org/openepics/names/docker/ITUtilNameElement.java b/src/test/java/org/openepics/names/docker/ITUtilNameElement.java
index 21bf909e0f66052327d14acbc477b2dc6076d68a..047fe843045bfc769d023cf80299af93c20b9a74 100644
--- a/src/test/java/org/openepics/names/docker/ITUtilNameElement.java
+++ b/src/test/java/org/openepics/names/docker/ITUtilNameElement.java
@@ -470,7 +470,7 @@ public class ITUtilNameElement {
             ITUtil.assertEqualsResponseBoolean(mapper.readValue(response[1], ResponseBooleanList.class), Boolean.TRUE);
 
             response = ITUtil.runShellCommand(ITUtil.curlPostPathJson(AuthorizationChoice.NONE, EndpointChoice.NAMES, "", "[" + mapper.writeValueAsString(nameElement) + "]"));
-            ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_OK);
+            ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_CREATED);
             createdNameElements = mapper.readValue(response[1], NameElement[].class);
             createdNameElement = ITUtilNameElement.assertContentLengthOne(createdNameElements);
             assertNotNull(createdNameElement.getUuid());
diff --git a/src/test/java/org/openepics/names/docker/ITUtilStructureElement.java b/src/test/java/org/openepics/names/docker/ITUtilStructureElement.java
index 013d109c90b82a02c2a036a869bd01e7a8e693d5..fdd64536d8a06544f63451c31f5facb6bb03a173 100644
--- a/src/test/java/org/openepics/names/docker/ITUtilStructureElement.java
+++ b/src/test/java/org/openepics/names/docker/ITUtilStructureElement.java
@@ -441,7 +441,7 @@ public class ITUtilStructureElement {
             ITUtil.assertEqualsResponseBoolean(mapper.readValue(response[1], ResponseBooleanList.class), Boolean.TRUE);
 
             response = ITUtil.runShellCommand(ITUtil.curlPostPathJson(AuthorizationChoice.NONE, EndpointChoice.STRUCTURES, "", "[" + mapper.writeValueAsString(structureElement) + "]"));
-            ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_OK);
+            ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_CREATED);
             createdStructureElements = mapper.readValue(response[1], StructureElement[].class);
             createdStructureElement = ITUtilStructureElement.assertContentLengthOne(createdStructureElements);
             assertNotNull(createdStructureElement.getUuid());