🧭 Learning Path Navigation
Thenavigation
field of the learningPath
object provides a flexible entry point for retrieving navigation-related data within a Learning Path.This field accepts several optional arguments, allowing the API to adapt to different navigation scenarios based on context and interaction mode.
Navigation Query Arguments
Argument | Type | Description | Default |
---|---|---|---|
navigationType | NavigationType | Defines the scope of navigation. It determines which parts of the Learning Path structure are included. | TRAINING_NAVIGATION |
navigationMode | NavigationMode | Determines how the user is interacting with the content — for example, whether they are taking or reviewing steps. | TAKE |
currentStepEdgeRid | ID | Optional in most cases, but required for STEP_NAVIGATION . If provided, it helps tailor the navigation data to the user’s current position. | — |
All arguments are optional and designed to work together to support various navigation use cases in a single, unified entry point. However, some limitations do apply — please refer to the description of the navigation field in the API schema for details on usage constraints and compatibility between arguments.
📚 Navigation Types
TheNavigationType
enum defines the overall structure of the navigation response. Each type targets a different use case:
NavigationType | Description |
---|---|
TRAINING_NAVIGATION | Focuses on module-level navigation within the current training. This is best used to render high-level overviews of a training structure. |
STEP_NAVIGATION | Designed for in-depth progression tracking within a module. It includes current activities and references to upcoming modules. |
FULL_NAVIGATION | Returns the complete navigation tree for the entire Learning Path. Useful for dashboards or detailed overviews of user progress and structure. |
STEP_NAVIGATION
requires the currentStepEdgeRid
argument and is the only mode that supports REVIEW navigation mode.🧭 Navigation Modes
TheNavigationMode
enum defines how the user is interacting with the Learning Path content. It influences what kind of navigation data is returned and how the system interprets user intent.
NavigationMode | Description |
---|---|
TAKE | The user is actively engaging with the content — progressing through modules and activities. |
REVIEW | The user is revisiting previously completed content. This mode is only supported with STEP_NAVIGATION . |
navigationType: Training navigation
navigationType: Training navigation
navigationType: STEP_NAVIGATION, navigationMode: TAKE
navigationType: STEP_NAVIGATION, navigationMode: TAKE
navigationType: STEP_NAVIGATION, navigation Mode: REVIEW
navigationType: STEP_NAVIGATION, navigation Mode: REVIEW
🧩 Reconstructing Hierarchical Relationships
Due to limitations in how GraphQL handles recursive structures, thenavigation
field returns all NavigationItem
objects as flat array entries. This means hierarchical relationships (such as Training → Module → Activity
) are not nested in the API response.
To reconstruct this structure on the client side, each NavigationItem
includes a navigationPath
field. This field provides the hierarchical relationship of each item in the form of a colon-separated list of edgeId
values, representing the item’s path through the Learning Path.
Here is an example of the getLearningPath
query using navigationType: FULL_NAVIGATION
:
navigationPath
field structure, which allows you to reconstruct parent-child relationships between navigation items:
Example Value | Meaning |
---|---|
116:117 | The current item (edgeId = 117 ) is a child of the item with edgeId = 116 . |
116 | The item is at a top level (e.g. a module or training), with no parent in the structure. |
- The last value always represents the current item’s
edgeId
. - The preceding values reflect the item’s parent hierarchy.