diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/reactions/ReactionsRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/reactions/ReactionsRestImpl.java
index d8a8ed17ac8d9e7a93c5dfd817f5d74e295ad6da..e9854d5ccf2b0168283c81ac629263cc014c909b 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/reactions/ReactionsRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/reactions/ReactionsRestImpl.java
@@ -13,6 +13,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
 import lcsb.mapviewer.api.BaseRestImpl;
+import lcsb.mapviewer.model.map.kinetics.SbmlFunction;
+import lcsb.mapviewer.model.map.kinetics.SbmlKinetics;
+import lcsb.mapviewer.model.map.kinetics.SbmlParameter;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.reaction.Modifier;
 import lcsb.mapviewer.model.map.reaction.Product;
@@ -142,6 +145,8 @@ public class ReactionsRestImpl extends BaseRestImpl {
         value = new LightReactionView(reaction).getLines();
       } else if (column.equals("notes")) {
         value = reaction.getNotes();
+      } else if (column.equals("kineticlaw")) {
+        value = kineticsToMap(reaction.getKinetics());
       } else if (column.equals("references")) {
         value = createAnnotations(reaction.getMiriamData());
       } else {
@@ -152,6 +157,25 @@ public class ReactionsRestImpl extends BaseRestImpl {
     return result;
   }
 
+  private Map<String, Object> kineticsToMap(SbmlKinetics kinetics) {
+    if (kinetics == null) {
+      return null;
+    }
+    Map<String, Object> result = new HashMap<>();
+    result.put("definition", kinetics.getDefinition());
+    List<Integer> functionIds = new ArrayList<>();
+    for (SbmlFunction function : kinetics.getFunctions()) {
+      functionIds.add(function.getId());
+    }
+    result.put("functionIds", functionIds);
+    List<Integer> parameterIds = new ArrayList<>();
+    for (SbmlParameter parameter : kinetics.getParameters()) {
+      parameterIds.add(parameter.getId());
+    }
+    result.put("parameterIds", parameterIds);
+    return result;
+  }
+
   private Set<String> createReactionColumnSet(String columns) {
     Set<String> columnsSet = new HashSet<>();
     if (columns.equals("")) {
@@ -160,6 +184,7 @@ public class ReactionsRestImpl extends BaseRestImpl {
       columnsSet.add("modelId");
       columnsSet.add("type");
       columnsSet.add("lines");
+      columnsSet.add("kineticLaw");
       columnsSet.add("centerPoint");
       columnsSet.add("products");
       columnsSet.add("reactants");