> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opigno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Module Review Interface

For completed modules, the API provides a *review mode*, accessible via a CTA with the `REVIEW_EDGE` action ID. This CTA appears as a `NavigationItem` within the `navigation` field of the `getLearningPath` query.

<CodeGroup>
  ```GraphQL GraphQL [expandable] theme={null}
  query getLearningPath {
    getLearningPath(lpId: 40) {
      userEnrolled
      navigation {
        edgeId
        edgeRid
        title
        description
        contentType
        navigationPath
        locked
        lockReasons
        learningContentType
        attempt {
          metrics {
              status
          }
        }
        cta {
          title
          actionId
          arguments {
            key
            value
          }
          metadata {
            key
            value
          }
        }
      }
    }
  }
  ```

  ```Query Query result [expandable] theme={null}
  {
      "data": {
          "getLearningPath": {
              "userEnrolled": true,
              "navigation": [
                  {
                      "edgeId": "116",
                      "edgeRid": "488",
                      "title": "Target Results of 2024",
                      "description": "<p>Distinctively leverage other's viral initiatives and open-source deliverables. Globally morph ubiquitous vortals vis-a-vis go forward leadership. Quickly synthesize focused \"outside the box\" thinking via resource-leveling communities. Quickly synergize team building expertise with pandemic action items. Distinctively engage team building expertise.</p>",
                      "contentType": "MODULE",
                      "navigationPath": null,
                      "locked": false,
                      "lockReasons": [],
                      "learningContentType": "QUIZ",
                      "attempt": {
                          "metrics": {
                              "status": "PASSED"
                          }
                      },
                      "cta": [
                          {
                              "title": "Review",
                              "actionId": "REVIEW_EDGE",
                              "arguments": [
                                  {
                                      "key": "lpId",
                                      "value": "40"
                                  },
                                  {
                                      "key": "lpAttemptContextId",
                                      "value": "2396"
                                  },
                                  {
                                      "key": "edgeRid",
                                      "value": "481"
                                  }
                              ],
                              "metadata": []
                          }
                      ]
                  },
                  {
                      "edgeId": "119",
                      "edgeRid": "485",
                      "title": "Future goals",
                      "description": null,
                      "contentType": "MODULE",
                      "navigationPath": null,
                      "locked": false,
                      "lockReasons": [],
                      "learningContentType": "QUIZ",
                      "attempt": {
                          "metrics": {
                              "status": "FAILED"
                          }
                      },
                      "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"
                                  }
                              ]
                          }
                      ]
                  }
              ]
          }
      }
  }
  ```
</CodeGroup>

In our learner area, the `REVIEW_EDGE` CTA is displayed as a **Review** button within the corresponding module, as demonstrated below.

<img src="https://mintcdn.com/connect-i/duHonZHPe3F63_yi/images/image-20250508-160112.png?fit=max&auto=format&n=duHonZHPe3F63_yi&q=85&s=fd0de0183e606bca8571ec5992c8e91a" alt="Image 20250508 160112 Pn" width="1128" height="724" data-path="images/image-20250508-160112.png" />

Clicking the **Review** button redirects the user to the *Module Review* interface.

The *Module Review* interface follows the same general structure and logic as the *Take Training* interface. However, unlike the training mode, modifying completed activities is not allowed in review mode.

Below is the query we use to build the Module Review Interface in our learner area:

<CodeGroup>
  ```filename GraphQL [expandable] theme={null}
  query reviewModule {
   	getLearningPathContentData(edgeRid: 481, lpAttemptContextId: 2396, navigationMode: REVIEW) {
      title
      cta {
        title
        actionId
        arguments {
          key
          value
        }
        metadata {
          key
          value
        }
      }
      embeddedUrl
    }
    getLearningPath(lpId: 40) {
      modulesNumber
      cta {
        title
        actionId
        arguments {
          key
          value
        }
        metadata {
          key
          value
        }
      }
      navigation(navigationType: STEP_NAVIGATION, navigationMode: REVIEW, currentStepEdgeRid: 481) {
        edgeId
        edgeRid
        title
        navigationPath
        locked
        attempt {
          metrics {
            status
          }
        }
        learningContentType
        learningContentStepsNumber
        learningContentTypeName
        contentType
        sequence
        cta {
          title
          actionId
          arguments {
            key
            value
          }
          metadata {
            key
            value
          }
        }
      }
      training {
        title
        attempt {
          metrics {
            progress
          }
        }
      }
    }
  }
  ```

  ```File Query result [expandable] theme={null}
  {
      "data": {
          "getLearningPathContentData": {
              "title": "The OPS",
              "cta": [
                  {
                      "title": "Next",
                      "actionId": "REVIEW_EDGE",
                      "arguments": [
                          {
                              "key": "lpId",
                              "value": "40"
                          },
                          {
                              "key": "lpAttemptContextId",
                              "value": "2396"
                          },
                          {
                              "key": "edgeRid",
                              "value": "482"
                          }
                      ],
                      "metadata": []
                  }
              ],
              "embeddedUrl": "http://opigno4-project.docksal.site/opigno-activity/embed/2396/481/review"
          },
          "getLearningPath": {
              "modulesNumber": 2,
              "cta": [
                  {
                      "title": "View",
                      "actionId": "VIEW_LP",
                      "arguments": [
                          {
                              "key": "lpId",
                              "value": "40"
                          }
                      ],
                      "metadata": []
                  }
              ],
              "navigation": [
                  {
                      "edgeId": "116",
                      "edgeRid": "488",
                      "title": "Target Results of 2024",
                      "navigationPath": null,
                      "locked": false,
                      "attempt": {
                          "metrics": {
                              "status": "PASSED"
                          }
                      },
                      "learningContentType": "QUIZ",
                      "learningContentStepsNumber": 2,
                      "learningContentTypeName": "Opigno Module",
                      "contentType": "MODULE",
                      "sequence": "CURRENT",
                      "cta": [
                          {
                              "title": "Review",
                              "actionId": "REVIEW_EDGE",
                              "arguments": [
                                  {
                                      "key": "lpId",
                                      "value": "40"
                                  },
                                  {
                                      "key": "lpAttemptContextId",
                                      "value": "2396"
                                  },
                                  {
                                      "key": "edgeRid",
                                      "value": "481"
                                  }
                              ],
                              "metadata": []
                          }
                      ]
                  },
                  {
                      "edgeId": "117",
                      "edgeRid": "481",
                      "title": "The OPS",
                      "navigationPath": "116:117",
                      "locked": false,
                      "attempt": {
                          "metrics": {
                              "status": "PASSED"
                          }
                      },
                      "learningContentType": "QUIZ",
                      "learningContentStepsNumber": null,
                      "learningContentTypeName": "SCORM package",
                      "contentType": "ACTIVITY",
                      "sequence": "CURRENT",
                      "cta": [
                          {
                              "title": "Review activity",
                              "actionId": "REVIEW_EDGE",
                              "arguments": [
                                  {
                                      "key": "lpId",
                                      "value": "40"
                                  },
                                  {
                                      "key": "lpAttemptContextId",
                                      "value": "2396"
                                  },
                                  {
                                      "key": "edgeRid",
                                      "value": "481"
                                  }
                              ],
                              "metadata": []
                          }
                      ]
                  },
                  {
                      "edgeId": "118",
                      "edgeRid": "482",
                      "title": "The DEV",
                      "navigationPath": "116:118",
                      "locked": false,
                      "attempt": {
                          "metrics": {
                              "status": "PASSED"
                          }
                      },
                      "learningContentType": "QUIZ",
                      "learningContentStepsNumber": null,
                      "learningContentTypeName": "SCORM package",
                      "contentType": "ACTIVITY",
                      "sequence": "NEXT",
                      "cta": [
                          {
                              "title": "Review activity",
                              "actionId": "REVIEW_EDGE",
                              "arguments": [
                                  {
                                      "key": "lpId",
                                      "value": "40"
                                  },
                                  {
                                      "key": "lpAttemptContextId",
                                      "value": "2396"
                                  },
                                  {
                                      "key": "edgeRid",
                                      "value": "482"
                                  }
                              ],
                              "metadata": []
                          }
                      ]
                  },
                  {
                      "edgeId": "119",
                      "edgeRid": "485",
                      "title": "Future goals",
                      "navigationPath": null,
                      "locked": false,
                      "attempt": {
                          "metrics": {
                              "status": "FAILED"
                          }
                      },
                      "learningContentType": "QUIZ",
                      "learningContentStepsNumber": 1,
                      "learningContentTypeName": "Opigno Module",
                      "contentType": "MODULE",
                      "sequence": "NEXT",
                      "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,
                      "learningContentTypeName": "SCORM package",
                      "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
                      }
                  }
              }
          }
      }
  }
  ```
</CodeGroup>

The queries used in the *Module Review* interface are the same as those in the *Take Learning Path* interface. The only difference is that the `navigationMode: REVIEW` argument must be added to the `getLearningPathContentData` query and to the `navigation` field in the `getLearningPath` query. The overall structure and navigation behavior remain consistent with the *Take Learning Path* interface.

Using the data returned from the API, you can build the interface to match what is shown in our learner area:

<img style={{ borderRadius:"0.5em" }} src="https://mintcdn.com/connect-i/duHonZHPe3F63_yi/images/image-20250508-160315.png?fit=max&auto=format&n=duHonZHPe3F63_yi&q=85&s=c27ed2d68ea474371dc6ceac186518b8" alt="Image 20250508 160315 Pn" width="2029" height="1536" data-path="images/image-20250508-160315.png" />
