Once a user is enrolled in a Learning Path through a membership, they can begin their learning journey by creating a Learning Path Attempt. This attempt serves as a persistent container for all user interactions and progress throughout the Learning Path. All responses and data submitted by the user should be stored under the Attempt ID returned from the API call. In the NavigationItem CTA list, you’ll find the CTA with the action ID CREATE_LP_ATTEMPT. This CTA is available for all non-locked NavigationItems of contentType MODULE.
query getLearningPath {
  getLearningPath(lpId: 40) {
    userEnrolled
    navigation(navigationType: FULL_NAVIGATION) {
      edgeId
      edgeRid
      title
      description
      contentType
      navigationPath
      locked
      lockReasons
      learningContentType
      cta {
        title
        actionId
        arguments {
          key
          value
        }
        metadata {
          key
          value
        }
      }
    }
  }
}
Using the CREATE_LP_ATTEMPT CTA, you can display the Start button for the associated module. We recommend displaying the Start button within the module itself, as this allows users to begin modules in any order when free navigation is enabled. Below is how this section appears in our learner area: Cff91286 3bb2 471b Bd4c Ec659294fc59 Pn When the user clicks the Start button, you need to call the createLpAttempt mutation using the arguments provided in the CREATE_LP_ATTEMPT CTA.
mutation createLpAttempt {
  createLpAttempt(lpId: 40, edgeRid: 488) {
    response {
      cta {
        actionId
        arguments {
          key
          value
        }
      }
    }
  }
}
In the mutation response, you will receive a CTA with the action ID TAKE_EDGE, which indicates that the user should now be redirected to the Learning Path take interface.
Note: Once a Learning Path Attempt is successfully created, the CREATE_LP_ATTEMPT CTA will be removed from the NavigationItem CTA list and replaced with a CTA that has the action ID TAKE_EDGE.