getLearningPathContentResultsData, which is used to display feedback to the end user about their module completion status and to review submitted answers(if this option is enabled for the step).
This interface generally follows the same structure and logic as the Take Training interface.
Below is the query we use to build the Module Results interface in our learner area:
query ModuleResultsForm {
getLearningPathContentResultsData(edgeRid: 485, lpAttemptContextId: 2396) {
title
cta {
title
actionId
arguments {
key
value
}
metadata {
key
value
}
}
... on ModuleResultsData {
embeddedUrl
}
}
getLearningPath(lpId: 40) {
modulesNumber
infoMessage(currentStepEdgeRid: 485) {
type
title
description
status
cta {
title
actionId
arguments {
key
value
}
metadata {
key
value
}
}
}
cta {
title
actionId
arguments {
key
value
}
metadata {
key
value
}
}
navigation(navigationType: STEP_NAVIGATION, currentStepEdgeRid: 485, navigationMode: REVIEW) {
edgeId
edgeRid
title
navigationPath
locked
attempt {
metrics {
status
}
}
learningContentType
learningContentStepsNumber
contentType
sequence
cta {
title
actionId
arguments {
key
value
}
metadata {
key
value
}
}
}
training {
title
attempt {
metrics {
progress
}
}
}
}
}
{
"data": {
"getLearningPathContentResultsData": {
"title": "Future goals",
"cta": [
{
"title": "Back to training homepage",
"actionId": "BACK_TO_LP_HP",
"arguments": [
{
"key": "lpId",
"value": "40"
}
],
"metadata": []
}
],
"embeddedUrl": "http://opigno4-project.docksal.site/opigno-module/embed/2396/485"
},
"getLearningPath": {
"modulesNumber": 2,
"infoMessage": [
{
"type": "ATTEMPT_IS_FAILED",
"title": "You failed",
"description": "Unfortunately you didn't meet the requirements to pass this module. But, you have an additional chance and you can restart it by clicking on the button below. Good luck!",
"status": "ERROR",
"cta": [
{
"title": "Restart",
"actionId": "RESTART_EDGE",
"arguments": [
{
"key": "lpAttemptContextId",
"value": "2396"
},
{
"key": "edgeRid",
"value": "485"
}
],
"metadata": [
{
"key": "type",
"value": "button"
}
]
}
]
}
],
"cta": [
{
"title": "View",
"actionId": "VIEW_LP",
"arguments": [
{
"key": "lpId",
"value": "40"
}
],
"metadata": []
}
],
"navigation": [
{
"edgeId": "119",
"edgeRid": "485",
"title": "Future goals",
"navigationPath": null,
"locked": false,
"attempt": {
"metrics": {
"status": "FAILED"
}
},
"learningContentType": "QUIZ",
"learningContentStepsNumber": 1,
"contentType": "MODULE",
"sequence": "CURRENT",
"cta": [
{
"title": "Review",
"actionId": "REVIEW_EDGE",
"arguments": [
{
"key": "lpId",
"value": "40"
},
{
"key": "lpAttemptContextId",
"value": "2396"
},
{
"key": "edgeRid",
"value": "486"
}
],
"metadata": []
},
{
"title": "Restart",
"actionId": "RESTART_EDGE",
"arguments": [
{
"key": "lpAttemptContextId",
"value": "2396"
},
{
"key": "edgeRid",
"value": "485"
}
],
"metadata": [
{
"key": "type",
"value": "button"
}
]
}
]
},
{
"edgeId": "120",
"edgeRid": "486",
"title": "Best practices",
"navigationPath": "119:120",
"locked": false,
"attempt": {
"metrics": {
"status": "PASSED"
}
},
"learningContentType": "QUIZ",
"learningContentStepsNumber": null,
"contentType": "ACTIVITY",
"sequence": null,
"cta": [
{
"title": "Review activity",
"actionId": "REVIEW_EDGE",
"arguments": [
{
"key": "lpId",
"value": "40"
},
{
"key": "lpAttemptContextId",
"value": "2396"
},
{
"key": "edgeRid",
"value": "486"
}
],
"metadata": []
}
]
}
],
"training": {
"title": "How to build High-Load Infrastructure in 2025",
"attempt": {
"metrics": {
"progress": 100
}
}
}
}
}
}
embeddedUrl field under ModuleResultsData. This field provides the URL used to embed the module results in an iframe, allowing users to review their submission directly within the platform.
The ModuleResultsData object also includes additional fields that expose key result metrics directly, without requiring the iframe.Please refer to the API schema for a full list of available fields. Using the data returned from the API, you can build the interface to match what is shown in our learner area:
