diff --git a/src/main/java/org/hbp/mip/controllers/MiningApi.java b/src/main/java/org/hbp/mip/controllers/MiningApi.java
index aaa553dbf7ac31211e32c4967aa11862ed2c0ad0..15addb9e1983b16e0a75e75f9b02fb7668b67384 100644
--- a/src/main/java/org/hbp/mip/controllers/MiningApi.java
+++ b/src/main/java/org/hbp/mip/controllers/MiningApi.java
@@ -108,7 +108,9 @@ public class MiningApi {
             if (algo.getCode().equals(algoCode))
             {
                 if(algo.getSource().equals(ML_SOURCE)) {
-                    return postMipMining(algoCode, model);
+                    Algorithm algorithm = new Gson().fromJson(new JsonParser().parse(query).getAsJsonObject()
+                            .get("algorithm").getAsJsonObject(), Algorithm.class);
+                    return postMipMining(algorithm, model);
                 }
                 else if(algo.getSource().equals(EXAREME_SOURCE))
                 {
@@ -120,10 +122,10 @@ public class MiningApi {
         return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
     }
 
-    private ResponseEntity<String> postMipMining(String algoCode, Model model) throws Exception {
+    private ResponseEntity<String> postMipMining(Algorithm algorithm, Model model) throws Exception {
 
         SimpleMiningQuery smq = new SimpleMiningQuery();
-        smq.setAlgorithm(algoCode);
+        smq.setAlgorithm(algorithm);
 
         LinkedList<Map<String,String>> vars = new LinkedList<>();
         for(Variable var : model.getQuery().getVariables())
diff --git a/src/main/java/org/hbp/mip/model/SimpleMiningQuery.java b/src/main/java/org/hbp/mip/model/SimpleMiningQuery.java
index cbc400cd4819774875c845055bc8bf24fde4e98f..7f4dc9c34c5139c92cbd8f7027f7a0625eb9eeb8 100644
--- a/src/main/java/org/hbp/mip/model/SimpleMiningQuery.java
+++ b/src/main/java/org/hbp/mip/model/SimpleMiningQuery.java
@@ -2,6 +2,7 @@ package org.hbp.mip.model;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModel;
+import org.hbp.mip.model.algorithm.Algorithm;
 
 import java.util.List;
 import java.util.Map;
@@ -14,7 +15,7 @@ import java.util.Map;
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class SimpleMiningQuery {
 
-    private String algorithm;
+    private Algorithm algorithm;
 
     private List<Map<String,String>> variables;
 
@@ -25,11 +26,11 @@ public class SimpleMiningQuery {
     private List<Map<String,String>> filters;
 
 
-    public String getAlgorithm() {
+    public Algorithm getAlgorithm() {
         return algorithm;
     }
 
-    public void setAlgorithm(String algorithm) {
+    public void setAlgorithm(Algorithm algorithm) {
         this.algorithm = algorithm;
     }