diff --git a/api/kogito-api/src/main/java/org/kie/kogito/process/WorkItem.java b/api/kogito-api/src/main/java/org/kie/kogito/process/WorkItem.java
index a936ffc762c..0ecbe1b1334 100644
--- a/api/kogito-api/src/main/java/org/kie/kogito/process/WorkItem.java
+++ b/api/kogito-api/src/main/java/org/kie/kogito/process/WorkItem.java
@@ -21,6 +21,10 @@ public interface WorkItem {
String getId();
+ default String getNodeId() {
+ throw new UnsupportedOperationException();
+ }
+
String getNodeInstanceId();
String getName();
diff --git a/api/kogito-api/src/main/java/org/kie/kogito/process/workitem/TaskModel.java b/api/kogito-api/src/main/java/org/kie/kogito/process/workitem/TaskModel.java
new file mode 100644
index 00000000000..89063d4429b
--- /dev/null
+++ b/api/kogito-api/src/main/java/org/kie/kogito/process/workitem/TaskModel.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2021 Red Hat, Inc. and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.kie.kogito.process.workitem;
+
+/**
+ * Process view of a work item.
+ * It includes only parameters and results as defined in process plus getters to get the active phase.
+ *
+ * @param
Input generated class
+ * @param Output generated class
+ */
+public interface TaskModel {
+
+ String getId();
+
+ String getName();
+
+ int getState();
+
+ String getPhase();
+
+ String getPhaseStatus();
+
+ P getParameters();
+
+ R getResults();
+}
diff --git a/integration-tests/integration-tests-quarkus-processes/src/test/java/org/kie/kogito/integrationtests/quarkus/TaskTest.java b/integration-tests/integration-tests-quarkus-processes/src/test/java/org/kie/kogito/integrationtests/quarkus/TaskTest.java
index c5b0e220a1a..22ad1a2706a 100644
--- a/integration-tests/integration-tests-quarkus-processes/src/test/java/org/kie/kogito/integrationtests/quarkus/TaskTest.java
+++ b/integration-tests/integration-tests-quarkus-processes/src/test/java/org/kie/kogito/integrationtests/quarkus/TaskTest.java
@@ -106,6 +106,18 @@ void testSaveTask() {
.statusCode(200)
.extract()
.as(Map.class));
+
+ assertEquals(true, given().contentType(ContentType.JSON)
+ .when()
+ .queryParam("user", "admin")
+ .queryParam("group", "managers")
+ .pathParam("processId", processId)
+ .pathParam("taskId", taskId)
+ .get("/approvals/{processId}/firstLineApproval/{taskId}")
+ .then()
+ .statusCode(200)
+ .extract()
+ .path("results.approved"));
}
@Test
diff --git a/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/EnumsTest.java b/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/EnumsTest.java
index 2f82a9c0d5b..704161e2b9b 100644
--- a/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/EnumsTest.java
+++ b/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/EnumsTest.java
@@ -17,6 +17,7 @@
package org.kie.kogito.integrationtests.springboot;
import java.util.Collections;
+
import java.util.HashMap;
import java.util.Map;
@@ -26,7 +27,7 @@
import org.acme.examples.model.Rating;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
-import org.kie.kogito.process.WorkItem;
+import org.kie.kogito.process.workitem.TaskModel;
import org.kie.kogito.testcontainers.springboot.InfinispanSpringBootTestResource;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@@ -66,7 +67,7 @@ void testSubmitMovie() {
.extract()
.path("id");
- WorkItem task = given()
+ TaskModel task = given()
.when()
.get("/cinema/{pid}/tasks", pid)
.then()
diff --git a/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/TaskTest.java b/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/TaskTest.java
index 238866b48c7..2cd986132be 100644
--- a/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/TaskTest.java
+++ b/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/TaskTest.java
@@ -259,6 +259,18 @@ void testSaveTask() {
.statusCode(200)
.extract()
.as(Map.class));
+
+ assertEquals(true , given().contentType(ContentType.JSON)
+ .when()
+ .queryParam("user", "admin")
+ .queryParam("group", "managers")
+ .pathParam("processId", processId)
+ .pathParam("taskId", taskId)
+ .get("/approvals/{processId}/firstLineApproval/{taskId}")
+ .then()
+ .statusCode(200)
+ .extract()
+ .path("results.approved"));
}
@Test
diff --git a/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/TestWorkItem.java b/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/TestWorkItem.java
index 6dee54cd5d5..e3726962538 100644
--- a/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/TestWorkItem.java
+++ b/integration-tests/integration-tests-springboot/src/it/integration-tests-springboot-it/src/test/java/org/kie/kogito/integrationtests/springboot/TestWorkItem.java
@@ -16,11 +16,10 @@
package org.kie.kogito.integrationtests.springboot;
import java.util.Map;
+import org.kie.kogito.process.workitem.TaskModel;
-import org.kie.kogito.process.WorkItem;
-
-public class TestWorkItem implements WorkItem {
+public class TestWorkItem implements TaskModel