List all paths: Migration guide
This guide outlines the changes introduced in the List all paths v2 endpoint (previously known as getPaths
in v1).
Key changes
- Pagination: The v2 endpoint is paginated and returns 200 paths 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
- API v2:
/api/v2/paths
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?company={{company}}&apiKey={{apiKey}}'
API v2 input example
curl --request GET \
--url https://app.360learning.com/api/v2/paths \
--header '360-api-version: v2.0' \
--header 'accept: application/json'
Main input differences
Change type | API v1 | API v2 |
---|---|---|
Modified Query parameters | modifiedAfter (Optional): Timestamp filters, in the formatYYYY-MM-DDTHH:mm:ss.sssZ . | modifiedAt (Optional): Modified name, functionality, syntax, and date format. Now, this single filter replaces the former filter modifiedAfter . It filters paths by modification date range using the LHS bracket notation. The date format is now YYYY-MM-DD . |
Added Query parameter | - | createdAt (Optional): New filter. It filters paths by creation date range using the LHS bracket notation. The date format is now YYYY-MM-DD |
Added Query parameter | - | status (Optional): New filter. It filters paths by status using the LHS bracket notation. |
Output changes
This section details the specific alterations to the successful output returned between API versions.
API v1 output example
{
"_id": "6307bb2f66977c8e2316d6d5",
"authorId": "62bdbc00293a604543f44386",
"description": "This is my first path.",
"certificatePDF": "My certificate",
"createdAt": "2022-08-25T18:10:55.000Z",
"defaultLang": "en",
"groupId": "62bdbc00293a604543f44387",
"modifiedAt": "2023-05-15T16:04:24.334Z",
"name": "My first path",
"sessionIds": [
"6307bb305ab5e0ebdb1138e8"
],
"sourceLang": "en",
"steps": [
{
"_id": "62e29a923c24c589a7f21aa5",
"title": "Welcome to the team!",
"type": "course"
},
{
"_id": "6372592c18f8f7bf27527977",
"title": "First classroom",
"type": "classroom"
}
],
"translationsLangs": [
{
"lang": "fr",
"published": true,
"translators": [
"[email protected]"
]
}
]
}
API v2 output example
[
{
"_id": "507f1f77bcf86cd799439011",
"authorId": "507f1f77bcf86cd799439011",
"createdAt": "2025-07-01T08:17:42.042Z",
"defaultLang": "bg",
"groupId": "507f1f77bcf86cd799439011",
"modifiedAt": "2025-07-01T08:17:42.042Z",
"name": "Employee Onboarding",
"options": {
"linearProgression": true,
"mandatoryReplay": true,
"displayForum": true,
"displayClassroomMessages": true,
"automatedReminders": true,
"notificationOnStepCreation": true
},
"sourceLang": "bg",
"status": "archived",
"steps": [
{
"_id": "507f1f77bcf86cd799439011",
"type": "assessment",
"options": {
"isExamination": true,
"minScore": 0
}
},
{
"_id": "507f1f77bcf86cd799439011",
"type": "classroom",
"options": {
"optional": true,
"relativeDate": {
"unit": "day",
"value": 0.01
},
"autoRegistration": true,
"selfRegistration": {
"enabled": true,
"delay": {
"unit": "day",
"value": 0.01
}
},
"attendanceSheets": {
"unit": "day",
"number": 0
}
}
},
{
"_id": "507f1f77bcf86cd799439011",
"type": "course",
"options": {
"optional": true,
"relativeDate": {
"unit": "day",
"value": 0.01
},
"showCorrection": "never",
"showForum": "never",
"timeLimit": {
"mode": "maxTime",
"value": 0
},
"minScore": 0,
"attemptsLimit": 1,
"availability": {
"mode": "afterEnrollmentDate",
"relativeDate": {
"unit": "day",
"value": 0.01
}
}
},
"subtype": "quiz"
},
{
"_id": "507f1f77bcf86cd799439011",
"type": "email",
"options": {
"recipientType": "learner",
"scheduling": {
"relativeTo": "afterEnrollmentDate",
"relativity": 1,
"condition": "completed"
}
}
},
{
"_id": "507f1f77bcf86cd799439011",
"type": "path",
"options": {
"optional": true,
"relativeDate": {
"unit": "day",
"value": 0.01
}
}
},
{
"_id": "507f1f77bcf86cd799439011",
"type": "program",
"options": {
"optional": true,
"relativeDate": {
"unit": "day",
"value": 0.01
}
}
},
{
"_id": "507f1f77bcf86cd799439011",
"type": "slackMessage",
"options": {
"recipientType": "learner",
"scheduling": {
"relativeTo": "afterEnrollmentDate",
"relativity": 1,
"condition": "completed"
}
}
},
{
"_id": "507f1f77bcf86cd799439011",
"type": "teamsMessage",
"options": {
"recipientType": "learner",
"scheduling": {
"relativeTo": "afterEnrollmentDate",
"relativity": 1,
"condition": "completed"
}
}
}
],
"translations": [
{
"lang": "fr",
"published": true,
"translatorIds": [
"507f1f77bcf86cd799439011"
],
"translatedFields": {
"name": "Accueil des employés",
"description": "Ce chemin vous apprend à intégrer un nouveau collaborateur !"
}
}
],
"additionalInformation": "Training content 203",
"certificateId": "507f1f77bcf86cd799439011",
"description": "This path will teach you how to onboard a new employee!",
"estimatedDuration": {
"unit": "day",
"value": 0
},
"estimatedWeeklyCommitment": {
"min": 0,
"max": 0
}
}
]
Main output differences
API v2 introduces pagination for the List all paths endpoint. Instead of returning all paths in a single response, it now returns a maximum of 500 paths 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 | sessionIds (Required): Removed from endpoint v2 version. | The list of sessions is not returned anymore in the response. You can use List all sessions in a path with the path unique ID to retrieve the list. |
Added Output property | - | status (Required): path status. |
Added Output property | - | options (Required): full list of path options. |
Added Output property | - | estimatedDuration (Required): path estimated duration. |
Added Output property | - | estimatedWeeklyCommitment (Required): path estimated weekly commitment. |
Modified Output property | translationLangs (Required): list of path's translations. | Renamed to translations in v2. |
Modified Success response | 200 : Returns an array of all paths. | 200 : Returns one page of 200 paths. |
Added Header | - | Link : String. URL (between < and > ) to fetch the immediate next page of results. Only included if there is another page of results. |
Updated 5 days ago