• Free Trial
  • Products
    • LMSThe world’s easiest-to-use learning management system.
    • CoursesA robust library of off-the-shelf learning content.
  • Solutions
    • By Use Case
      • Employee Training
      • Sales Training
      • Customer Training
      • Partner Training
      • Compliance Training
      • View all
    • By Industry
      • Technology
      • Nonprofit
      • Retail
      • Hospitality
      • Healthcare
      • View all
  • Customers
    • Learn more about Litmos customer success stories.
      • Case Studies
      • Video Testimonials
      • I Love Litmos
      • Lenny Awards
    • Featured Customer
      • Sabre, a global travel technology provider, increases revenue by using Litmos to train their sales and technical teams.
  • Pricing
  • Resources
    • Ebooks & Infographics
    • Webinars & Podcasts
    • Events
    • Integrations
    • Blog
  • About
    • Awards
    • Careers
    • Sustainability
  • Free Trial
Litmos
Choose language EN
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • Português
  • 中国
  • 日本
  • 한국어
Log in
Contact us
Support
Search
  • Free Trial
  • Products
    • LMSThe world’s easiest-to-use learning management system.
    • CoursesA robust library of off-the-shelf learning content.
  • Solutions
    • By Use Case
      • Employee Training
      • Sales Training
      • Customer Training
      • Partner Training
      • Compliance Training
      • View all
    • By Industry
      • Technology
      • Nonprofit
      • Retail
      • Hospitality
      • Healthcare
      • View all
  • Customers
    • Learn more about Litmos customer success stories.
      • Case Studies
      • Video Testimonials
      • I Love Litmos
      • Lenny Awards
    • Featured Customer
      • Sabre, a global travel technology provider, increases revenue by using Litmos to train their sales and technical teams.
  • Pricing
  • Resources
    • Ebooks & Infographics
    • Webinars & Podcasts
    • Events
    • Integrations
    • Blog
  • About
    • Awards
    • Careers
    • Sustainability
  • Free Trial

Litmos Documentation

APIs

Home › Litmos Documentation › Bulk Import Courses Via API

Bulk Import Courses Via API

We recommend the “/bulkimports/courses?” endpoint for situations where you need to create or update multiple courses via the API. To update courses, be sure to provide the “CourseCode” value in the request body for each course record that needs to be updated in the import. This value needs to match the “Course code for importing people in bulk” as found under the course settings of each course record.

The POST method will be used to create and update course records. Both XML or JSON formats are accepted. The course bulk import invokes the same import process as the functionality available to Admin from the UI.

Create a new Course Bulk Import for an organization:

Important Notes:

  • Body size max is 2,000kb, the equivalent of nearly 2000 rows.

  • Course Name and Active are required fields.

  • Course Code is required to update existing course records. These codes can be located in the UI on the Course settings pages, otherwise they are available via the API GET /Courses? endpoint.

  • The AdvCourseCustomFields are based on org setup. If the org has mandatory custom fields, these become required in the import else they’re optional.

    • The field value for a course custom field must comply with the chosen field type, or the import will fail for courses without valid values. As such, please check your organization’s date format and any available drop-down values. An invalid data type or format will result in course import failure for that record.

    • If a course custom field provides a default value, this default value will be applied to any applicable column that contains an empty cell.

    • If a mandatory value is required for a course custom field, the course custom field value must be entered for each course or the associated courses won’t be processed. A missing value for a mandatory value will result in a course import failure for that record.

Querystring parameters:

“&sendmessage=[true/false]” set true if you want to receive notifications of the courses imported

“&format=json” sets json format

Request URI

POST /bulkimports/courses?&source={source}&sendmessage=(true/false}

Request Body (XML)

<CourseImports>
<CourseImport>
<CourseTitle>string [max length 255]</CourseTitle>
<Description>string [max length 2500]</Description>
<CourseCode>01234-A</CourseCode>
<Active>true</Active>
<ContentLibrary>false</ContentLibrary>
<Notifications>[Username]</Notifications>
<ModuleOrder>true</ModuleOrder>
<CourseInactivationDate>YYYY-MM-DD</CourseInactivationDate>
<CourseAccessExpirationDate>YYYY-MM-DD</CourseAccessExpirationDate>
<CourseAccessExpirationDateSpan>integer [max length 3 digits]</CourseAccessExpirationDateSpan>
<DueDate>YYYY-MM-DD</DueDate>
<DueDateSpan>integer [max length 3 digits]</DueDateSpan>
<ComplianceDateSpan>integer [max length 3 digits]</ComplianceDateSpan>
<ComplianceRetake>false</ComplianceRetake>
<Topic1>string [max length 200]</Topic1>
<Topic2>string [max length 200]</Topic2>
<Topic3>string [max length 200]</Topic3>
<Social>false</Social>
<DiscussionForum>false</DiscussionForum>
<CoursePrerequisite1>12345-A</CoursePrerequisite1>
<CoursePrerequisite2>23456-A</CoursePrerequisite2>
<CoursePrerequisite3>34567-A</CoursePrerequisite3>
<LearningPathPrerequisite1>12345-LP</LearningPathPrerequisite1>
<LearningPathPrerequisite2>23456-LP</LearningPathPrerequisite2>
<LearningPathPrerequisite3>34567-LP</LearningPathPrerequisite3>
<Language>en-US</Language>
<Tags>string [max length 30]</Tags>
<AdvCourseCustomField1></AdvCourseCustomField1>
<AdvCourseCustomField2></AdvCourseCustomField2>
<AdvCourseCustomField3></AdvCourseCustomField3>
<AdvCourseCustomField4></AdvCourseCustomField4>
<AdvCourseCustomField5></AdvCourseCustomField5>
<AdvCourseCustomField6></AdvCourseCustomField6>
<AdvCourseCustomField7></AdvCourseCustomField7>
<AdvCourseCustomField8></AdvCourseCustomField8>
<AdvCourseCustomField9></AdvCourseCustomField9>
<AdvCourseCustomField10></AdvCourseCustomField10>
<ReferenceCode>string [max length 50]</ReferenceCode>
</CourseImport>
</CourseImports>

Response Body (XML)

<CourseBulkImport xmlns:i=”http://www.w3.org/2001/XMLSchema-instance”>
<ImportId>AAa5LDhYz4s1</ImportId>
<ImportDate>2020-10-15T14:30:40</ImportDate>
<Status>Completed</Status>
<TotalRecords>1</TotalRecords>
<TotalCoursesCreated>1</TotalCoursesCreated>
<Failed>0</Failed>
</CourseBulkImport>

Request URI (JSON)

POST /bulkimports/courses?&source={source}&format=json

Request Body (JSON)

<CourseImports>

<CourseImport>

<CourseTitle>string [max length 255]</CourseTitle>

<Description>string [max length 2500]</Description>

<CourseCode>01234-A</CourseCode>

<Active>true</Active>

<ContentLibrary>false</ContentLibrary>

<Notifications>[Username]</Notifications>

<ModuleOrder>true</ModuleOrder>

<CourseInactivationDate>YYYY-MM-DD</CourseInactivationDate>

<CourseAccessExpirationDate>YYYY-MM-DD</CourseAccessExpirationDate>

<CourseAccessExpirationDateSpan>integer [max length 3 digits]</CourseAccessExpirationDateSpan>

<DueDate>YYYY-MM-DD</DueDate>

<DueDateSpan>integer [max length 3 digits]</DueDateSpan>

<ComplianceDateSpan>integer [max length 3 digits]</ComplianceDateSpan>

<ComplianceRetake>false</ComplianceRetake>

<Topic1>string [max length 200]</Topic1>

<Topic2>string [max length 200]</Topic2>

<Topic3>string [max length 200]</Topic3>

<Social>false</Social>

<DiscussionForum>false</DiscussionForum>

<CoursePrerequisite1>12345-A</CoursePrerequisite1>

<CoursePrerequisite2>23456-A</CoursePrerequisite2>

<CoursePrerequisite3>34567-A</CoursePrerequisite3>

<LearningPathPrerequisite1>12345-LP</LearningPathPrerequisite1>

<LearningPathPrerequisite2>23456-LP</LearningPathPrerequisite2>

<LearningPathPrerequisite3>34567-LP</LearningPathPrerequisite3>

<Language>en-US</Language>

<Tags>string [max length 30]</Tags>

<AdvCourseCustomField1></AdvCourseCustomField1>

<AdvCourseCustomField2></AdvCourseCustomField2>

<AdvCourseCustomField3></AdvCourseCustomField3>

<AdvCourseCustomField4></AdvCourseCustomField4>

<AdvCourseCustomField5></AdvCourseCustomField5>

<AdvCourseCustomField6></AdvCourseCustomField6>

<AdvCourseCustomField7></AdvCourseCustomField7>

<AdvCourseCustomField8></AdvCourseCustomField8>

<AdvCourseCustomField9></AdvCourseCustomField9>

<AdvCourseCustomField10></AdvCourseCustomField10>

<ReferenceCode>string [max length 50]</ReferenceCode>

</CourseImport>

</CourseImports>

Response Body (JSON)

<CourseBulkImport xmlns:i=”http://www.w3.org/2001/XMLSchema-instance”>

<ImportId>AAa5LDhYz4s1</ImportId>

<ImportDate>2020-10-15T14:30:40</ImportDate>

<Status>Completed</Status>

<TotalRecords>1</TotalRecords>

<TotalCoursesCreated>1</TotalCoursesCreated>

<Failed>0</Failed>

</CourseBulkImport>

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of Litmos.

The information contained herein may be changed without prior notice. Some software products marketed by Litmos and its distributors contain proprietary software components of other software vendors. National product specifications may vary.

These materials are provided by Litmos for informational purposes only, without representation or warranty of any kind, and Litmos or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for Litmos company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

In particular Litmos or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and Litmos or its affiliated companies’ strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be changed by Litmos or its affiliated companies at any time for any reason without notice.

The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, and they should not be relied upon in making purchasing decisions.

© 2022 Litmos or a Litmos affiliate company. All rights reserved.

Litmos and other Litmos products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Litmos (or a Litmos affiliate company) in the United States and other countries. All other product and service names mentioned are the trademarks of their respective companies.

In this article

Related articles

  1. Users Via API
  2. Date Range Delta Queries Via API
  3. Instructor Led Training Via API

Also of Interest

  • Informal Learning Experiences: Rich, Real World Education
  • Corporate Learning Management System
  • Open Source Web-Based Training Software
  • What is an eLearning Platform and How Do I Choose One?
  • Mobile Learning for Education
  • LMS
  • eLearning Platform
  • What is a learning management system?
  • See Additional Resources

Solutions by Use Case

  • Employee Training
  • Customer Training
  • Sales Training
  • Operations Training
  • Gig Worker Training
  • Contractor Training
  • Supplier Training

Solutions by Industry

  • Technology
  • Nonprofit
  • Retail
  • Hospitality
  • Healthcare

Contact Us

Contact
USA: +1 925 490 0401
AUS: +61 3 7066 4851
Email
sales@litmos.com
Support
Address
Contact Us
Litmos Reviews Litmos Reviews
Litmos Careers Careers

© 2023 Litmos US, L.P. and affiliates. All rights reserved.

  • Privacy Statement
  • Terms & Conditions
  • Website Terms