diff --git a/src/main/java/com/example/demo/controller/AdaptiveTrainingDefinitionsRestController.java b/src/main/java/com/example/demo/controller/AdaptiveTrainingDefinitionsRestController.java
index 3ba8c1b8161b4b78ccbd01ca66d2f2838a1c7ca8..47fa0d631eb4dfea0845e0ed79948746c4d43c84 100644
--- a/src/main/java/com/example/demo/controller/AdaptiveTrainingDefinitionsRestController.java
+++ b/src/main/java/com/example/demo/controller/AdaptiveTrainingDefinitionsRestController.java
@@ -1,5 +1,6 @@
 package com.example.demo.controller;
 
+import com.example.demo.domain.QuestionnaireLevel;
 import com.example.demo.dto.BaseLevelDto;
 import com.example.demo.dto.PhaseLevelUpdateDto;
 import com.example.demo.dto.QuestionChoiceDto;
@@ -9,6 +10,7 @@ import com.example.demo.dto.QuestionUpdateDto;
 import com.example.demo.dto.TaskUpdateDto;
 import com.example.demo.dto.InfoLevelUpdateDto;
 import com.example.demo.enums.LevelType;
+import com.example.demo.enums.QuestionType;
 import com.example.demo.service.LevelOperationsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -191,11 +193,12 @@ public class AdaptiveTrainingDefinitionsRestController {
             @ApiResponse(code = 200, message = "Question created"),
             @ApiResponse(code = 500, message = "Unexpected application error")
     })
-    @PostMapping(path = "/questionnaires/{questionnaireId}")
+    @PostMapping(path = "/questionnaires/{questionnaireId}/{questionType}")
     public QuestionDto createQuestion(
-            @ApiParam(value = "Questionnaire ID", required = true) @PathVariable(name = "questionnaireId") Long questionnaireId) {
+            @ApiParam(value = "Questionnaire ID", required = true) @PathVariable(name = "questionnaireId") Long questionnaireId,
+            @ApiParam(value = "Questionnaire Type", allowableValues = "FFQ, MCQ, EMI", required = true) @PathVariable(name = "questionType") QuestionType questionType) {
 
-        return levelOperationsService.createQuestion(questionnaireId);
+        return levelOperationsService.createQuestion(questionnaireId, questionType);
     }
 
     @ApiOperation(httpMethod = "POST",
diff --git a/src/main/java/com/example/demo/service/LevelOperationsService.java b/src/main/java/com/example/demo/service/LevelOperationsService.java
index f533d9987c073e2b1ae4b087e285eb93c81efbc4..ae349743e9984d99f43fe21a1e85259ad02c6552 100644
--- a/src/main/java/com/example/demo/service/LevelOperationsService.java
+++ b/src/main/java/com/example/demo/service/LevelOperationsService.java
@@ -16,6 +16,7 @@ import com.example.demo.dto.TaskDto;
 import com.example.demo.dto.TaskUpdateDto;
 import com.example.demo.dto.InfoLevelUpdateDto;
 import com.example.demo.enums.LevelType;
+import com.example.demo.enums.QuestionType;
 import com.example.demo.mapper.BeanMapper;
 import com.example.demo.repository.BaseLevelRepository;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -144,8 +145,8 @@ public class LevelOperationsService {
         taskService.updateTask(task);
     }
 
-    public QuestionDto createQuestion(Long questionnaireId) {
-        QuestionDto createdQuestion = questionService.createDefaultQuestion(questionnaireId);
+    public QuestionDto createQuestion(Long questionnaireId, QuestionType questionType) {
+        QuestionDto createdQuestion = questionService.createDefaultQuestion(questionnaireId, questionType);
 
         return createdQuestion;
     }
diff --git a/src/main/java/com/example/demo/service/QuestionService.java b/src/main/java/com/example/demo/service/QuestionService.java
index a43bbc9c47b45ea2f024782538affcf8f628fe34..1c60d5866dfed60f6a985a9050bf8756bdfcfe22 100644
--- a/src/main/java/com/example/demo/service/QuestionService.java
+++ b/src/main/java/com/example/demo/service/QuestionService.java
@@ -25,7 +25,7 @@ public class QuestionService {
     @Autowired
     private QuestionRepository questionRepository;
 
-    public QuestionDto createDefaultQuestion(Long questionnaireId) {
+    public QuestionDto createDefaultQuestion(Long questionnaireId, QuestionType questionType) {
         Optional<QuestionnaireLevel> questionnaireLevel = questionnaireLevelRepository.findById(questionnaireId);
         if (questionnaireLevel.isEmpty()) {
             // TODO return 404
@@ -34,7 +34,7 @@ public class QuestionService {
 
         Question question = new Question();
         question.setText("Title of question");
-        question.setQuestionType(QuestionType.MCQ);
+        question.setQuestionType(questionType);
         question.setQuestionnaireLevel(questionnaireLevel.get());
         question.setOrder(questionRepository.getCurrentMaxOrder(questionnaireId) + 1);