Retrieve a course: Migration guide

This guide outlines the changes introduced in the Retrieve a course v2 endpoint (previously known as getCourse 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/courses/:course_id
  • API v2: /api/v2/courses/{courseId}

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/courses/58eb5c621a92bb4fb526b2b0?company={{company}}&apiKey={{apiKey}}'

API v2 input example

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

Output changes

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

API v1 output example

{
  "_id": "58eb5c621a92bb4fb526b2b0",
  "author": "[email protected]",
  "creationDate": "2021-05-19T14:43:23.000Z",
  "description": "",
  "modificationDate": "2021-05-20T08:08:23.195Z",
  "name": "course name",
  "status": "published",
  "group": "58eb5c621a92bb4fb526b2b0",
  "lang": "en",
  "coAuthors": [
    "[email protected]"
  ],
  "courseDuration": 15,
  "translationsLangs": [
    {
      "lang": "fr",
      "published": true,
      "translators": [
        "[email protected]"
      ]
    }
  ],
  "groupName": "Onboarding"
}

API v2 output example

{
  "_id": "507f1f77bcf86cd799439011",
  "authorId": "507f1f77bcf86cd799439011",
  "coAuthorIds": [
    "507f1f77bcf86cd799439011"
  ],
  "createdAt": "2025-09-12T12:33:30.423Z",
  "defaultLang": "bg",
  "groupId": "507f1f77bcf86cd799439011",
  "modifiedAt": "2025-09-12T12:33:30.423Z",
  "name": "Employee Onboarding",
  "sourceLang": "bg",
  "status": "archived",
  "translations": [
    {
      "lang": "fr",
      "published": true,
      "translatorIds": [
        "507f1f77bcf86cd799439011"
      ],
      "translatedFields": {
        "name": "Accueil des employés",
        "description": "Ce module vous apprend à intégrer un nouveau collaborateur !"
      }
    }
  ],
  "type": "elearning standard",
  "description": "This course will teach you how to onboard a new employee!",
  "duration": 0,
  "externalPlatform": "Udemy",
  "currentVersionNumber": 0
}

Main output differences

Change typeAPI v1API v2
Removed
Output property
groupName: Removed from endpoint v2 version, not replaced.-
Modified
Success output
author & coAuthors: emails of the course author and co-authorsauthorId & coAuthorIds: Replaced by users' internal IDs in v2. Use Retrieve a user to get full users' information.
Modified
Output property
courseDuration: Renamed to duration in v2 version.-
Modified
Output property
lang: Renamed to sourceLang in v2 version.-
Modified
Output property
status: Status of the course.Now includes a new value: deleted for deleted courses.
Added
Output property
-externalPlatform: Identifier of the external content provider if the course is external.
Added
Output property
-currentVersionNumber: Current course version identifier.
Added
Output property
-type: Course type. Possible values:

- native: Course natively created on 360Learning platform.
- elearning standard: eLearning standard course (e.g., SCORM, AICC).
- external: Course from an external content provider.