The API’s documented here will return a list of records that have been created or updated within a given date range. As such, there is a mandatory date-time parameter that must be used with these delta queries. The “&since=[DATE]&to=[DATE]” parameter is required for each of these delta API’s.
Important Notes: When using the “since” and “to” date range parameters in the request URI, the date formats adhere to the standard date=time format ‘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 an attempt to get results for the current day, the “to” date must be set to a future date to return results successfully.
By default, all API responses will return 100 results. You can return up to 1,000 records by adding the ‘limit’ query parameter to your URI. See the Search & Paging Parameters section for pagination and other query parameters you can use.
Get User Details
Returns a list of people including ‘active’ and ‘inactive’ people that have been created or updated within a given date range.
Request URI
GET /org/users/details?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<Users> <User> <Id>string [max length 50]</Id> <UserName>string [max length 255]</UserName> <FirstName>string [max length 50]</FirstName> <LastName>string [max length 50]</LastName> <FullName>string [max length 200]</FullName> <Email>string [optional, max length 255]</Email> <AccessLevel>string [max length 50]</AccessLevel> <DisableMessages>true/false</DisableMessages> <Active>true/false</Active> <Skype>string [optional, max length 100]</Skype> <PhoneWork>string [optional, max length 50]</PhoneWork> <PhoneMobile>string [optional, max length 50]</PhoneMobile> <LastLogin>datetime [iso 8601 format, blank if never logged in]</LastLogin> <LoginKey>/login.aspx?loginkey=</LoginKey> <IsCustomUsername>true/false</IsCustomUsername> <TimeZone>string [max length 50, see time zone list]</TimeZone> <SalesforceId>string [optional, max length 50]</SalesforceId> <OriginalId>integer</OriginalId> <Street1>string [optional, max length 100]</Street1> <Street2>string [optional, max length 100]</Street2> <City>string [optional, max length 100]</City> <State>string [optional, max length 100]</State> <PostalCode>string [optional, max length 100]</PostalCode> <Country>string [optional, max length 100]</Country> <CompanyName>string [optional, max length 100]</CompanyName> <JobTitle>string [optional, max length 100]</JobTitle> <CustomField1>string [optional, max length 500]</CustomField1> <CustomField2>string [optional, max length 500]</CustomField2> <CustomField3>string [optional, max length 500]</CustomField3> <Culture>string [max length 500]</Culture> <CustomField4>string [optional, max length 500]</CustomField4> <CustomField5>string [optional, max length 500]</CustomField5> <CustomField6>string [optional, max length 500]</CustomField6> <CustomField7>string [optional, max length 500]</CustomField7> <CustomField8>string [optional, max length 500]</CustomField8> <CustomField9>string [optional, max length 500]</CustomField9> <CustomField10>string [optional, max length 500]</CustomField10> <SalesforceContactId>string [optional, max length 50]</SalesforceContactId> <SalesforceAccountId>string [optional, max length 50]</SalesforceAccountId> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> <Brand>string [max length 200]</Brand> <ManagerId>string [optional, max length 50]</ManagerId> <ManagerName>string [optional, max length 200]</ManagerName> <EnableTextNotification>true/false</EnableTextNotification> <Website>string[optional, max length 100]</Website> <Twitter>string[optional, max length 100]</Twitter> <ExpirationDate>datetime [optional, iso 8601 format]</ExpirationDate> <ExternalEmployeeId>string[optional, max length 100]</ExternalEmployeeId> </User> <User> .......... </User> </Users>
Get User Logins
Returns a list of people including ‘active’ and ‘inactive’ people that have logged into the application within a given date range.
Request URI
GET /org/users/logins?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<Users xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <User> <Id>string [max length 50]</Id> <UserName>string [max length 255]</UserName> <FirstName>string [max length 50]</FirstName> <LastName>string [max length 50]</LastName> <FullName>string [max length 200]</FullName> <Email>string [optional, max length 255]</Email> <AccessLevel>string [max length 50]</AccessLevel> <DisableMessages>true/false</DisableMessages> <Active>true/false</Active> <Skype>string [optional, max length 100]</Skype> <PhoneWork>string [optional, max length 50]</PhoneWork> <PhoneMobile>string [optional, max length 50]</PhoneMobile> <LastLogin>datetime [iso 8601 format]</LastLogin> <LoginKey>/login.aspx?loginkey=</LoginKey> <IsCustomUsername>true/false</IsCustomUsername> <TimeZone>string [see time zone list]</TimeZone> <SalesforceId>string [optional, max length 50]</SalesforceId> <OriginalId>integer</OriginalId> <Street1>string [optional, max length 100]</Street1> <Street2>string [optional, max length 100]</Street2> <City>string [optional, max length 100]</City> <State>string [optional, max length 100]</State> <PostalCode>string [optional, max length 100]</PostalCode> <Country>string [optional, max length 100]</Country> <CompanyName>string [optional, max length 100]</CompanyName> <JobTitle>string [optional, max length 100]</JobTitle> <CustomField1>string [optional, max length 500]</CustomField1> <CustomField2>string [optional, max length 500]</CustomField2> <CustomField3>string [optional, max length 500]</CustomField3> <Culture>string [max length 500]</Culture> <CustomField4>string [optional, max length 500]</CustomField4> <CustomField5>string [optional, max length 500]</CustomField5> <CustomField6>string [optional, max length 500]</CustomField6> <CustomField7>string [optional, max length 500]</CustomField7> <CustomField8>string [optional, max length 500]</CustomField8> <CustomField9>string [optional, max length 500]</CustomField9> <CustomField10>string [optional, max length 500]</CustomField10> <SalesforceContactId>string [optional, max length 50]</SalesforceContactId> <SalesforceAccountId>string [optional, max length 50]</SalesforceAccountId> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> <Brand>string [max length 200]</Brand> <ManagerId>string [optional, max length 50]</ManagerId> <ManagerName>string [optional, max length 200]</ManagerName> <EnableTextNotification>true/false</EnableTextNotification> <Website>string [optional, max length 100]</Website> <Twitter>string [optional, max length 100]</Twitter> <ExpirationDate>datetime [optional, iso 8601 format]</ExpirationDate> <ExternalEmployeeId>string [optional, max length 100]</ExternalEmployeeId> </User> </Users>
Get Modules Results
Get a list of all user module results that have changed within a given date range.
Request URI
GET /org/modules/results?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<ModuleResults xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <ModuleResult> <Id>string [max length 50]</Id> <UserId>string [max length 50]</UserId> <OrginalModuleId>integer</OrginalModuleId> <OriginalUserId>integer</OriginalUserId> <ModuleResultId>integer</ModuleResultId> <Active>true/false</Active> <Name>string [max length 255]</Name> <Passmark>integer</Passmark> <Score>integer</Score> <UserName>string [max length 255]</UserName> <Completed>true/false</Completed> <AttemptNumber>integer</AttemptNumber> <CreatedBy>integer</CreatedBy> <FinishedDate>datetime [iso 8601 format]</FinishedDate> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <StartedDate>datetime [iso 8601 format]</StartedDate> <TimeTaken>HH:mm:ss</TimeTaken> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <Code>string [max length 20]</Code> </ModuleResult> ....................... </ModuleResults>
Get Course Results
Get a list of all user course results that have changed within a given date range.
Request URI
GET /org/results/details?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<UserResults> <UserResult> <Id>string [max length 50]</Id> <UserId>string [max length 50]</UserId> <OriginalUserId>integer</OriginalUserId> <OriginalCourseId>integer</OriginalCourseId> <Name>string [max length 255]</Name> <Active>true/false</Active> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <StartedDate>datetime [iso 8601 format]</StartedDate> <Completed>true/false</Completed> <PercentageComplete>float</PercentageComplete> <CompletedDate>datetime [iso 8601 format]</CompletedDate> <UpToDate>true/false</UpToDate> <Overdue>true/false</Overdue> <CompliantTillDate>datetime [iso 8601 format]</CompliantTillDate> <DueDate>datetime [iso 8601 format]</DueDate> <LastAttemptDate>datetime [iso 8601 format]</LastAttemptDate> <CreatedBy>integer</CreatedBy> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <Code>string [max length 20]</Code> <Username>string [max length 255]</Username> </UserResult> <UserResult> .......... </UserResult> </UserResults>
Get Learning Paths Results
Get a list of all user learning paths results that have changed within a given date range.
Request URI
GET /org/learningpaths/results?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<LearningPathResults xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <LearningPathResult> <Id>string [max length 50]</Id> <UserId>string [max length 50]</UserId> <OriginalLearningPathId>integer</OriginalLearningPathId> <OriginalUserId>integer</OriginalUserId> <Active>true/false</Active> <Name>string [max length 255]</Name> <PercentageComplete>float</PercentageComplete> <Completed>true/false</Completed> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CompliantTillDate i:nil="true"/> <StartDate>datetime [iso 8601 format]</StartDate> <FinishDate>datetime [iso 8601 format]</FinishDate> <CreatedBy>integer</CreatedBy> </LearningPathResult> ....................... </LearningPathResults>
Get Achievements
Get a list of all users that have earned achievements within a given date range.
Request URI
GET /org/achievements?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<Achievements> <Achievement> <Id>string [max length 50]</Id> <UserId>string [max length 50]</UserId> <CourseId>string [max length 50]</CourseId> <LearningPathId>string [max length 50]</LearningPathId> <OriginalAchievementId>integer</OriginalAchievementId> <OriginalUserId>integer</OriginalUserId> <OriginalCourseId>integer</OriginalCourseId> <OriginalLearningPathId>integer</OriginalLearningPathId> <CompliantTillDate>datetime [iso 8601 format]</CompliantTillDate> <Title>string [max length 255]</Title> <AchievementDate>datetime [iso 8601 format]</AchievementDate> <Type>string [max length 50]</Type> <CertificateId>integer</CertificateId> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> </Achievement> <Achievement> .......... </Achievement> </Achievements>
Get Modules
Get all the modules in an organization that was created or updated within a given date range.
Request URI
GET /org/modules?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<Modules xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <Module> <Id>string [max length 50]</Id> <OriginalId>integer</OriginalId> <Name>string [max length 255]</Name> <Description>string [max length 2000]</Description> <Active>true/false</Active> <Passmark>integer</Passmark> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <ModuleType>string [max length 50]</ModuleType> </Module> ....................... </Modules>
Get Courses
Get all the courses in your organization that were created or updated within a given date range.
Request URI
GET /org/courses?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<Courses> <Course> <Id>string [max length 50]</Id> <Code>string [max length 20]</Code> <Name>string [max length 255]</Name> <Active>true/false</Active> <ForSale>true/false</ForSale> <OriginalCourseId>integer</OriginalCourseId> <Description>string</Description> <EcommerceShortDescription>string [max length 255]</EcommerceShortDescription> <EcommerceLongDescription>string</EcommerceLongDescription> <CourseCodeForBulkImport>string [max length 50]</CourseCodeForBulkImport> <Price>float</Price> <AccessTillDate>datetime [iso 8601 format]</AccessTillDate> <AccessTillDays>integer</AccessTillDays> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> <CompliantTillDays>integer</CompliantTillDays> <TimeLimitDate>datetime [iso 8601 format]</TimeLimitDate> <TimeLimitDays>integer</TimeLimitDays> <DisplayOrder>integer</DisplayOrder> <IncludeInLibrary>true/false</IncludeInLibrary> <CourseImageURL>string [max length 100]</CourseImageURL> </Course> <Course> .......... </Course> </Courses>
Get Learning Paths
Get all learning paths that were created or updated within a given date range.
Request URI
GET /org/learningpaths?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<LearningPaths> <LearningPath> <Id>string [max length 50]</Id> <Name>string [max length 255]</Name> <Description>string</Description> <Active>true/false</Active> <OriginalId>integer</OriginalId> <ForSale>true/false</ForSale> <Price>float</Price> <EcommerceShortDescription>string [max length 255]</EcommerceShortDescription> <EcommerceLongDescription>string</EcommerceLongDescription> <AccessTillDate>datetime [iso 8601 format]</AccessTillDate> <AccessTillDays>integer</AccessTillDays> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <DisplayOrder>integer</DisplayOrder> <IncludeInLibrary>true/false</IncludeInLibrary> <IsCourseOrderOptional>true/false</IsCourseOrderOptional> <ImageURL>string [max length 100]</ImageURL> </LearningPath> <LearningPath> .......... </LearningPath> </LearningPaths>
Get Courses and Modules
Get all modules added or removed from a course within a given date range.
Request URI
GET /org/courses/modules?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<CourseModules> <CourseModule> <CourseId>string [max length 50]</CourseId> <Id>string [max length 50]</Id> <OriginalCourseId>integer</OriginalCourseId> <OriginalModuleId>integer</OriginalModuleId> <Active>true/false</Active> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> </CourseModule> <CourseModule> .......... </CourseModule> </CourseModules>
Get Courses and Learning Paths
Get all courses added or removed from a learning path within a given date range.
Request URI
GET /org/learningpaths/courses?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<LearningPathCourses> <LearningPathCourse> <LearningPathId>string [max length 50]</LearningPathId> <Id>string [max length 50]</Id> <OriginalLearningPathId>integer</OriginalLearningPathId> <OriginalCourseId>integer</OriginalCourseId> <Active>true/false</Active> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> </LearningPathCourse> <LearningPathCourse> .......... </LearningPathCourse> </LearningPathCourses>
Get User Course Assignments
Get all courses assigned to users within a given date range.
Important Note: It will not return Course assignments through the team.
Request URI
GET /org/users/courses?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<UserCourses> <UserCourse> <UserId>string [max length 50]</UserId> <ID>string [max length 50]</ID> <OriginalUserId>integer</OriginalUserId> <OriginalCourseId>integer</OriginalCourseId> <Active>true/false</Active> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> </UserCourse> <UserCourse> .......... </UserCourse> </UserCourses>
Get User Learning Path Assignments
Get all learning-paths assigned to users within a given date range.
Important Note: It will not return learning path assignments through the team.
Request URI
GET /org/learningpaths/users?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<LearningPathUsers> <LearningPathUser> <LearningPathId>string [max length 50]</LearningPathId> <Id>string [max length 50]</Id> <OriginalLearningPathId>integer</OriginalLearningPathId> <Active>true/false</Active> <OriginalUserId>integer</OriginalUserId> <CreatedBy>integer</CreatedBy> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedBy>0</UpdatedBy> <UpdatedDate i:nil="true"/> </LearningPathUser> <LearningPathUser> .......... </LearningPathUser> </LearningPathUsers>
Get Teams
Get all teams that were created or modified within a given date range.
Request URI
GET /org/teams?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<Teams> <Team> <Id>string [max length 50]</Id> <Name>string [max length 255]</Name> <OriginalTeamId>integer</OriginalTeamId> <Active>true/false</Active> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> <ParentTeamId>string [max length 50]</ParentTeamId> <TeamCodeForBulkImport>string [max length 50]</TeamCodeForBulkImport> </Team> <Team> .......... </Team> </Teams>
Get Team Users Assigned
Get all user team assignments that were created or modified within a given date range.
Request URI
GET /org/teams/users?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<TeamUsers> <TeamUser> <TeamId>string [max length 50]</TeamId> <Id>string [max length 50]</Id> <OriginalTeamId>integer</OriginalTeamId> <OriginalUserId>integer</OriginalUserId> <Active>true/false</Active> <IsTeamLeader>true/false</IsTeamLeader> <IsTeamAdmin>true/false</IsTeamAdmin> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> </TeamUser> <TeamUser> .......... </TeamUser> </TeamUsers>
Get Team Courses Assigned
Get all team course assignments that were created or modified within a given date range.
Request URI
GET /org/teams/courses?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<TeamCourses> <TeamCourse> <TeamId>string [max length 50]</TeamId> <Id>string [max length 50]</Id> <OriginalCourseId>integer</OriginalCourseId> <OriginalTeamId>integer</OriginalTeamId> <Active>true/false</Active> <IsInTeamLibrary>true/false</IsInTeamLibrary> <LearningPathAssignment>true/false</LearningPathAssignment> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> </TeamCourse> <TeamCourse> .......... </TeamCourse> </TeamCourses>
Get Team Learning Paths Assigned
Get all team learning-paths that were created or modified within a given date range.
Request URI
GET /org/teams/learningpaths?source={source}&since=[YYYY-MM-DD HH:MM:SS]&to=[YYYY-MM-DD HH:MM:SS]
Response Body (XML)
<TeamLearningPaths> <TeamLearningPath> <TeamId>string [max length 50]</TeamId> <Id>string [max length 50]</Id> <OriginalLearningPathId>integer</OriginalLearningPathId> <OriginalTeamId>integer</OriginalTeamId> <Active>true/false</Active> <IsInTeamLibrary>true/false</IsInTeamLibrary> <CreatedDate>datetime [iso 8601 format]</CreatedDate> <UpdatedDate>datetime [iso 8601 format]</UpdatedDate> <CreatedBy>integer</CreatedBy> <UpdatedBy>integer</UpdatedBy> </TeamLearningPath> <TeamLearningPath> .......... </TeamLearningPath> </TeamLearningPaths>
Note: For /org/teams/learningpaths & /org/teams/courses you can have two responses with the same Learning Path/Course Id and Team Id based on if IsInTeamLibrary is true/false. One response (IsInTeamLibrary = true) means that the Learning Path/Course is assigned to the Team library. The other response (IsInTeamLibrary = false) means that the Learning Path/Course is assigned to the Team directly. If the Learning Path/Course is assigned to both the Team library and to the Team directly, you will have both responses.