List all sessions in a path: Migration guide

This guide outlines the changes introduced in the List all sessions in a path v2 endpoint (previously known as getPathSessions in v1).

💡

Key changes

The workflow is a bit different from v1 to v2 on this one. Using v1 getPathSessions, you were able to list all sessions for all paths within your platform. This is no longer possible, and with v2 listing sessions is only possible at a given path level. This means that to achieve the exact same behavior as with v1 getPathSessions, you should:

  1. Call the List all paths to list all paths in the platform
  2. For each path, retrieve its session by calling the List all sessions in a path

This migration guide will focus on the differences between the v1 getPathSessions and the v2 List all sessions in a path.

  • Pagination: The v2 endpoint is paginated and returns 100 path session per page.

Documentation links

Here are the links to the API reference for:

Endpoint mapping

Here's the direct correlation between the v1 and v2 endpoint URLs:

  • API v1: /api/v1/paths/sessions
  • API v2: /api/v2/paths/{pathId}/sessions

Behavior changes

As previously mentioned, with v2 you can only retrieve sessions at the path level, not for the whole platform independently of the path.

Input changes

This section details the specific alterations to the input requirements between API versions.

API v1 input example

curl --location -g 'https://{{host}}/api/v1/paths/sessions?company={{company}}&apiKey={{apiKey}}'

API v2 input example

curl --request GET \
     --url https://app.360learning.com/api/v2/paths/pathId/sessions \
     --header '360-api-version: v2.0' \
     --header 'accept: application/json'

Main input differences

Change type

API v1

API v2

Added
Path parameter

pathId (Required): Path unique identifier to retrieve sessions for.

Output changes

This section details the specific alterations to the successful output returned between API versions.

API v1 output example

[
  {
    "sessionName": "Onboarding 2022",
    "sessionId": "608001aa34941e74870c2fe4",
    "sessionOwnerGroup": "5bea9b5750e8673025d3761d",
    "sessionModifiedAt": "2021-12-08T12:00:26.336Z",
    "instructorsMails": [
      "[email protected]"
    ],
    "startDate": "2018-11-14T14:42:20.000Z",
    "pathName": "Onboarding Program",
    "pathId": "5bec344cb53db526e1eafc8a",
    "pathOwnerGroup": "5bea9b5750e8673025d3761d",
    "pathModifiedAt": "2021-11-24T11:53:26.399Z",
    "authorsMail": [
      "[email protected]"
    ],
    "pathEstimatedDuration": {
      "value": 13,
      "unit": "day"
    },
    "lang": "en",
    "linear": false,
    "certificateOutlineId": "59cd049cd2f65e2a7bb32794",
    "description": "Description of the session",
    "steps": [
      {
        "_id": "58eb5c621a92bb4fbaa6b2b0",
        "type": "course"
      },
      {
        "_id": "58ebaab81a92bb4fb526b2bc",
        "type": "path"
      },
      {
        "_id": "58eb5cb81a92bb4fcc26b2bc",
        "type": "program"
      }
    ],
    "enrolledGroups": [
      "5f450da9ec565d1b7caa40ff",
      "5f450daccc565d1b7c6940ff"
    ]
  }
]

API v2 output example

[
  {
    "mainInstructorId": "507f1f77bcf86cd799439011",
    "registrationRequestValidation": "disabled",
    "startDate": "2025-09-24T13:04:12.039Z",
    "endDate": "2025-09-24T13:04:12.039Z",
    "userLimit": 0,
    "automaticReenrollment": {
      "type": "certificationExpiryDate",
      "delayDays": 90
    },
    "ipFiltering": {
      "active": true,
      "authorizedAddresses": "'141.25.186.74', '56.231.*.85', '96.127.36.47/28', etc"
    },
    "_id": "507f1f77bcf86cd799439011",
    "createdAt": "2025-09-24T13:04:12.039Z",
    "groupId": "507f1f77bcf86cd799439011",
    "instructorIds": [
      "507f1f77bcf86cd799439011"
    ],
    "isAudienceBuilder": true,
    "modifiedAt": "2025-09-24T13:04:12.039Z",
    "name": "Employee Onboarding October Session.",
    "pathId": "507f1f77bcf86cd799439011",
    "translations": [
      {
        "lang": "fr",
        "published": true,
        "translatorIds": [
          "507f1f77bcf86cd799439011"
        ],
        "translatedFields": {
          "name": "Accueil des employés Session d'Octobre"
        }
      }
    ],
    "additionalInformation": "A0015221",
    "rootSessionId": "507f1f77bcf86cd799439011"
  }
]

Main output differences

This section outlines the primary changes in the structure and content of a successful API response. Key alterations include the renaming and restructuring of several session-related properties, the removal of path-specific details previously embedded within the session response, and the absence of direct enrollment information (e.g., enrolled groups), which was present in v1. New fields for audience management and instructor assignment have also been introduced.

API v2 also introduces pagination for the List all sessions in a path endpoint. Instead of returning all sesions in a single response, it now returns a maximum of 100 sessions per page. To retrieve subsequent pages, you need to follow the URL provided in the Link header of the response.

Change type

API v1

API v2

Removed
Output property

instructorsMails (Required): Array of email addresses belonging to the instructors for this session, with the main instructor as the first item.

  • (Now handled by mainInstructorId and instructorIds using unique IDs)

Removed
Output property

pathName (Required): Name of the path.

Removed
Output property

pathOwnerGroup (Required): ID of the group owning the path.

Removed
Output property

pathModifiedAt (Required): Last modification date of the path (ISO 8601).

Removed
Output property

authorsMail (Required): List of the emails of the authors of the path.

Removed
Output property

skills (Optional): Previously used for what are now named tags. This property is removed from this v2 endpoint's output.

Removed
Output property

tags (Optional): Removed from endpoint v2 version, not replaced.

Removed
Output property

sourceLang (Required): Language (bigram) in which the path was originally created.

Removed
Output property

linear (Required): true if the path steps must be played in a linear progression; false if steps can be played in any order

Removed
Output property

certificateOutlineId (Optional): ID of the certification.

Removed
Output property

steps (Required): Array with the steps included in the path.

Removed
Output property

enrolledGroups (Required): Array with the IDs of the groups enrolled in the session.

Removed
Output property

description (Required): Description of the path session. Removed from v2, not replaced.

Modified
Output property

sessionName (Required): Name of the path session.

name (Required): Renamed.

Modified
Output property

sessionOwnerGroup (Required): ID of the group owning the session.

groupId (Required): Renamed.

Modified
Output property

sessionCreatedAt (Required): Date of creation of the session (ISO 8601).

createdAt (Required): Renamed.

Modified
Output property

sessionModifiedAt (Required): Date of last modification of the session (ISO 8601).

modifiedAt (Required): Renamed.

Modified
Output property

sessionId (Required): ID of the path session.

_id (Required): Modified name.

Modified
Output property

sessionAdditionalInformation (Optional): Additional information for the path session.

additionalInformation (Optional): Modified name.

Modified
Output property

translationsLangs (Required): List of all additional languages associated to the path, including lang, published, and translators.

translations (Required): The different translations available for the path session. Restructured to include translatorIds (changed from translators) and a nested translatedFields object.

Added
Output property

mainInstructorId (Required): The unique ID of the main instructor of the path session.

Added
Output property

instructorIds (Required): The list of unique IDs of the co-instructors of the path session.

Added
Output property

isAudienceBuilder (Required): True if the path session is an audience builder session; false otherwise

Added
Output property

registrationRequestValidation (Required): The registration request validation options for open access registrations.

Added
Output property

automaticReenrollment (Optional): The automatic reenrollment settings if enabled for the path session.

Added
Output property

userLimit (Optional): The maximum number of learners that can self-enroll in the path session.

Added
Output property

rootSessionId (Optional): The unique ID of the root session.