Get Future Session List
Get a list of sessions scheduled for a future date from all ILT modules.
This request supports the use of the parameter, “&since=[DATE]&to=[DATE]”. It is not a mandatory parameter.
When using the “since” and “to” date range parameters in the request URI, the date range format must be ‘YYYY-MM-DD HH:MM:SS’. This will return all records that were created/updated between the dates specified. The date range must be equal or less than 7 days. In order to get the results for the current day, the “to” date must be set to a future date to return results successfully.
Note: For a session with a single instructor, the InstructorUserId and the InstructorName return the encrypted ID and the name of that instructor. For a session with multiple instructors, the InstructorUserId returns a value of “0” and the InstructorName returns a value of “Multiple Instructors”.
Request URI
GET /sessions/future?source={source}
Response Body
<SessionCourses> <SessionCourse> <Id></Id> <Code/> <Name></Name> <Description/> <Active>true/false</Active> <ForSale></ForSale> <OriginalId></OriginalId> <Price></Price> <Modules> <SessionModule> <Id></Id> <Code/> <Name></Name> <Description/> <Sessions> <Session> <Id></Id> <Name></Name> <InstructorUserId></InstructorUserId> <InstructorName></InstructorName> <SessionType></SessionType> <Days> <SessionDay> <Id></Id> <StartDate></StartDate> <EndDate></EndDate> <StartTime></StartTime> <EndTime></EndTime> <SendReminder></SendReminder> <ReminderValue></ReminderValue> <ReminderMetric></ReminderMetric> <CreatedDate></CreatedDate> </SessionDay> </Days> <TimeZone></TimeZone> <Location/> <LocationId></LocationId> <ResourceId></ResourceId> <Resources></Resources> <StartDate></StartDate> <EndDate></EndDate> <CourseName></CourseName> <ModuleName></ModuleName> <Slots/> <Accepted></Accepted> <EnableWaitList></EnableWaitList> <Details></Details> </Session> </Sessions> </SessionModule> </Modules> </SessionCourse> </SessionCourses>
Response Header
200 OK
Get Past Session List
Get a list of past sessions from all ILT modules.
Note: For a session with a single instructor, the InstructorUserId and the InstructorName return the encrypted ID and the name of that instructor. For a session with multiple instructors, the InstructorUserId returns a value of “0” and the InstructorName returns a value of “Multiple Instructors”.
Request URI
GET /sessions/past?&source={source}
Response Body
<SessionCourses> <SessionCourse> <Id></Id> <Code/> <Name></Name> <Description/> <Active>true/false</Active> <ForSale></ForSale> <OriginalId></OriginalId> <Price></Price> <Modules> <SessionModule> <Id></Id> <Code/> <Name></Name> <Description/> <Sessions> <Session> <Id></Id> <Name></Name> <InstructorUserId></InstructorUserId> <InstructorName></InstructorName> <SessionType></SessionType> <Days> <SessionDay> <Id></Id> <StartDate></StartDate> <EndDate></EndDate> <StartTime></StartTime> <EndTime></EndTime> <SendReminder></SendReminder> <ReminderValue></ReminderValue> <ReminderMetric></ReminderMetric> <CreatedDate></CreatedDate> </SessionDay> </Days> <TimeZone></TimeZone> <Location/> <LocationId></LocationId> <ResourceId></ResourceId> <Resources></Resources> <StartDate></StartDate> <EndDate></EndDate> <CourseName></CourseName> <ModuleName></ModuleName> <Slots/> <Accepted></Accepted> <EnableWaitList></EnableWaitList> <Details></Details> </Session> </Sessions> </SessionModule> </Modules> </SessionCourse> </SessionCourses>
Response Header
200 OK
Get all ILT Modules in a Course
Returns a list of the ILT modules for a specific course.
Request URI
GET /courses/{courseId}/modules/ILT?source={source}
Response Body
<Modules> <Module> <Id>string [max length 50]</Id> <Code>string [max length 20]</Code> <Name>string [max length 255]</Name> <Description>string [max length 2000]</Description> </Module> </Modules>
Response Header
200 OK
Get a List of Sessions for an ILT Module
Returns the entire list of sessions in an ILT module.
Note: For a session with a single instructor, the InstructorUserId and the InstructorName return the ID and the name of that instructor. For a session with multiple instructors, the InstructorUserId returns a value of “0” and the InstructorName returns a value of “Multiple Instructors”.
Request URI
GET /courses/{courseId}/modules/{moduleId}/sessions?source={source}
Response Body
<Sessions> <Session> <Id>string [max length 50]</Id> <Name>string [max length 100]</Name> <InstructorUserId>string [max length 50]</InstructorUserId> <InstructorName>string [optional, max length 100]</InstructorName> <SessionType>string [1, 2, 3, or 4]</SessionType> <Days> <SessionDay> <Id>string [max length 50]</Id> <StartDate>string [max length]</StartDate> <EndDate>string [max length]</EndDate> <StartTime>string [max length]</StartTime> <EndTime>string [max length]</EndTime> <SendReminder>true/false</SendReminder> <ReminderValue>string [max length 50]</ReminderValue> <ReminderMetric>string [max length 100]</ReminderMetric> </SessionDay> <SessionDay> <Id>string [max length 50]</Id> <StartDate>string [max length]</StartDate> <EndDate>string [max length]</EndDate> <StartTime>string [max length]</StartTime> <EndTime>string [max length]</EndTime> <SendReminder>true/false</SendReminder> <ReminderValue>string [max length 50]</ReminderValue> <ReminderMetric>string [max length 100]</ReminderMetric> </SessionDay> </Days> <TimeZone>string [optional, max length 100]</TimeZone> <Location>string [optional, max length 1000]</Location> <LocationId>string [optional, max 50]</LocationId> <ResourceId>integer[optional, max 50]</ResourceId> <Resources>string [optional, max length 100]</Resources> <StartDate>string [optional, max length]</StartDate> <EndDate>string [optional, max length]</EndDate> <CourseName>string [optional, max length 255]</ CourseName> <ModuleName>string [optional, max length 255]</ModuleName> <Slots>string [optional, max length 50]</Slots> <Accepted>string [optional, max length 50]</Accepted> <EnableWaitList>true/false</EnableWaitList> <Details></Details> </Session> </Sessions>
Response Header
200 OK
Get the Details for a Session in an ILT Module
Returns a single session in an ILT module.
Note: For a session with a single instructor, the InstructorUserId and the InstructorName return the encrypted ID and the name of that instructor. For a session with multiple instructors, the InstructorUserId returns a value of “0” and the InstructorName returns a value of “Multiple Instructors”.
Request URI
GET /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}?source={source}
Response Body
<Session> <Id>string [max length 50]</Id> <Name>string [max length 100]</Name> <InstructorUserId>string [max length 50]</InstructorUserId> <InstructorName>string [optional, max length 100]</InstructorName> <SessionType>string [1, 2, 3, or 4]</SessionType> <Days> <SessionDay> <Id>string [max length 50]</Id> <StartDate>string [max length]</StartDate> <EndDate>string [max length]</EndDate> <StartTime>string [max length]</StartTime> <EndTime>string [max length]</EndTime> <SendReminder>true/false</SendReminder> <ReminderValue>string [max length 50]</ReminderValue> <ReminderMetric>string [max length 100]</ReminderMetric> </SessionDay> <SessionDay> <Id>string [max length 50]</Id> <StartDate>string [max length]</StartDate> <EndDate>string [max length]</EndDate> <StartTime>string [max length]</StartTime> <EndTime>string [max length]</EndTime> <SendReminder>true/false</SendReminder> <ReminderValue>string [max length 50]</ReminderValue> <ReminderMetric>string [max length 100]</ReminderMetric> </SessionDay> </Days> <TimeZone>string [optional, max length 100]</TimeZone> <Location>string [optional, max length 1000]</Location> <LocationId>string [optional, max 50]</LocationId> <ResourceId>integer[optional, max 50]</ResourceId> <Resources>string [optional, max length 100]</Resources> <StartDate>string [optional, max length]</StartDate> <EndDate>string [optional, max length]</EndDate> <CourseName>string [optional, max length 255]</ CourseName> <ModuleName>string [optional, max length 255]</ModuleName> <Slots>string [optional, max length 50]</Slots> <Accepted>string [optional, max length 50]</Accepted> <EnableWaitList>true/false</EnableWaitList> <Details></Details> </Session>
Response Header
200 OK
Get a List of Instructors
Get a list of instructors.
Request URI
GET /instructors?source={source}
Response Body
<Users> <User> <Id>string [max length 50]</Id> <UserName>string [max length 255]</UserName> <FirstName>string [max length 100]</FirstName> <LastName>string [max length 100]</LastName> </User> </Users>
Response Header
200 OK
Get a List of Sessions Scheduled for an Instructor
Get a list of sessions for a given instructor.
Request URI
GET /instructors/{instructorId}/sessions?source={source}
Response Body
<SessionCourses xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <SessionCourse> <Id>string [max length 50]</Id> <Code>string [max length 20]</Code> <Name>string [max length 255]</Name> <Description>string [optional, max length 2000]</Description> <Active>true/false</Active> <ForSale>true/false</ForSale> <OriginalId>string [max length 50]</OriginalId> <CreatedDate>YYYY-MM-DD HH:MM:SS</CreatedDate> <Price>integer</Price> <Modules> <SessionModule> <Id>string [max length 50]</Id> <Code>string [max length 20]</Code> <Name>string [max length 255]</Name> <Description>string [optional, max length 2000]</Description> <Sessions> <Session> <Id>string [max length 50]</Id> <Name>string [max length 255]</Name> <InstructorUserId>string [max length 50]</InstructorUserId> <InstructorName>string [optional, max length 100]</InstructorName> <SessionType>integer [1, 2, 3, or 4]</SessionType> <Days/> <TimeZone>string [optional, max length 100]</TimeZone> <Location>string [optional, max length 1000]</Location> <LocationId>string [optional, max 50]</LocationId> <ResourceId>integer[optional, max 50]</ResourceId> <Resources>string [optional, max length 100]</Resources> <StartDate>YYYY-MM-DD HH:MM:SS</StartDate> <EndDate>YYYY-MM-DD HH:MM:SS</EndDate> <CourseName>string [optional, max length 255]</CourseName> <ModuleName>string [optional, max length 255]</ModuleName> <Slots>integer [optional, max length 50]</Slots> <Accepted>string [optional, max length 50]</Accepted> <EnableWaitList>true/false</EnableWaitList> <Details></Details> </Session> </Sessions> </SessionModule> </Modules> </SessionCourse> </SessionCourses>
Response Header
200 OK
Create an ILT Session
Creates a new session in an ILT module. Supports Class Room, Webinar, Webex Training sessions.
Request URI
POST /courses/{courseId}/modules/{moduleId}/sessions?source={source}
Request Body
<Session> <Id>string [max length 50]</Id> <Name>string [max length 100]</Name> <InstructorUserId>string [max length 50]</InstructorUserId> <InstructorName>string [optional, max length 100]</InstructorName> <SessionType>string [1, 2, 3, or 4]</SessionType> <Days> <SessionDay> <Id>string [max length 50]</Id> <StartDate>string [max length]</StartDate> <EndDate>string [max length]</EndDate> <StartTime>string [max length]</StartTime> <EndTime>string [max length]</EndTime> <SendReminder>true/false</SendReminder> <ReminderValue>string [max length 50]</ReminderValue> <ReminderMetric>string [max length 100]</ReminderMetric> </SessionDay> <SessionDay> <Id>string [max length 50]</Id> <StartDate>string [max length]</StartDate> <EndDate>string [max length]</EndDate> <StartTime>string [max length]</StartTime> <EndTime>string [max length]</EndTime> <SendReminder>true/false</SendReminder> <ReminderValue>string [max length 50]</ReminderValue> <ReminderMetric>string [max length 100]</ReminderMetric> </SessionDay> </Days> <TimeZone>string [optional, max length 100]</TimeZone> <Location>string [optional, max length 1000]</Location> <LocationId>string [optional, max 50]</LocationId> <StartDate>string [optional, max length]</StartDate> <EndDate>string [optional, max length]</EndDate> <Slots>string [optional, max length 50]</Slots> <Accepted>string [optional, max length 50]</Accepted> <EnableWaitList>true/false</EnableWaitList> <Details></Details> </Session>
Response Header
200 OK
Update an ILT Session
Update a single session in an ILT module. Supports Class Room, Webinar, Webex Training sessions. The session ID in the URI must match the ID specified in the request body. The session ID in the URI and the session ID in the request body must match.
Notes:
- The InstructorUserId and InstructorName elements can contain a single instructor.
- The value provided for instructor will be added to any instructors already assigned to existing session days that are specified in the request. If the request contains a subset of session days, the instructor is added to those specific days.
- You can’t remove existing instructors with the API, you can only add instructors. Use the UI to manage the removal of instructors for sessions.
Request URI
PUT /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}?source={source}
Request Body
<Session> <Id>string [max length 50]</Id> <Name>string [max length 100]</Name> <InstructorUserId>string [max length 50]</InstructorUserId> <InstructorName>string [optional, max length 100]</InstructorName> <SessionType>string [1, 2, 3, or 4]</SessionType> <TimeZone>string [optional, max length 100]</TimeZone> <Location>string [optional, max length 1000]</Location> <LocationId>string [optional, max 50]</LocationId> <Days> <SessionDay> <Id>string [max length 50]</Id> <StartDate>string [max length]</StartDate> <EndDate>string [max length]</EndDate> <StartTime>string [max length]</StartTime> <EndTime>string [max length]</EndTime> <SendReminder>true/false</SendReminder> <ReminderValue>string [max length 50]</ReminderValue> <ReminderMetric>string [max length 100]</ReminderMetric> </SessionDay> </Days> <StartDate>string [optional, max length]</StartDate> <EndDate>string [optional, max length]</EndDate> <CourseName>string [optional, max length 255]</ CourseName> <ModuleName>string [optional, max length 255]</ModuleName> <Slots>string [optional, max length 50]</Slots> <Accepted>string [optional, max length 50]</Accepted> <EnableWaitList>true/false</EnableWaitList> <Details></Details> </Session>
Response Header
200 OK
Delete an ILT Session
Delete a session in an ILT module.
Request URI
DELETE /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}?source={source}
Response Header
200 OK
Delete an ILT Session Day
Delete a session day in an ILT module.
Request URI
DELETE /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}/sessiondays/{sessiondaysid}?source={source}
Response Header
200 OK
Get Users Assigned to the Course and Available for Registration to a Session in an ILT Module
Get a list of users that can be registered to a session in an ILT module that’s part of a course.
Request URI
GET /courses/{courseId}/modules/{moduleId}/registration?source={source}
Response Body
<EventUsers> <EventUser> <Id>string [max length 50]</Id> <EventStatus>[ignored]</EventStatus> <FirstName>ignored</FirstName> <LastName>ignored</LastName> <Email>ignored</Email> <CompanyName>ignored</ CompanyName> <Completed>ignored</Completed> </EventUser> <EventUser> <Id>string [max length 50]</Id> <EventStatus>[ignored]</EventStatus> <FirstName>ignored</FirstName> <LastName>ignored</LastName> <Email>ignored</Email> <CompanyName>ignored</ CompanyName> <Completed>ignored</Completed> </EventUser> </EventUsers>
Response Header
200 OK
Register a User to a Session
Register a user to a session in an ILT module.
Request URI
POST /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}/users/{userId}/register?source={source}
Response Header
200 OK
Register a List of Users to a Session
Register a List of Users (25 max) to an ILT session in an ILT module.
Request URI
POST /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}/users/register?source={source}
Request Body
<Users> <User> <Id>string [max length 50]</Id> </User> <User> <Id>string [max length 50]</Id> </User> <User> <Id>string [max length 50]</Id> </User> <User> <Id>string [max length 50]</Id> </User> <User> <Id>string [max length 50]</Id> </User> </Users>
Response Header
200 OK
Get Roll Call for a Session
Get a list of users that are registered to a session.
Request URI
GET /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}/rollcall?source={source}
Response Body
<EventUsers> <EventUser> <Id></Id> <EventStatus>string [max length 50]</EventStatus> <FirstName>ignored</FirstName> <LastName>ignored</LastName> <Email>ignored</Email> <CompanyName>ignored</ CompanyName> <Score></Score> <Completed>ignored</Completed> </EventUser> <EventUser> <Id></Id> <EventStatus>string [max length 50]</EventStatus> <FirstName>ignored</FirstName> <LastName>ignored</LastName> <Email>ignored</Email> <CompanyName>ignored</ CompanyName> <Score></Score> <Completed>ignored</Completed> </EventUser> </EventUsers>
Response Header
200 OK
Mark an ILT Session Complete and Add Scores for a List of Users
Updates a list of users registered to a session for a given session Id.
Request URI
POST /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}/rollcall?source={source}
Request Body
<EventUsers> <EventUser> <Id>String [Must match user registered for the event]</Id> <EventStatus>[ignored]</EventStatus> <FirstName>ignored</FirstName> <LastName>ignored</LastName> <Email>ignored</Email> <CompanyName>ignored</CompanyName> <Score>int</Score> <Completed>true/false</Completed> </EventUser> <EventUser> <Id>String [Must match user registered for the event]</Id> <EventStatus>[ignored]</EventStatus> <FirstName>ignored</FirstName> <LastName>ignored</LastName> <Email>ignored</Email> <CompanyName>ignored</CompanyName> <Score>int</Score> <Completed>true/false</Completed> </EventUser> </EventUsers>
Response Header
200 OK
Mark Attendance for a User on a Session
Mark attendance for a user registered to a session.
Request URI
POST /courses/{courseId}/modules/{moduleId}/sessiondays/{sessionDayId}/users/{userId}/attended/{attended}?source={source}
Response Header
200 OK
Mark Attendance for a List of Users on a Session
Mark attendance for a list of users that are registered to a session.
Request URI
POST /courses/{courseId}/modules/{moduleId}/sessiondays/{sessionDayId}/attended/{attended}?source={source}
Request Body
<Users> <User> <Id>string [max length 50]</Id> <UserName>ignored</UserName> <FirstName>ignored</FirstName> <LastName>ignored</LastName> </User> <User> <Id>string [max length 50]</Id> <UserName>ignored</UserName> <FirstName>ignored</FirstName> <LastName>ignored</LastName> </User> </Users>
Response Header
200 OK
Get Attendance
Get a list of users that were marked as having attended a session.
Note: If you are using Webex integration, this call will pull the attendance, update it for the users who are marked manually as attended, and switch it to absent.
Request URI
GET /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}/attendance?source={source}
To include users who were active at the time of the session but are currently inactive in the application, you can add the &ShowInactive parameter to the query.
GET /courses/{courseId}/modules/{moduleId}/sessions/{sessionId}/attendance?source={source}&ShowInactive={true/false}
Response Body
<EventUsers> <EventUser> <Id>string [max length 50]</Id> <EventStatus>ignored</EventStatus> <FirstName>ignored</FirstName> <LastName>ignored</LastName> <Email>ignored</Email> <CompanyName>ignored</ CompanyName> <Score>Integer</Score> <Completed>ignored</Completed> </EventUser> <EventUser> <Id>string [max length 50]</Id> <EventStatus>ignored</EventStatus> <FirstName>ignored</FirstName> <LastName>ignored</LastName> <Email>ignored</Email> <CompanyName>ignored</ CompanyName> <Score>Integer</Score> <Completed>ignored</Completed> </EventUser> </EventUsers>
Response Header
200 OK