List all enrollments: Migration guide

This guide outlines the changes introduced in the List all enrollments v2 endpoint (previously known as getGroups in v1).

💡

Key changes

Pagination: The v2 endpoint is paginated and returns 5000 enrollments 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/:path_id/users
  • API v2: /api/v2/paths/{pathId}/enrollments

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/567b608a1a92bb4fb526b31a/users?company={{company}}&apiKey={{apiKey}}'

API v2 input example

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

Main input differences

Change typeAPI v1API v2
Modified
Path parameter
path_id (Required) Path's unique identifier.Placeholder: pathId: (Required) Description of changes. Path's unique identifier (renamed).
Added
Query parameter
-sessionId (Optional): filters enrollments for a specific session using its unique ID.
Added
Query parameter
-createdAt (Optional): filters enrollments by enrollment date range using the LHS bracket notation. The date format is now YYYY-MM-DD.

Output changes

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

API v1 output example

[
  {
    "_id": "5bead809990d886aa3c5146d",
    "mail": "[email protected]",
    "firstName": "Jean",
    "lastName": "Martin1"
  },
  {
    "_id": "5bead8aa990d8862f3c5146f",
    "mail": "[email protected]",
    "firstName": "Jean",
    "lastName": "Martin2"
  }
]

API v2 output example

[
  {
    "_id": "507f1f77bcf86cd799439011",
    "createdAt": "2025-07-01T08:17:42.042Z",
    "isSelfEnrolled": true,
    "sessionId": "507f1f77bcf86cd799439011",
    "userId": "507f1f77bcf86cd799439011"
  }
]

Main output differences

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

Change typeAPI v1API v2
Removed
Output property
mail: Removed from endpoint v2 version, not replaced.Use the response property userId in the Retrieve a user endpoint to get user's details.
Removed
Output property
firstName: Removed from endpoint v2 version, not replaced.Use the response property userId in the Retrieve a user endpoint to get user's details.
Removed
Output property
lastName: Removed from endpoint v2 version, not replaced.Use the response property userId in the Retrieve a user endpoint to get user's details.
Added
Output property
-createdAt (Required): Date of user's enrollment in the path, in the formatYYYY-MM-DDTHH:mm:ss.sssZ
Added
Output property
-isSelfEnrolled : (Required) indicate whether the learner self-enrolled to this path session or not.
Added
Output property
-sessionId : (Required) unique ID of the path session the learner enrolled into.
Modified
Output property
_id : (Required) unique ID of the user.userId : (Required) unique ID of the user.
Modified
Success response
200: Returns an array of all enrollments.200: Returns one page of 5000 enrollments.
Added
Header
-Link: String. URL (between < and >) to fetch the immediate next page of results. Only included if there is another page of results.