Create courses and training plans via the API

Some users prefer using the LMS365 (Learn365) API to create courses or training plans instead of the Learn365 Admin Center functionality.

This article provides guidelines on how to create courses via the LMS365 (Learn365) API.

To create a course, follow the steps:

To be able to use the LMS365 (Learn365) API, you should be authorized with the relevant API key on https:/ For details, see this article.

1. In https:/, expand the Courses section.

2. Select the POST/odata/v2/Courses endpoint that creates new courses and training plans and select Try it out.


3. In the opened Parameters section, under Edit Value, enter relevant parameters values to create a training. There are required and optional parameters. Optional parameters can be added after the course or training plan creation by editing the training in the Learn365 Admin Center.

The default data for the values can be of the following types:

  • guid. A unique ID.
  • string. Any finite sequence of characters (letters, numerals, symbols, punctuation marks, etc.).
  • integer. A whole number.
  • boolean. A true or false variable.

The required parameters are:

  • CourseCatalogId. The unique ID of the catalog where this new course will be added. 
  • UICulture. The site language, which should be added from the list of the SharePoint supported languages. Use the locale ID from the LCID column of the SharePoint table with the supported languages, for example en-us for English (United States). Creation will fail in case other format of locales is used.
  • Title. Give your course a title.
  • Description. Provide a short description for your course.
  • CourseType. Specify the relevant training type you're creating:
    • For an e-learning course is 1.
    • For an instructor-led training course is 3.
    • For a training plan is 4.

If this parameter isn't configured or is set as 0, the training type won't be set and it can't be configured later. 


For a course of the instructor-led training type specify the CourseSessionEnrollmentType parameter to configure the enrollment type:

  • 1 is for the Single group or standalone session enrollment type.
  • 2 is for the Multiple groups or standalone sessions enrollment type.
  • 3 is for the All groups and standalone sessions enrollment type.


  • Instructor-Led Training is marked as ClassRoom in the response.
  • To publish your course while creating via API, specify the following parameter:

          "PublishingSettings": {"IsEnabled": true}

Optional parameters to pay attention to:

  • TeacherLogins. Specify the usernames you want to assign as course admins.
  • TrainerLogins. Specify the users from the TeacherLogins field who you want to display as contacts on the training home page. If you add a user here who isn't also included in the TeacherLogins field, they won't be displayed as a contact on the training home page.
  • VisitorLogins. If the Training Audience Targeting option is enabled, specify the users to be the target audience. If the Training Audience Targeting option is disabled, no users will be set as the target audience.


Requests to create a training with the required parameters and the publishing status set.

Creating an e-learning course

"CourseCatalogId": "d4d0b82f-e67f-46d7-a142-fc347a520973",
"UICulture": "en-us",
"Title": "Business Analysis, part 2",
"Description": "The course is oriented towards expert business analysts.",
"CourseType": "1",
"PublishingSettings": {"IsEnabled": true}


Creating an instructor-led training course

"CourseCatalogId": "d4d0b82f-e67f-46d7-a142-fc347a520973",
"UICulture": "fr-fr",
"Title": "Analyse commerciale, partie 4",
"Description": "Le cours s'adresse aux analystes commerciaux experts.",
"CourseType": "3",
"CourseSessionEnrollmentType": "3",
"PublishingSettings": {"IsEnabled": true}


Creating a training plan

"CourseCatalogId": "d4d0b82f-e67f-46d7-a142-fc347a520973",
"UICulture": "de-de",
"Title": "Geschäftsanalyse",
"Description": "Der Ausbildungsplan ist auf erfahrene Business Analysten ausgerichtet.",
"CourseType": "4",
"PublishingSettings": {"IsEnabled": true}

4. Select Execute to run the request and create a training.

5. Go to the Responses block to check the results:

  • Number 2xx (for example, 202) under Code shows that the request worked correctly. 
  • You can use the Download option to save the results to your device in JSON format.
  • In the Response body field, you will see a newly created training with the set parameters. The course is displayed on the Training Management page of the Learn365 Admin Center where you can view and manage its settings.



We recommend you wait a while before adding learning items and configuring the settings of a newly created course or training plan to ensure the successful provisioning of the training. You can use the LMS365 (Learn365) API to check the training creation status.

Was this article helpful?
2 out of 3 found this helpful


Article is closed for comments.