Migrate getPaths
This guide outlines the changes introduced in the List all paths v2 endpoint (previously known as getPaths in v1).
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 4 months ago
Did this page help you?

