LMS API (1.0.0)

Download OpenAPI specification:Download

The NetDimensions LMS API documentation.

Catalog

Resources for browsing and searching the course catalog

Return a catalog content given it's ID

Returns a single catalog. Includes information about the catalog's parent and children and the modules it contains.

path Parameters
catalogId
required
string

ID of the catalog to return

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "_links": {
    }
}

Return matching courses based on keyword search

  • Search catalog using given search keyword and return all matching courses.
  • Only courses set to show in a catalog visible to the user are included. This respects the 'Enable catalog assignment at the user level' setting.
  • Archived courses are excluded from search.
  • Sorting order is first by relevance (desc) and second by title in primary language (asc).
  • Only courses with learning types allowed in LMS license are included.
  • Disabled learning types are excluded from search.
query Parameters
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25
keyword
string

Filters on course title, module ID, description, objectives, target audience, reference number and vendors (partial match)

Responses

Response samples

Content type
application/json
{}

Return matching courses based on keyword search and extended filter set

  • Search catalog using given filter set and return all matching courses.
  • Only courses set to show in a catalog visible to the user are included. This respects the 'Enable catalog assignment at the user level' setting.
  • Archived courses are excluded from search.
  • Sorting order is first by relevance (desc) and second by title in primary language (asc).
  • Only courses with learning types allowed in LMS license are included.
  • Disabled learning types are excluded from search.
Request Body schema: application/json
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25
keyword
string

Filters on course title, module ID, description, objectives, target audience, reference number and vendors (partial match)

vendorId
Array of strings

Filters on Vendor by specific ID. Allows for multiple values.

learningType
Array of strings
Items Enum: "learningProgram" "book" "video" "cd" "audioCassette" "externalCourse" "justInTimeLearning" "classroom" "virtualClassroom" "archivedVirtualClassroom" "workshopSeminar" "externalCertification" "onlineModule" "exam" "selfTrainingPaper" "selfTrainingVideo" "specialInterestGroup" "coaching" "internship" "onTheJobTraining" "task"

Filters on Learning Type by specific code. Allows for multiple values.

catalogId
string

Filters on Catalog by specific ID.

subjectId
Array of strings

Filters on Subject by specific ID. Allows for multiple values.

categoryId
Array of strings

Filters on Category by specific ID. Allows for multiple values.

language
Array of strings

Filters on Course-Module Language by specific code. Allows for multiple values.

includeSubCatalogs
boolean
Default: true

Filters on either given catalog only or on all catalogs below and including the given catalog.

Responses

Request samples

Content type
application/json
{
  • "offset": 0,
  • "limit": 25,
  • "keyword": "string",
  • "vendorId": [
    ],
  • "learningType": [
    ],
  • "catalogId": "EKP1234567890",
  • "subjectId": [
    ],
  • "categoryId": [
    ],
  • "language": [
    ],
  • "includeSubCatalogs": true
}

Response samples

Content type
application/json
{}

Return matching courses based on keyword search

  • Search catalog using given search keyword and return all matching courses.
  • Only courses set to show in a catalog visible to the user are included. This respects the 'Enable catalog assignment at the user level' setting.
  • Only courses with a session and start date are included.
  • Archived courses are excluded from search.
  • Sorting order is by start date (asc) in UTC.
  • Only courses with learning types allowed in LMS license are included.
  • Disabled learning types are excluded from search.
query Parameters
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25
keyword
string

Filters on course title, module ID, description, objectives, target audience, reference number and vendors (partial match)

predetermineSessionLanguage
boolean
Default: false

Determines whether courses with unspecified ("auto-select") Session Language should return an empty language field or determine the language based on the user's preferred language and the available languages.

ignoreCourseSessionStatus
boolean

Determines whether courses with non-enrollable session status (e.g. closed) should be included. Default is controlled by system config option. When disabled, only course-sessions with status active, invitation or prompt are included. Does not affect status options for the filter.

includeStartedSessions
boolean
Default: false

Determines whether course-sessions that have already started should be included. This option is overruled by setting a start date filter.

Responses

Response samples

Content type
application/json
{}

Return matching courses based on the filter set

  • Search catalog using given filter set and return all matching courses.
  • Only courses set to show in a catalog visible to the user are included. This respects the 'Enable catalog assignment at the user level' setting.
  • Only courses with a session and start date are included.
  • Archived courses are excluded from search.
  • Sorting order is by start date (asc) in UTC.
  • Only courses with learning types allowed in LMS license are included.
  • Disabled learning types are excluded from search.
Request Body schema: application/json
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25
keyword
string

Filters on course title, module ID, description, objectives, target audience, reference number and vendors (partial match)

predetermineSessionLanguage
boolean
Default: false

Determines whether courses with unspecified ("auto-select") Session Language should return an empty language field or determine the language based on the user's preferred language and the available languages.

ignoreCourseSessionStatus
boolean

Determines whether courses with non-enrollable session status (e.g. closed) should be included. Default is controlled by system config option. When disabled, only course-sessions with status active, invitation or prompt are included. Does not affect status options for the filter.

includeStartedSessions
boolean
Default: false

Determines whether course-sessions that have already started should be included. This option is overruled by setting a start date filter.

learningType
Array of strings
Items Enum: "learningProgram" "book" "video" "cd" "audioCassette" "externalCourse" "justInTimeLearning" "classroom" "virtualClassroom" "archivedVirtualClassroom" "workshopSeminar" "externalCertification" "onlineModule" "exam" "selfTrainingPaper" "selfTrainingVideo" "specialInterestGroup" "coaching" "internship" "onTheJobTraining" "task"

Filters on Learning Type by specific code. Allows for multiple values.

startDateAfter
string <date-time>

Filters on Session Start date-time

startDateBefore
string <date-time>

Filters on Session Start date-time

location
string

Filters on Venue, Training Center and Facility (partial match).

timezone
Array of strings

Filters on Timezones. Allows for multiple values.

Responses

Request samples

Content type
application/json
{
  • "offset": 0,
  • "limit": 25,
  • "keyword": "string",
  • "predetermineSessionLanguage": false,
  • "ignoreCourseSessionStatus": true,
  • "includeStartedSessions": false,
  • "learningType": [
    ],
  • "startDateAfter": "2019-08-24T14:15:22Z",
  • "startDateBefore": "2019-08-24T14:15:22Z",
  • "location": "London Convention Centre",
  • "timezone": [
    ]
}

Response samples

Content type
application/json
{}

Certifications

Resources for interacting with Certifications

Return certifications self-awarded to user

query Parameters
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25
status
Array of integers

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "links": {},
  • "data": [
    ]
}

Add self-awarded certification

Request Body schema: multipart/form-data
required
certId
required
integer
status
required
integer
comments
string
issuedOn
required
string
expirationDate
string
attachment
string <binary>

Responses

Return certification self-awarded to user

path Parameters
certId
required
string

ID of the self-awarded certification

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "attributes": {
    },
  • "links": {},
  • "type": "string"
}

Update self-awarded certification

path Parameters
certId
required
string

ID of the self-awarded certification

Request Body schema: multipart/form-data
required
certId
required
integer
status
required
integer
comments
string
issuedOn
required
string
expirationDate
string
attachment
string <binary>
deleteAttachment
string

Responses

Return certifications awarded to user

query Parameters
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25
filterType
string

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "links": {},
  • "data": [
    ]
}

Return certification awarded to user

path Parameters
certId
required
string

ID of the self-awarded certification

Responses

Response samples

Content type
application/json
{
  • "certDetail": {
    },
  • "courseDetail": {
    },
  • "learnerDetail": {
    },
  • "instructorDetail": {
    },
  • "instructorDaDetail": {
    },
  • "taskApproverDetail": {
    },
  • "objectiveList": [
    ],
  • "moduleAttributeList": [
    ],
  • "certificateAttributeList": [
    ],
  • "userAttributeList": [
    ],
  • "userAttributeExtensionList": [
    ]
}

News

Resources for reading news articles

Return news articles based on their target audience

  • Search news and return all matching news visible to the current user, localized according to user's preferred language.
  • The visibility of news is based on the Target Audience settings.
  • Expired news, news with polls and news of type templates or newsletter are excluded from search results.
  • Sorting order is first by display order (desc), second by creation date (desc).
query Parameters
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25

Responses

Response samples

Content type
application/json
{}

Return given news article

Return a single news article

path Parameters
id
required
string
Example: EKP1234567890

ID of the news article to return

Responses

Response samples

Content type
application/json
{
  • "id": "EKP1234567890",
  • "title": "New courses",
  • "teaser": "We have added new courses to the catalog.",
  • "creationDate": "2019-08-24T14:15:22Z",
  • "articleText": "Lorem Ipsum Dolor... (multi-line with HTML)",
  • "createdBy": "string",
  • "imageUrl": "string",
  • "attachment": {
    },
  • "lang": "string",
  • "_displayPreference": "Headline"
}

Reports

Watershed Reports and Analytics

Return matching reports based on the filters chosen by the user.

Query the database using parameters such as Template Name, Dates, Group Ids, etc. and returns the correct template and prefills the relevant information. Then the call is made to watershed using those templates. This should return an appropriate series of reports, as an array of url values, based on the given template and filter infromation.

Request Body schema: application/json
names
Array of strings
object

Responses

Request samples

Content type
application/json
{
  • "names": [
    ],
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Training Records

Resources for working with training records ("enrollments")

Return training records

  • Returns the user's training records filtered on defined criteria.
  • Only top-level training records are included.
  • Sorting order is by enrollment date (desc).
query Parameters
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25
keyword
string

Filters on course title, module ID, description, objectives, target audience, reference number and vendors (partial match)

status
Array of strings
Example: status=waitlisted&status=enrolled&status=incomplete&status=completed&status=withdrawn

Filters on status. Allows for multiple values. Available statuses are listed as availableTrainingRecordsStatuses in the feature-flags API.

learningType
Array of strings
Example: learningType=learningProgram&learningType=classroom&learningType=onlineModule

Filters on Learning Type by specific code. Allows for multiple values. Available learning types are listed as availableLearningTypes in the feature-flags API.

startDateAfter
string <date-time>

Filters on start date-time of training record

endDateBefore
string <date-time>

Filters on end date-time of training-record

sortByPriority
boolean
Default: false

This option overrules the standard sort by enrollment date.

Responses

Response samples

Content type
application/json
{}

Return available sessions for selection or transfer

  • Return sessions that would currently be available for session selection or transfer. For instance, sessions that have already started are excluded.
  • Organization criteria for session viewing are respected and used to determine which sessions are returned.
  • Sort order of sessions is first by start date (asc) and second by creation date (asc)
path Parameters
recordId
required
string
Example: EKP1234567890

ID of the training record

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Change session of training record

path Parameters
recordId
required
string
Example: EKP1234567890

ID of the training record

Request Body schema: application/json
sessionId
string

Internal ID of the target session, can be omitted for single-session learning types

enrollmentLanguage
string

Language bundle to use for enrollment, can be omitted for auto-selection of enrollment lanugage

justification
string

Justification for enrollment or session transfer (in approval workflow)

Array of objects (CustomAttribute)

Responses

Request samples

Content type
application/json
{
  • "sessionId": "string",
  • "enrollmentLanguage": "de-DE",
  • "justification": "string",
  • "additionalInformation": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Mark training record as complete, with/out e-signature

path Parameters
recordId
required
string
Example: EKP1234567890

ID of the training record

Request Body schema: application/json
username
string
password
string <password>

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "pa$$word"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Withdraw from enrollment (request), with/out justification

path Parameters
recordId
required
string
Example: EKP1234567890

ID of the training record

Request Body schema: application/json
justification
string

Responses

Request samples

Content type
application/json
{
  • "justification": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

External Training Records

Resources for working with external training records

returns a list of external training records

Search external training records and return all matching records. Sorting order is by start date (asc), second by creation date (asc).

query Parameters
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25
keyword
string

Filters on course title (partial match)

externalTrainingRecordStatus
Array of strings
Example: externalTrainingRecordStatus=openForEditing,pendingApproval,approved,approvalDenied,completed,cancelled

Filters on status. Allows for multiple values. Available statuses are defined in the System Configuration and listed in the feature-flags API.

courseType
Array of strings
Example: courseType=classroom&courseType=onlineModule

Filters on course Type by specific code. Allows for multiple values. Available course types are defined in the System Configuration and listed in the feature-flags API.

startDateAfter
string <date-time>

Filters on Start date

endDateBefore
string <date-time>

Filters on End date

Responses

Response samples

Content type
application/json
{}

adds an external training record

Request Body schema: multipart/form-data
required
title
required
string
courseType
required
string

Available course types are defined in the System Configuration and listed as externalCourseTypes in the feature-flags API.

object
startDate
required
string <date>
endDate
required
string <date>
venue
string
language
required
string

Available languages are listed as uiLanguages in the feature-flags API.

object
object
grade
string
score
string
vendor
string
comments
string
fileUpload
string <binary>
status
required
string

Available statuses are defined in the System Configuration and listed as externalTrainingRecordsStatuses in the feature-flags API.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

return a single external training record

path Parameters
id
required
string
Example: EKP1234567890

ID of the external training record to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

update a single external training record

path Parameters
id
required
string
Example: EKP1234567890

ID of the external training record to update

Request Body schema: multipart/form-data
required
title
required
string
courseType
required
string

Available course types are defined in the System Configuration and listed as externalCourseTypes in the feature-flags API.

object
startDate
required
string <date>
endDate
required
string <date>
venue
string
language
required
string

Available languages are listed as uiLanguages in the feature-flags API.

object
object
grade
string
score
string
vendor
string
comments
string
fileUpload
string <binary>
status
required
string

Available statuses are defined in the System Configuration and listed as externalTrainingRecordsStatuses in the feature-flags API.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

delete a single external training record

path Parameters
id
required
string
Example: EKP1234567890

ID of the external training record to return

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Course

Resources for interacting with courses

Return course info with details

path Parameters
courseId
required
string

Internal ID of the course

query Parameters
programPath
string
Example: programPath=ekp1234567890/Session1/ekp0987654321/Session2

Path of parent program IDs and their session IDs for display of breadcrumb information

expand
Array of strings
Items Enum: "All" "CourseDetails" "Prerequisites" "RelatedCourses" "TopReviews"

Allows to control the level of extra details.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Return course info with details including session info on any existing sessions

  • Return course info with details for the given course, including info on any existing sessions.
  • Organization criteria for session viewing are respected and used to determine which sessions are returned.
  • Sort order of sessions is first by start date (asc) and second by creation date (asc)
path Parameters
courseId
required
string

Internal ID of the course

query Parameters
expand
Array of strings
Items Enum: "All" "CourseDetails" "Prerequisites" "RelatedCourses" "TopReviews" "ClassSchedule" "ProgramStructure" "EnrollmentAvailability" "LatestEnrollment"

Allows to control the level of extra details.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Return course info with details including session info with class schedule and program structure

path Parameters
courseId
required
string

Internal ID of the course

sessionId
required
string

Internal ID of the session

query Parameters
programPath
string
Example: programPath=ekp1234567890/Session1/ekp0987654321/Session2

Path of parent program IDs and their session IDs for display of breadcrumb information

expand
Array of strings
Items Enum: "All" "CourseDetails" "Prerequisites" "RelatedCourses" "TopReviews" "LatestEnrollment" "KnowledgeCenter"

Allows to control the level of extra details.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Submit enrollment request

Submit enrollment request

path Parameters
courseId
required
string

Internal ID of the course

Request Body schema: application/json
required
sessionId
string

Internal ID of the target session, can be omitted for single-session learning types

enrollmentLanguage
string

Language bundle to use for enrollment, can be omitted for auto-selection of enrollment lanugage

justification
string

Justification for enrollment or session transfer (in approval workflow)

Array of objects (CustomAttribute)
parentTrainingRecordId
string

Internal ID of the training record in which context the enrollment should be made (i.e. to enroll into a sub-module)

Responses

Request samples

Content type
application/json
{
  • "sessionId": "string",
  • "enrollmentLanguage": "de-DE",
  • "justification": "string",
  • "additionalInformation": [
    ],
  • "parentTrainingRecordId": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Return info on registered interest in course

path Parameters
courseId
required
string

Internal ID of the course

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Register interest in course

Previously registered interest will be replaced.

path Parameters
courseId
required
string

Internal ID of the course

Request Body schema: application/json
required
statementOfInterest
string <= 255 characters

Responses

Request samples

Content type
application/json
{
  • "statementOfInterest": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Withdraw interest from course

path Parameters
courseId
required
string

Internal ID of the course

Responses

Return reviews and ratings for course

  • Return reviews and ratings for course.
  • Sort order is by creation date.
path Parameters
courseId
required
string

Internal ID of the course

query Parameters
offset
integer >= 0
Default: 0
limit
integer >= 1
Default: 25
sortByUsefulness
boolean
Default: false

This option overrules the standard sort and sorts reviews by their usefulness rating (compared to total votes), from highest to lowest.

Responses

Response samples

Content type
application/json
{}

Add review for course

path Parameters
courseId
required
string

Internal ID of the course

Request Body schema: application/json
required
object (UserCoreInfo)
rating
integer [ 1 .. 5 ]
reviewComment
string

Responses

Request samples

Content type
application/json
{
  • "creator": {
    },
  • "rating": 5,
  • "reviewComment": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "meta": {
    }
}

Delete a review

path Parameters
reviewId
required
string

Internal ID of the review

Responses

Response samples

Content type
application/json
{
  • "meta": {
    }
}

Votes a review as "useful" (or not)

path Parameters
reviewId
required
string

Internal ID of the review

Request Body schema: application/json
required
useful
boolean

Responses

Request samples

Content type
application/json
{
  • "useful": true
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "meta": {
    }
}

Basics

Basic resources for displaying the UI

Return home menu

Responses

Response samples

Content type
application/json
{}

Return avatar menu

Responses

Response samples

Content type
application/json
{}

Return session-info for the current browser session

Responses

Response samples

Content type
application/json
{}

Job Profiles

Resources for interacting with job profiles

Return list of all active job profiles available to the user

Job Profiles are sorted by title

query Parameters
keyword
string

This option filters job profiles matching the keyword

relation
string
Default: "all"
Enum: "all" "associated" "unassociated"

This option filters job profiles based on whether they are currently associated with the user (assigned)

competencyId
string

This option filters job profiles related to the given competency

expandCompetencies
boolean
Default: false

This option controls whether associated competencies are returned as well

expandCourses
boolean
Default: false

This option controls whether associated courses are returned as well. Using this option also includes competencies.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Return active Job Profile with status as well as associated competencies

path Parameters
jobProfileId
required
string

Internal ID of the job profile

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Assign job profile

path Parameters
jobProfileId
required
string

Internal ID of the job profile

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Unassign Job Profile

path Parameters
jobProfileId
required
string

Internal ID of the job profile

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Competencies

Resources for interacting with competencies

Return list of all active competencies visible to the user

Competencies are sorted by assessment date (if applicable), then by title

query Parameters
relation
string
Default: "all"
Enum: "all" "associated" "unassociated"

This option filters competencies based on whether they are currently associated with the user

keyword
string

This option filters competencies matching the keyword

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Return active Competency with associated levels and courses

path Parameters
competencyId
required
string

Internal ID of the competency

query Parameters
relatedJobProfileId
string
Example: relatedJobProfileId=EKP1234567890

Internal ID of the job profile in which context the competency is viewed

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Self-assess competency level

path Parameters
competencyId
required
string

Internal ID of the competency

Request Body schema: application/json
required
levelId
string

Internal ID of the competency level

relatedJobProfileId
string

ID of the job profile in which context the competency is viewed

Responses

Request samples

Content type
application/json
{
  • "levelId": "EKP1234567890",
  • "relatedJobProfileId": "EKP1234567890"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Revoke assessed competency level

path Parameters
competencyId
required
string

Internal ID of the competency

query Parameters
relatedJobProfileId
string
Example: relatedJobProfileId=EKP1234567890

Internal ID of the job profile in which context the competency is viewed

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Return feature flags for the user

Returns cumulative/effective role privileges for users with multiple roles, including other aspects controlled via system config options

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Shared Files

Return files shared with you or by you in course-session, including files shared to all participants

path Parameters
courseId
required
string

Internal ID of the course

sessionId
required
string

Internal ID of the session

Responses

Response samples

Content type
application/json
{}

Share file in course-session

path Parameters
courseId
required
string

Internal ID of the course

sessionId
required
string

Internal ID of the session

Request Body schema: multipart/form-data
required
fileName
required
string
description
required
string
object (UserCoreInfo)
fileShareArea
required
string
Enum: "instructor" "shared" "student"

Responses

Response samples

Content type
application/json
{}

Download shared file from course-session

path Parameters
courseId
required
string

Internal ID of the course

sessionId
required
string

Internal ID of the session

userId
required
string

Internal ID of the user

fileName
required
string
Example: Guidelines for Essay Writing.docx

ID of shared file

Responses

Delete shared file

path Parameters
courseId
required
string

Internal ID of the course

sessionId
required
string

Internal ID of the session

userId
required
string

Internal ID of the user

fileName
required
string
Example: Guidelines for Essay Writing.docx

ID of shared file

Responses

Notes

Return personal notes for all courses

Responses

Response samples

Content type
application/json
{
  • "data": []
}

Return personal notes for the given course

path Parameters
courseId
required
string

Internal ID of the course

Responses

Response samples

Content type
application/json
{
  • "data": "string"
}

Store personal notes for a course

path Parameters
courseId
required
string

Internal ID of the course

Request Body schema: application/json
required
data
string

Responses

Request samples

Content type
application/json
{
  • "data": "string"
}

Response samples

Content type
application/json
{
  • "data": "string"
}