Api
Ai
Overview:
Handles calling AI features, currently from the editor plugin.
API | Description |
---|---|
POST restapi/personal/ai/v1 |
Runs the AI prompt for the given feature. It uses Daisy API. |
ApplicationInitialisationCacheWarmUp
Overview:
Controller to help initialise the cache on start up. The cache is called from Web.config. It is triggered on application start-up /'iisreset'
and application recycle.
See tag 'applicationInitialization' in web.config.
API | Description |
---|---|
GET restapi/warmup/cache/extensionmodule/v1 |
Load extension modules into memory cache on start-up. |
GET restapi/warmup/cache/learningtool/v1 |
Load learning tools into memory cache on start-up. |
GET restapi/warmup/cache/plugin/v1 |
Load plugins into memory cache on start-up. |
AssessmentRecord
Overview:
End point for Assessmentrecord API
Assignment
Overview:
Endpoint for assignment for personal API. Requests will be forwarded to the assignment api.
We want to abstract SharableObjectId (learningObjectId) and LearningObjectInstanceId from the client (e.g. mobile), therefore endpoints use ElementId.
Secured with Oauth2, and requires OAuth2 API scope .
API | Description |
---|---|
POST restapi/personal/assignment/{elementId}/answer/v1 |
Submit answer for an assignment |
Calendar
Overview:
Calendar endpoint for personal API.
Secured with Oauth2, and requires OAuth2 API scope Calendar.
API | Description |
---|---|
GET restapi/personal/calendar/events/{eventId}/v1 |
Gets a single calendar event by the specified |
POST restapi/personal/calendar/events/areanyforgroups/v1 |
No documentation available. |
GET restapi/personal/calendar/events/v1?fromDate={fromDate}&PageIndex={PageIndex}&PageSize={PageSize} |
Gets a list of calendar events. |
Children
Overview:
Endpoint for retrieving children-related data.
Secured with Oauth2, and requires OAuth2 API scope Person.
API | Description |
---|---|
GET restapi/personal/children/{childId}/courses/{courseId}/tasks/v1?PageIndex={PageIndex}&PageSize={PageSize}&status={status}&deadline={deadline}&isHomework={isHomework}&fromDate={fromDate}&toDate={toDate} |
Gets a list of tasks assigned to the child in the requested course. |
GET restapi/personal/children/{childId}/tasks/v1?PageIndex={PageIndex}&PageSize={PageSize}&status={status}&deadline={deadline}&isHomework={isHomework}&fromDate={fromDate}&toDate={toDate} |
Gets a list of tasks assigned to the child. |
GET restapi/personal/children/v1 |
Gets the related children details for a given person |
ChildrenCalendar
Overview:
The controller is used to get information about children events.
Secured with Oauth2, and requires OAuth2 API scope Person.
API | Description |
---|---|
GET restapi/personal/children/{childId}/courses/{courseId}/events/v1?fromDate={fromDate}&toDate={toDate}&PageIndex={PageIndex}&PageSize={PageSize} |
Gets a list of calendar events for the child in course. |
GET restapi/personal/children/{childId}/events/{eventId}/v1 |
Gets a single course calendar event for the child by the specified |
ChildrenCourses
Overview:
The controller is used to get information about children courses and teachers.
API | Description |
---|---|
GET restapi/personal/children/{childId}/courses/{courseId}/features/v1 |
Returns available feature and sub-features in a course where the child is a learner. |
GET restapi/personal/children/{childId}/courses/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Returns list of courses where the child is a learner. |
GET restapi/personal/children/{childId}/upcoming/v1?fromDate={fromDate}&toDate={toDate} |
Returns list of courses upcoming plans, tasks and events in a dates range (one day only so far). |
ChildrenOrganisation
Overview:
Endpoint for retrieving settings of the organization where a child is a member.
Secured with Oauth2, and requires OAuth2 API scope Person.
API | Description |
---|---|
GET restapi/personal/children/{childId}/permissions/v1 |
Gets permissions of the parent in the child's organisation. |
ChildrenPlans
Overview:
Endpoint for retrieving children-related data.
Secured with Oauth2, and requires OAuth2 API scope Person.
API | Description |
---|---|
GET restapi/personal/children/{childId}/plans/{planId}/v1 |
Gets the child's single plan details. Returns HTTP status 404 not found, if the plan does not exist for the user. It will only return plan the user has access to. |
GET restapi/personal/children/{childId}/plans/v1?startDate={startDate}&stopDate={stopDate}&onlyWithoutDates={onlyWithoutDates}&PageIndex={PageIndex}&PageSize={PageSize} |
Gets a list of plans assigned to the child. |
CourseCards
Overview:
Endpoint for CourseCards API
Course cards in itslearning is personal and gives a better overview in the homepage for the daily workflow.
Secured with Oauth2, and requires OAuth2 API scope Courses.
API | Description |
---|---|
GET restapi/personal/courses/cards/{courseId}/settings/v1 |
Gets the course card settings |
POST restapi/personal/courses/cards/{courseId}/settings/v1 |
Apply course card information to course. |
POST restapi/personal/courses/cards/rank/v1 |
No documentation available. |
GET restapi/personal/courses/cards/starred/v1?PageIndex={PageIndex}&PageSize={PageSize}&sortBy={sortBy}&searchText={searchText}&isShowMore={isShowMore} |
Gets the list of cards for user's starred courses |
GET restapi/personal/courses/cards/unstarred/v1?PageIndex={PageIndex}&PageSize={PageSize}&sortBy={sortBy}&searchText={searchText}&isShowMore={isShowMore} |
Gets the list of cards for user's unstarred courses |
CourseFeatures
Overview:
Endpoint to Courses features API.
Courses in itslearning are personal, and are related to person.
Secured with Oauth2, and required OAuth2 API scope Courses.
API | Description |
---|---|
GET restapi/personal/courses/{courseId}/features/v1 |
Gets features for the given course. |
GET restapi/personal/courses/{courseId}/features/v2 |
Gets features for the given course. |
Courses
Overview:
Endpoint to Courses API.
Courses in itslearning are personal, and are related to person.
Secured with Oauth2, and required OAuth2 API scope Courses.
CoursesGroups
Overview:
Endpoint to Courses groups API.
Secured with Oauth2, and required OAuth2 API scope Courses.
API | Description |
---|---|
DELETE restapi/personal/courses/{courseId}/groups/v1 |
Remove course groups with specified identifiers. The user needs course-admin rights in the course to be authorized. |
PUT restapi/personal/courses/{courseId}/groupsets/v1 |
Create or replace existing course groups sets in specified course. If the course groups don't exist yet, new groups will be created and identifiers of the created groups will be returned in the response with the same ordering as was given in the request. If course groups already exist, then the groups will be updated. Any existing participants of any existing course groups will be replaced by new participants from this request. Course group titles will also be updated. The user needs course-admin rights in the course to be authorized. |
CustomerSettings
Overview:
Endpoint to fetch customer setting values.
API | Description |
---|---|
GET restapi/customersettings/{key}/v1 |
Gets course info by specified id. |
Hierarchies
Overview:
Endpoint to Hierarchies API.
Hierarchies in itslearning are personal, and are related to person.
Secured with Oauth2, and required OAuth2 API scope
API | Description |
---|---|
GET restapi/personal/hierarchies/{hierarchyId}/children/v1 |
Get all children of a specific hierarchy. Returns only hierarchies to which person has access to. Returns HTTP status 404 not found, if the hierarchyId does not exist for the user or user has no permission to read it. |
GET restapi/personal/hierarchies/{hierarchyId}/childrenwithmembercountforcourse/v1?courseId={courseId} |
Get all children of a specific hierarchy, with a count of how many members the hierarchy has. Returns HTTP status 404 not found, if the hierarchyId does not exist for the user or user has no permission to read it. |
GET restapi/personal/hierarchies/{hierarchyId}/childrenwithmembercountforperson/v1 |
Get all children of a specific hierarchy, with a count of how many members the hierarchy has. Returns HTTP status 404 not found, if the hierarchyId does not exist for the user or user has no permission to read it. |
GET restapi/personal/hierarchies/{hierarchyId}/members/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Get all members and their role in the specified hierarchy. Will only return members the calling user is allowed to see. |
GET restapi/personal/hierarchies/{hierarchyId}/members/v2?PageIndex={PageIndex}&PageSize={PageSize}&courseContext={courseContext} |
Get all members and their role in the specified hierarchy. Will only return members the calling user is allowed to see. |
GET restapi/personal/hierarchies/{hierarchyId}/parents/v1?visibleInSearchOnly={visibleInSearchOnly} |
Get all parents of a specific hierarchy. Returns HTTP status 404 not found, if the hierarchyId does not exist for the user or user has no permission to read it. |
GET restapi/personal/hierarchies/{hierarchyId}/v1?role={role} |
Get all members of a specific hierarchy with the given role. Returns HTTP status 404 not found, if the hierarchyId does not exist for the user or user has no permission to read it. |
GET restapi/personal/hierarchies/default/v1 |
Get default hierarchy for the current person. Could be School if person is a member of only one school or has home organization set, a whole Site otherwise. |
GET restapi/personal/hierarchies/defaultforcourse/{courseId} |
Get default hierarchy for the current course. |
GET restapi/personal/hierarchies/defaultwithmembercount/v1 |
Get default hierarchy for the current person. Could be School if person is a member of only one school or has home organization set, a whole Site otherwise. |
GET restapi/personal/hierarchies/organisations/v1?role={role} |
Get all organisations to which current person belongs to and has specific role. |
GET restapi/personal/hierarchies/organizations/v1?role={role} |
Get all organizations to which current person belongs to and has specific role. This method obsolete, use 'organisations/v1' instead. |
ImmersiveReader
Overview:
API controller for Immersive Reader.
API | Description |
---|---|
GET restapi/personal/immersivereader/v1?resourceId={resourceId}&resourceType={resourceType} |
Gets the required info for use with Immersive Reader. |
InstantMessage
Overview:
Endpoint for internal instant messages for personal API.
Secured with Oauth2, and requires OAuth2 API scope InstantMessage.
API | Description |
---|---|
DELETE restapi/personal/instantmessages/{instantMessageId}/abusereport/v1 |
Cancels abuse report. |
PATCH restapi/personal/instantmessages/{instantMessageId}/restore/v1 |
Undo deletion for an instant message. |
DELETE restapi/personal/instantmessages/{instantMessageId}/v1 |
Deletes an instant message. |
POST restapi/personal/instantmessages/attachment/v1 |
Upload file attachment to temporary storage. The file should be included in the post call so we can extract it as HttpContext.Current.Request.Files |
DELETE restapi/personal/instantmessages/attachment/v1?fileId={fileId} |
Delete temporary files that were uploaded |
PUT restapi/personal/instantmessages/cancelabusethreadreport/{threadId}/v1 |
Cancels abuse report for thread. |
POST restapi/personal/instantmessages/communicationchannel/{channelId}/v1?unregister={unregister} |
Register a (SignalR) communication channel |
GET restapi/personal/instantmessages/messagethreads/{instantMessageThreadId}/unread/count/v1 |
Gets number of unread messages in a specific thread for the current user |
GET restapi/personal/instantmessages/messagethreads/{threadId}/messages/search/v1?searchText={searchText} |
Searches inside the given thread for messages matching the given search text. |
GET restapi/personal/instantmessages/messagethreads/{threadId}/messages/v2?maxMessages={maxMessages}&upperBoundInstantMessageId={upperBoundInstantMessageId}&lowerBoundInstantMessageId={lowerBoundInstantMessageId} |
Gets the messages in a specific thread. The impersonated user need to be a member of the thread. One cannot use both lowerBoundInstantMessageId and upperBoundInstantMessageId |
GET restapi/personal/instantmessages/messagethreads/{threadId}/messages/v3?pageSize={pageSize}&fromId={fromId} |
Gets a collection of instant messages extended with hasMore field. |
PUT restapi/personal/instantmessages/messagethreads/{threadId}/moderators/v1 |
Adds moderator to an instant message thread. |
GET restapi/personal/instantmessages/messagethreads/{threadId}/participants/messages-disabled/v1 |
Gets a collection of thread participants who cannot see messages. |
PUT restapi/personal/instantmessages/messagethreads/{threadId}/participants/v1 |
Adds participants to an instant message thread. |
DELETE restapi/personal/instantmessages/messagethreads/{threadId}/participants/v1 |
Remove participants from an instant message thread. |
PATCH restapi/personal/instantmessages/messagethreads/{threadId}/restore/v1 |
Restores deletion for thread. |
PUT restapi/personal/instantmessages/messagethreads/{threadId}/toggleEnableDisableReplies/v1 |
Toggle whether students can send replies to this thread or not |
PUT restapi/personal/instantmessages/messagethreads/{threadId}/updatelastread/{lastReadInstantMessageId}/v1?sortIndex={sortIndex}&operation={operation} |
Updates last read instant message id for a thread |
DELETE restapi/personal/instantmessages/messagethreads/{threadId}/v1 |
Deletes a thread. |
PUT restapi/personal/instantmessages/messagethreads/{threadId}/v1 |
Updates a instant message thread. Supports updating the name of the thread or the list of the participants. Will return HTTP status 404 if the InstantMessageThreadId is not found or the user does not have access to it. |
GET restapi/personal/instantmessages/messagethreads/{threadId}/v1?maxMessages={maxMessages}&upperBoundInstantMessageId={upperBoundInstantMessageId}&lowerBoundInstantMessageId={lowerBoundInstantMessageId} |
DEPRECATED use "messagethreads/{threadId}/messages/v2" instead. Gets the messages in a specific thread if the user is a recipient in the thread. One cannot use both lowerBoundInstantMessageId and upperBoundInstantMessageId |
GET restapi/personal/instantmessages/messagethreads/{threadId}/v2?maxMessages={maxMessages}&upperBoundInstantMessageId={upperBoundInstantMessageId}&lowerBoundInstantMessageId={lowerBoundInstantMessageId} |
Gets the instant message thread and the messages in a specific thread. The impersonated user need to be a member of the thread. One cannot use both lowerBoundInstantMessageId and upperBoundInstantMessageId. If you only need messages from the thread, consider using "messagethreads/{threadId}/messages/v2" instead. |
GET restapi/personal/instantmessages/messagethreads/{threadId}/v3?maxMessages={maxMessages}&upperBoundInstantMessageId={upperBoundInstantMessageId}&lowerBoundInstantMessageId={lowerBoundInstantMessageId} |
Gets the instant message thread and the messages in a specific thread. The impersonated user need to be a member of the thread. One cannot use both lowerBoundInstantMessageId and upperBoundInstantMessageId. If you only need messages from the thread, consider using "messagethreads/{threadId}/messages/v2" instead. This version doesn't return thread participants for course threads for performance reasons. |
GET restapi/personal/instantmessages/messagethreads/collaborations/{collaborationId}/v1 |
Gets the instant message thread id for group answer. Creates it if not there yet. |
GET restapi/personal/instantmessages/messagethreads/onetoone/{personId}/v1 |
Gets the instant message thread id for a one to one conversation between the caller and a user. |
POST restapi/personal/instantmessages/messagethreads/search/v1 |
Searches the logged in user's message threads. PersonId is gotten from the authorization (session or oauth) Supports paging. If paging is not used, it will use a default pageSize on pageIndex 0 The client can specify paging with a combination of UseNewerThan and FromId to be able to page directly from a specified messageId |
GET restapi/personal/instantmessages/messagethreads/suggestions/v1?searchText={searchText} |
Suggests conversations which names contain search string. |
GET restapi/personal/instantmessages/messagethreads/unread/count/v1 |
Gets number of threads that contain unread messages |
GET restapi/personal/instantmessages/messagethreads/v1?maxThreadCount={maxThreadCount}&threadPage={threadPage}&maxMessages={maxMessages} |
Gets the logged in user's message threads. PersonId is gotten from the authorization (session or oauth) Supports paging. If paging is not used, it will use a default pageSize on pageIndex 0 The client can specify paging with a combination of UseNewerThan and FromId to be able to page directly from a specified messageId |
GET restapi/personal/instantmessages/messagethreads/v2?maxThreadCount={maxThreadCount}&threadPage={threadPage}&maxMessages={maxMessages} |
Gets the logged in user's message threads. PersonId is gotten from the authorization (session or oauth) Supports paging. If paging is not used, it will use a default pageSize on pageIndex 0 The client can specify paging with a combination of UseNewerThan and FromId to be able to page directly from a specified messageId |
GET restapi/personal/instantmessages/messagethreads/v3?fromSortIndex={fromSortIndex}&pageSize={pageSize} |
Gets a collection of threads for logged in user extended with hasMore field.
Supports paging by sort index field. If |
GET restapi/personal/instantmessages/messagethreads/v4?fromSortIndex={fromSortIndex}&pageSize={pageSize} |
Gets a collection of threads for logged in user extended with hasMore field.
Supports paging by sort index field. If |
GET restapi/personal/instantmessages/permissions/v1 |
Gets permissions for the instant message system. |
GET restapi/personal/instantmessages/privacy/{personId}/v1 |
Checks privacy rules to determine if user is allowed to initiate communication with a person. |
POST restapi/personal/instantmessages/recipients/persons/v1 |
Gets recipient persons requested |
GET restapi/personal/instantmessages/recipients/search/v1?searchText={searchText}&instantMessageThreadId={instantMessageThreadId}&recipientRoles[0]={recipientRoles[0]}&recipientRoles[1]={recipientRoles[1]} |
Gets persons that the user is allowed to communicate with given the customer's esafety rules configured in itslearning. |
GET restapi/personal/instantmessages/recipients/v1?personIds[0]={personIds[0]}&personIds[1]={personIds[1]}&courseId={courseId}&projectId={projectId} |
Gets recipients(persons, course or project) requested |
GET restapi/personal/instantmessages/recipients/v2?personIds[0]={personIds[0]}&personIds[1]={personIds[1]}&courseIds[0]={courseIds[0]}&courseIds[1]={courseIds[1]}&projectIds[0]={projectIds[0]}&projectIds[1]={projectIds[1]} |
Gets recipients(persons, course or project) requested |
GET restapi/personal/instantmessages/settings/v1 |
Gets the settings for the instant message system. Boundaries for attachment size, max participants in a group thread etc. |
GET restapi/personal/instantmessages/settings/v2 |
Gets the settings for the instant message system. Boundaries for attachment size, max participants in a group thread etc. |
GET restapi/personal/instantmessages/starred/count/v1 |
Gets the number of starred messages for the current user |
GET restapi/personal/instantmessages/suggestions/v1?searchText={searchText}&maxSuggestions={maxSuggestions} |
Searches for suggestions of person names or thread names that match the input search query for the current user |
PUT restapi/personal/instantmessages/togglemessagestar/{instantMessageId}/v1 |
Toggle whether the given message is starred or not |
PUT restapi/personal/instantmessages/togglepersonblock/{personId}/v1 |
Toggles block for specific |
POST restapi/personal/instantmessages/v1 |
DEPRECATED use v2 instead Send an instant message. Creates a new thread or reuse an old. The thread the message was sent to will be returned. |
PATCH restapi/personal/instantmessages/v1 |
Updates the text for an instant message. |
POST restapi/personal/instantmessages/v2 |
Send an instant message. Creates a new thread or reuse an old. The thread the message was sent to will be returned. |
InstantMessageBroadcast
Overview:
Endpoint for internal instant messages broadcasting for personal API.
Secured with Oauth2, and requires OAuth2 API scope InstantMessage.
API | Description |
---|---|
POST restapi/personal/instantmessages/broadcast/v1 |
Send a broadcast instant message. Creates a new thread for a new broadcast message. |
DELETE restapi/personal/instantmessages/broadcast/v1 |
Marks broadcast threads as deleted and created the async task to delete permanently them and all associated data. |
GET restapi/personal/instantmessages/broadcastStatistics/{threadId}/v1 |
Gets statistics how many recipients read messages of specified threads |
LearningObjectiveRepository
Overview:
Endpoint for learning objectives for the personal api.
Secured with Oauth2, and requires OAuth2 API scope LearningObjectiveRepository.
API | Description |
---|---|
GET restapi/learningobjectiverepository/subjects/{countryCode}/v1 |
Retrieves the Subjects that have been defined for the given Country code. |
LearningObjectivesReports
Overview:
Endpoint to get users' learning objectives aggregated progress reports and / or corresponding information.
Secured with Oauth2, and requires OAuth2 API scope Reports.
API | Description |
---|---|
GET restapi/personal/progressreport/{personId}/v1?subjectId={subjectId}&fromDateTime={fromDateTime}&toDateTime={toDateTime}&statuses={statuses} |
Gets the person learning objectives aggregated progress report. The client of this API may supply additional parameters to get a more detailed report. For instance supplying a time period parameters (fromDateTime and toDateTime) one can get a report only in this particular time period. |
GET restapi/personal/progressreport/courses/v1?learningObjectiveId={learningObjectiveId}&onlyWithCriteria={onlyWithCriteria} |
Gets the favourite courses where current user is a teacher and where the learning objective used. |
GET restapi/personal/progressreport/criteria/{personId}/v1?courseId={courseId}&criteriaIds={criteriaIds}&fromDateTime={fromDateTime}&toDateTime={toDateTime} |
Gets the person criteria assessment report. The client of this API may supply additional parameters to get a more detailed report. For instance supplying a time period parameters (fromDateTime and toDateTime) one can get a report only in this particular time period. |
GET restapi/personal/progressreport/criteria/v1?courseId={courseId}&learningObjectiveId={learningObjectiveId} |
Gets the criteria list for learning objective at specified course. |
GET restapi/personal/progressreport/reportsubjects/{personId}/v1?fromDateTime={fromDateTime}&toDateTime={toDateTime}&subjectIds={subjectIds} |
Gets list of subjects the person learning objectives aggregated progress report is based on. |
GET restapi/personal/progressreport/reportsubjects/v1?personSyncKey={personSyncKey}&fromDateTime={fromDateTime}&toDateTime={toDateTime}&subjectIds={subjectIds} |
Gets list of subjects the person learning objectives aggregated progress report is based on. |
GET restapi/personal/progressreport/statuses/{personId}/v1 |
Gets list of available learning objective statuses. |
GET restapi/personal/progressreport/statuses/v1?personSyncKey={personSyncKey} |
Gets list of available learning objective statuses. |
GET restapi/personal/progressreport/v1?subjectId={subjectId}&personSyncKey={personSyncKey}&fromDateTime={fromDateTime}&toDateTime={toDateTime}&statuses={statuses} |
Gets the person learning objectives aggregated progress report. The client of this API may supply additional parameters to get a more detailed report. For instance supplying a time period parameters (fromDateTime and toDateTime) one can get a report only in this particular time period. |
LightBulletin
Overview:
Endpoint for light bulletins for personal api.
Secured with Oauth2, and requires OAuth2 API scope light bulletin.
API | Description |
---|---|
PUT restapi/personal/lightbulletins/{lightBulletinId}/comments/subscription/v1 |
Turn on/off notifications for new comments for the light bulletin. |
POST restapi/personal/lightbulletins/{lightBulletinId}/comments/v1 |
Adds a new comment for light bulletin. |
GET restapi/personal/lightbulletins/{lightBulletinId}/comments/v1?UseNewerThan={UseNewerThan}&FromId={FromId}&PageIndex={PageIndex}&PageSize={PageSize} |
Gets the list of all comments added for given light bulletin sorted in chronological order (by date creation) from newest to oldest. |
POST restapi/personal/lightbulletins/{lightBulletinId}/comments/v2 |
Adds a new comment for light bulletin. |
PUT restapi/personal/lightbulletins/comments/{commentId}/v1 |
Updates comment's text. |
DELETE restapi/personal/lightbulletins/comments/{commentId}/v1 |
Deletes comment. |
PUT restapi/personal/lightbulletins/comments/{commentId}/v2 |
Updates comment's text. |
PUT restapi/personal/lightbulletins/v1 |
Marks light bulletins as seen. |
LightBulletinCourse
Overview:
Endpoint for light bulletins in course scope.
Secured with Oauth2, and required OAuth2 API scope Courses.
LtiExtension
Overview:
API controller for Lti extensions.
API | Description |
---|---|
GET restapi/personal/lti/{extensionId}/details/v1?courseId={courseId} |
Gets the LTI details for user and for the given course (if defined). |
GET restapi/personal/lti/{extensionId}/details/v2?courseId={courseId} |
Gets the LTI customer setup for user and for the given course (if defined). |
MediaRecorder
Overview:
Endpoint to Video Recording API.
Secured with Oauth2
API | Description |
---|---|
POST RestApi/personal/mediarecorder/createplayer/v1 |
No documentation available. |
POST RestApi/personal/mediarecorder/recordingcomplete/v1 |
Saves a Ziggeo redcorded video or audio clip to the server with the provided name |
POST RestApi/personal/mediarecorder/saveziggeorecording/v1 |
Saves a Ziggeo redcorded video or audio clip to the server with the provided name |
POST RestApi/personal/mediarecorder/uploadrecording/v1 |
No documentation available. |
GET RestApi/personal/mediarecorder/video/{videoId}/streams/v1 |
No documentation available. |
GET RestApi/personal/mediarecorder/ziggeo/{region}/video/{videoId}/streams/v1 |
Parameter is left only for backwards compatibility, it's not in use. |
Messages
Overview:
Endpoint for internal messages for personal api.
Secured with Oauth2, and requires OAuth2 API scope Messages.
API | Description |
---|---|
POST restapi/personal/messages/{messageId}/toggleFavorite/v1?isFavorite={isFavorite}&messageOrigin={messageOrigin} |
Toggles a message's IsFavorite property. Only supports toggling the current favorite value of the message. Will return HTTP status 401 if user does not have access. |
GET restapi/personal/messages/{messageId}/v1 |
Get a single message by its messageId. Returns HTTP status 404 not found, if the messageId does not exist for the user. It will only return messages the user has access to. |
PUT restapi/personal/messages/{messageId}/v1?messageOrigin={messageOrigin} |
Updates a message's properties. Only supports updating the IsRead field of Message. Will return HTTP status 404 if the messageId is not found or the user does not have access to it. |
DELETE restapi/personal/messages/{messageId}/v1?messageOrigin={messageOrigin} |
Deletes a message by moving it to the deleted folder. Will return HTTP status 401 if user does not have access. |
GET restapi/personal/messages/attachments/{fileId}/v1 |
Gets an attachment from a message. Returns HTTP status 404 not found, if the fileid does not exist for the user. It will only return attachment the user has access to. |
POST restapi/personal/messages/push/v1 |
This method is obsolete, use restapi/personal/person/push/v1 instead. Set push notifications in itslearning (on or off) for a device. This method will also register the device for push notifications with the push provider (if needed). |
GET restapi/personal/messages/recipients/search/v1?searchText={searchText} |
Search for message recipients. Only returns persons that the user is allowed to communicate with given the customer's esafety rules configured in itslearning. The searchText parameter is required and must contain at least 3 characters . |
POST restapi/personal/messages/send/v1 |
Sends a MessageToSend to recipients. The client should use the search endpoint to get personIds in order to fill the To and Bcc fields of a message. ReplyToMessageId is optional and should be used when replying to another message. |
GET restapi/personal/messages/unread/count/v1 |
Returns the number of unread messages for the user |
GET restapi/personal/messages/unread/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets the user's unread messages. The method supports paging. When paging is not specified, it will use a default pageSize on pageIndex 0. |
PUT restapi/personal/messages/v1 |
Updates messages. Only supports updating the IsRead field of each Message. Will return 404 if none of the messageIds are found, or the user does not have access to any. |
GET restapi/personal/messages/v1?UseNewerThan={UseNewerThan}&FromId={FromId}&PageIndex={PageIndex}&PageSize={PageSize} |
Gets the user's messages. Supports paging. If paging is not used, it will use a default pageSize on pageIndex 0. The client can specify paging with a combination of UseNewerThan and FromId to be able to page directly from a specified messageId. |
NativeApp
Overview:
Some utility methods for native apps
API | Description |
---|---|
GET restapi/nativeapp/versioncheck/{applicationKey}/v1?currentVersion={currentVersion}&operatingSystem={operatingSystem} |
Check if the current version for the application is ok or not. This requires that the native app has registered minimum required version and latest version. |
Notifications
Overview:
Endpoint for notifications and news feed for personal api.
The notifications you get access to are the same that are shown under the bell in itslearning.
Secured with Oauth2, and requires OAuth2 API scope Notifications.
API | Description |
---|---|
GET restapi/personal/notifications/{notificationId}/elements/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets the list of elements related to given notification |
GET restapi/personal/notifications/bulletins/{bulletinId}/elements/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets the list of resources attached to given bulletin |
GET restapi/personal/notifications/newsfeed/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets the user's news feed. New activities, resources and bulletins. The news feed is collected from all courses, all courses or projects, favorite courses or favorite courses or projects depending on the setting for "Latest changes" content block on the "My Page" dashboard. Supports paging. If paging is not used, it will use a default pageSize on pageIndex 0. |
PUT restapi/personal/notifications/seenmark/all/v1 |
Updates all the personal notifications to be seen. |
GET restapi/personal/notifications/stream/v1?UseNewerThan={UseNewerThan}&FromId={FromId}&PageIndex={PageIndex}&PageSize={PageSize}&fromPublishedDate={fromPublishedDate} |
Gets user's stream feed, which is collected from user's favorite courses or projects. If no parameters specified, 100 latest items will be returned. The client can specify paging with a combination of UseNewerThan, FromId and fromPublishedDate to be able to page directly from a specified NotificationId. Due to the fact that stream items are sorted by PublishedDate (not by ID), it's required to specify both FromId and fromPublishedDate parameters. Both should belong to a single StreamItem entity. By default items older than specified are returned, but it's possible to override that behavior by setting UseNewerThan to true. |
GET restapi/personal/notifications/stream/v2?showLightBulletins={showLightBulletins}&UseNewerThan={UseNewerThan}&FromId={FromId}&PageIndex={PageIndex}&PageSize={PageSize} |
Gets user's stream feed, which is collected from user's favorite courses or projects. If no parameters specified, 100 latest items will be returned. The client can specify paging with a combination of UseNewerThan and FromId to be able to page directly from a specified NotificationId. By default items older than specified are returned, but it's possible to override that behavior by setting UseNewerThan to true. |
GET restapi/personal/notifications/unread/count/v1 |
Returns number of unread personal notifications for the user. |
GET restapi/personal/notifications/unseen/count/v1 |
Returns number of unseen personal notifications for the user. |
PUT restapi/personal/notifications/v1 |
Updates the personal notifications to be read. Obsolete. Use v2 instead. Updated notifications will be returned. Notifications where IsRead=false or the person does not have access to, will just be disregarded. |
GET restapi/personal/notifications/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Get personal notifications (read and unread). Obsolete. Use v2 instead. |
PUT restapi/personal/notifications/v2 |
Updates the personal notifications to be read. Notifications where IsRead=false or the person does not have access to, will just be disregarded. |
GET restapi/personal/notifications/v2?UseNewerThan={UseNewerThan}&FromId={FromId}&PageIndex={PageIndex}&PageSize={PageSize} |
Get personal notifications (read and unread). |
NotificationsPost
Overview:
Endpoint for posting a new notifications for personal api.
The notifications you get access to are the same that are shown under the bell in itslearning.
Secured with Oauth2, and requires OAuth2 API scope Notifications.
API | Description |
---|---|
POST restapi/personal/notifications/deletetriggers/location/v1 |
Delete all personal notifications which related to a specific location. |
POST restapi/personal/notifications/deletetriggers/object/v1 |
Delete all personal notifications which related to a specific object. |
POST restapi/personal/notifications/posts/course/{courseId}/module/{moduleId}/exportCompleted/v1?section={section}&state={state}&fileName={fileName}&status={status} |
Send Export completed notification. Current user will be set as an author and a recipient. |
POST restapi/personal/notifications/posts/course/{courseId}/module/{moduleId}/importCompleted/v1?section={section}&state={state}&folders={folders}&resources={resources} |
Send Import completed notification. Current user will be set as an author and a recipient. |
POST restapi/personal/notifications/posts/v1 |
Send personal notifications. Current user will be set as an author of all notifications. |
PageUrl
Overview:
Endpoint to get URLs from the itslearning.
This API does not require authentication.
API | Description |
---|---|
GET restapi/pageurl/ckeditorconfigurls |
Get the urls to configure the CkEditor. |
GET restapi/pageurl/courseelement?courseId={courseId}&elementId={elementId}&elementType={elementType} |
Get 'course element' page url. |
GET restapi/pageurl/services/v1 |
Get the base Url for different customer specific services. |
GET restapi/pageurl/treelink |
Get the base Url to build a tree link navigation urls. |
GET restapi/pageurl/viewLearningToolElement?elementId={elementId} |
Get 'view learning tool element' page url. |
Person
Overview:
Endpoint to get and modify a user's profile.
Secured with Oauth2, and requires OAuth2 API scope Person.
API | Description |
---|---|
GET restapi/personal/person/{personId}/v1 |
Gets basic information about the requested person. The person should be allowed to search for by Esafety rules. |
GET restapi/personal/person/extrauserinformation/{personId}/v1 |
Gets extra user information (if such exists) for a given person If no such field has been configured on the customer site, or if the current user does not have access to see it, a field with empty name and value will be returned. If such a field exists, but no value has been set for the given personId, then a field with the correct name, but empty value will be returned. |
GET restapi/personal/person/features/v1 |
Gets available features for the current person. |
GET restapi/personal/person/image/dimensions/v1 |
Get the dimensions that should be used for profile images that you upload through this API. This method returns the maximum pixel height and width of the image. This method may be used for e.g. determining dimensions of a cropping rectangle that the user can use before the client uploads an image. |
POST restapi/personal/person/image/v1 |
Upload and update a person's profile image. The maximum dimensions of the persons image can be retrieved using the resource URL [personal/person/image/dimensions]. If the image is bigger in size, then it will automatically be scaled to the correct size. The image can be sent using the HTTP Content-Type set for the image. For example, for JPEG images set content type to 'image/jpeg' or for PNG images set content type to 'image/png'. Alternatively, the image can be uploaded as a multi-part content, using the content type 'multipart/form-data'. |
PUT restapi/personal/person/online/v1 |
This method is used to mark the online status of a user. In itslearning, being online means that other users can see that this user is logged on from a client (e.g. from the itslearning platform). If a client calls this, the user will be marked as online until the timeout in the response has passed. To prevent a user reverting to offline, call this method again until timeout from response has passed. |
PUT restapi/personal/person/PersonSetting/RemindConnectGoogleOnLogin/v1 |
Set the person setting "RemindConnectGoogleOnLogin". When this setting is on the user will be reminded to connect his/her the Google account if a IsGoogleIntegrationEnabled and IsGlobalSsoFromGoogleEnabled on the site |
POST restapi/personal/person/push/v1 |
Set push notifications in itslearning (on or off) for a device. This method will also register the device for push notifications with the push provider (if needed). |
GET restapi/personal/person/relations/{personId}/v1 |
Get list of relations for the person. |
GET restapi/personal/person/roles/v1 |
Get list of roles for person. |
GET restapi/personal/person/serviceaccess/{serviceName}/v1 |
Gets access token to call service on behalf of the person. |
GET restapi/personal/person/v1 |
Get the user's profile details. The Language property of the returned type is a Language Code on the form "nb-NO" and "en-GB", where the language part is based on ISO-639-1. The client of this API may use the user's language to automatically choose localisation for the user. |
PersonRelation
Overview:
Endpoint to get the person relations.
Secured with Oauth2, and requires OAuth2 API scope Person.
API | Description |
---|---|
GET restapi/personal/person/{personId}/relatedpersons/v1?relationType={relationType} |
Gets the relation between persons with detailed info about related person and relation type. |
Planner
Overview:
Endpoint to get planner information.
Secured with Oauth2, and requires OAuth2 API scope Planner.
API | Description |
---|---|
GET restapi/personal/planner/plansinfo/v1?plansIds[0]={plansIds[0]}&plansIds[1]={plansIds[1]} |
Gets list of plans with learning objective and elements attached. |
POST restapi/personal/planner/targetCourse/{targetCourseId}/targetTopic/{targetTopicId}/targetPlan/{targetPlanId}/v1 |
Adds shared plan elements to the course plan. |
GET restapi/personal/planner/v1?courseId={courseId}&startDate={startDate}&stopDate={stopDate} |
Get previews of plans for the specified course.
By supplying a time period parameters ( |
Projects
Overview:
Endpoint to Projects API.
Secured with Oauth2, and required OAuth2 API scope Courses.
API | Description |
---|---|
PUT RestApi/personal/projects/{projectId}/toggleFavorite/v1 |
Toggles the user's favorite for the specified project |
SearchData
API | Description |
---|---|
POST restapi/learningtool/searchdata/v1 |
No documentation available. |
SiteLinks
Overview:
Endpoint for retrieving the site links.
Secured with Oauth2, and requires OAuth2 API scope Person.
API | Description |
---|---|
GET restapi/personal/person/sitelinks/v1 |
Gets the site links those are visible for the user. |
Sites
Overview:
Endpoint to get information about all active itslearning sites.
This API does not require authentication
API | Description |
---|---|
GET restapi/sites/{customerId}/logindetails/v1 |
Get login details for an itslearning site by customerId. |
GET restapi/sites/{customerId}/v1 |
Get an itslearning site by customerId. |
GET restapi/sites/all/organisations/search/v1?searchText={searchText}&PageIndex={PageIndex}&PageSize={PageSize}&sitesFilter={sitesFilter} |
Get organisations (sites and schools). Optional filtering by names containing words starting with specific phrases (separated by space). This method does not have security checks - it is open. Optional filtering by site type: Itslearning, Parents. |
GET restapi/sites/all/organisations/v1?sitesFilter={sitesFilter} |
Get all organisations (sites and schools). This method does not have security checks - it is open. Optional filtering by site type: Itslearning, Parents. |
GET restapi/sites/all/v1?sitesFilter={sitesFilter} |
Get all customer sites (used e.g. by welcome page) This method does not have security checks - it is open. Optional filtering by site type: Itslearning, Parents. |
GET restapi/sites/shortnames/{shortname}/v1 |
Get an itslearning site by shortname. The site may be inactive. If a site with the given shortname does not exist, null will be returned. |
GET restapi/sites/v1?startsWith={startsWith}&PageIndex={PageIndex}&PageSize={PageSize}&sitesFilter={sitesFilter} |
Get sites that have itslearning ordered by title. This method does not have security checks - it is open. Optional filtering by titles containing words starting with specific phrases (separated by space). Optional filtering by site type: Itslearning, Parents. |
Sso
Overview:
Endpoint for SSO related functionality such as SSO Urls to itslearning.
Secured with Oauth2, and requires OAuth2 API scope Sso.
API | Description |
---|---|
GET restapi/personal/sso/url/v1?url={url} |
Creates a short-lived SSO Url to itslearning. Users will be not be prompted to log in when using this Url. |
Statistics
Overview:
Endpoint for statistics API
Secured with Oauth2, and requires OAuth2 API scope Statistics.
API | Description |
---|---|
POST RestApi/personal/statistics/events/v1 |
Endpoint for posting user events. |
StudentPlan
Overview:
Endpoint for Student Plans in Personal API.
Secured with Oauth2, and requires OAuth2 API scope StudentPlan.
Supervisor
Overview:
Endpoint for retrieving data for supervisors - mentors and headteachers.
Secured with Oauth2, and requires OAuth2 API scope Supervisor.
API | Description |
---|---|
GET restapi/personal/supervisor/supervised/v1?supervisorType={supervisorType}&PageIndex={PageIndex}&PageSize={PageSize} |
Gets a list of all persons current user is a supervisor for - mentorees. |
TaskListDailyWorkflow
Overview:
Endpoint for tasklistdailyworkflow API
Daily workflow tasklist in itslearning is personal with focus on task with deadline in near future. This API is used to display tasks in a chronological way (overdue, today, tomorrow, later).
Secured with Oauth2, and requires OAuth2 API scope TaskListDailyWorkflow.
Tasks
Overview:
Endpoint for Tasks API.
Tasks in itslearning are personal, and are related to something a user should do in the future.
Secured with Oauth2, and requires OAuth2 API scope Tasks.
API | Description |
---|---|
GET restapi/personal/tasks/followuptasks/{courseId}/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets follow up tasks for a course. The list shows activities a given course that have new or updated submissions/student work, or if the teacher needs to assess a submission/attempt. Requires admin permissions for the course. Supports paging. If paging is not used, it will use a default pageSize on pageIndex 0. |
GET restapi/personal/tasks/followuptasks/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets the user's follow up tasks. The list shows activities from favorite courses that have new or updated submissions/student work, or if the teacher needs to assess a submission/attempt. This will give the teacher an easy overview to see if there are updates, and to decide which to follow up next. Supports paging. If paging is not used, it will use a default pageSize on pageIndex 0. |
GET restapi/personal/tasks/v1?PageIndex={PageIndex}&PageSize={PageSize}&status={status}&deadline={deadline}&isHomework={isHomework} |
Gets a list of tasks assigned to the user. |
Token
Overview:
API that handles OAuth2 access control:
Grants accesstokens based on authorization code, refreshtoken or JWT bearer
API | Description |
---|---|
POST restapi/oauth2/token |
Get a new access token from either refresh_token, authorization_code or JWT bearer. The request's Content-Type must be x-www-form-urlencoded. The post should look like this on authorization request: client_id=7abc00f3-32e6-4602-a784-c51b36d2798d&grant_type=authorization_code&code=1-53aa19e823514c1c936dc2a654ba30ec7cF3KUBGTqWhen refreshing the token, the post should look like this: client_id=7abc00f3-32e6-4602-a784-c51b36d2798d&grant_type=refresh_token&refresh_token=1-53aa19e823514c1c936dc2a654ba30ec7cF3KUBGTqWhen requesting a server-to-server access token, the post should look like this: grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=... Note that the grant_type should be "authorization_code" when doing the first request after getting authorization by the user. However, when refreshing the token, the grant_type should be "refresh_token". The token parameter is "code" on authorization, and "refresh_token" on refreshing access_token. In case of a server-to-server access token the grant_type should be "urn:ietf:params:oauth:grant-type:jwt-bearer". |
DELETE restapi/oauth2/token/v1 |
Revoke refresh token and disable push notifications if it's last one. |
Workload
Overview:
Endpoint for Workload API.
Secured with Oauth2, and requires OAuth2 API scope Workload.
API | Description |
---|---|
GET restapi/personal/workload/assignments/{studentId}/{courseId}/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets a list of assignments for a particular student in a particular course with corresponding workload |
GET restapi/personal/workload/course/{courseId}/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets a list of students in a specified course with corresponding workload. |
GET restapi/personal/workload/courses/{studentId}/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets a list of courses with corresponding workload for a student. |
GET restapi/personal/workload/mentees/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets a list of mentees with corresponding workload. |
GET restapi/personal/workload/students/v1?PageIndex={PageIndex}&PageSize={PageSize} |
Gets a list of all students with their corresponding workload. |
YourFiles
API | Description |
---|---|
GET restapi/personal/yourfiles/courses/v1?PageIndex={PageIndex}&PageSize={PageSize}&searchPhrase={searchPhrase}&sortField={sortField}&sortOrder={sortOrder} |
Get courses for the current user |
PUT restapi/personal/yourfiles/private/files/{fileId}/v1?newName={newName} |
Renames a file in your private files |
DELETE restapi/personal/yourfiles/private/files/v1 |
Delete files in your private files area |
POST restapi/personal/yourfiles/private/files/v1?folderId={folderId} |
Upload files to your private area |
DELETE restapi/personal/yourfiles/private/folders/{folderId}/v1 |
Deletes a folder |
POST restapi/personal/yourfiles/private/folders/{folderId}/v1?name={name} |
Add new folder |
PUT restapi/personal/yourfiles/private/folders/{folderId}/v1?newName={newName} |
Renames a folder in your private files |
GET restapi/personal/yourfiles/private/v1?path={path}&searchPhrase={searchPhrase} |
Get courses for the current user |