# info.description
List of APIs related to weblecture which contains sessions and Panopto APIs

# paths./session/{id}.get.responses.403.description
Login user not authorized to perform this action

# paths./session/{id}.delete.responses.401.description
Login user not authorized to perform this action

# paths./session.put.responses.401.description
Login user not authorized to perform this action

# paths./session.post.description
1. Create new web lecture session. Session information must be retrieve from Panopto API before calling this function. 

2. Users with manager access can only add sessions that are created in Panopto.         ///

# paths./session.post.responses.403.description
Login user not authorized to perform this action

# paths./session.patch.description
Update title, startdate, presenter and publish flag information of a session.

# paths./session.patch.responses.403.description
Login user not authorized to perform this action

# paths./copysessions.post.responses.403.description
Login user not authorized to perform this action

# paths./sessions.delete.summary
delete list of sessions from web lecture

# paths./sessions.delete.description
1. Delete list of sessions from web lecture.

# paths./sessions.delete.responses.403.description
Login user not authorized to perform this action.

# paths./sessions.post.description
1. Add multiple web lecture sessions from recorded sessions.

# paths./sessions.post.responses.401.description
Login user not authorized to perform this action

# paths./sessions/sort.put.responses.403.description
Login user not authorized to perform this action

# paths./{id}/sessionlog.get.description
1. Get all users session log by sessionID

# paths./{id}/sessionlog.get.responses.403.description
Login user not authorized to perform this action

# paths./{id}/sessionlog.post.description
1. Add view log for view web lecture sessions.

# paths./{id}/sessionlog.post.responses.403.description
Login user not authorized to perform this action

# paths./{id}/exportsessionlog.get.description
1. Export number of views of session by sessionID to Excel.

# paths./{id}/exportsessionlog.get.responses.403.description
Login user not authorized to perform this action

# paths./{id}/sessionlog/{userID}.get.description
1. Get number of views of session by userID

# paths./{id}/sessionlog/{userID}.get.responses.403.description
Login user not authorized to perform this action

# paths./.post.description
1. Create new Web Lecture. Only one web lecture can be created per module.

# paths./.post.responses.403.description
Login user not authorized to perform this action

# paths./.get.description
1. Get Web Lecture resource by ParentID. Will return only maximum one record per module.

# paths./.get.parameters[].description
Accepted populate entities: creator, allAccess

# paths./.get.responses.403.description
Login user not authorized to perform this action

# paths./.patch.description
1. Update startdate, enddate and publish flag information of a Web Lecture.

# paths./.patch.responses.403.description
Login user not authorized to perform this action

# paths./{id}.get.parameters[].description
Accepted populate entities: creator, allAccess, Sessions

# paths./{id}.get.responses.403.description
Login user not authorized to perform this action

# paths./{id}.put.responses.401.description
Login user not authorized to perform this action

# paths./{id}.delete.responses.401.description
Login user not authorized to perform this action

# paths./weblectures.delete.responses.401.description
Login user not authorized to perform this action

# paths./Activity/Lectures.get.description
1.  Get user own summary statistics of lectures.

# paths./Activity/Lectures.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./Activity/Lectures.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./Activity/Lectures.get.parameters[].description
Format - int32. Hourly SUMMARY REPORT = 0
Daily SUMMMARY REPORT = 1
Weekly SUMMARY REPORT = 2

# paths./Activity/Lectures.get.responses.403.description
Login user not authorized to perform this action

# paths./Activity/UserLecture/{id}.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./Activity/UserLecture/{id}.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./Activity/UserLecture/{id}.get.responses.403.description
Login user not authorized to perform this action

# paths./admin.get.description
1. Get list of accessible modules web lecture

# paths./admin.get.parameters[].description
Accepted populate entities: creator, module

# paths./admin.get.responses.200.description
Returns List of Web Lecture information [API_WebLecture.API.WebLecture]

# paths./admin.post.description
1. Create new Web Lecture. Only one web lecture can be created per module.

# paths./admin.post.responses.403.description
Login user not authorized to perform this action

# paths./admin/{id}.get.parameters[].description
Accepted populate entities: creator, allAccess, Sessions

# paths./admin/{id}.get.responses.403.description
Login user not authorized to perform this action

# paths./admin/{id}.put.responses.401.description
Login user not authorized to perform this action

# paths./admin/{id}.delete.responses.401.description
Login user not authorized to perform this action

# paths./admin/{id}.patch.responses.401.description
Login user not authorized to perform this action

# paths./admin/{id}/sessions.get.responses.200.description
Returns list of Web Lecture items [API_WebLecture.API.WebLectureItem]

# paths./admin/{id}/sessions.get.responses.403.description
Login user not authorized to perform this action

# paths./admin/session/{id}.get.responses.403.description
Login user not authorized to perform this action

# paths./admin/session/{id}.delete.responses.401.description
Login user not authorized to perform this action

# paths./admin/session.put.responses.401.description
Login user not authorized to perform this action

# paths./admin/session.post.description
1. Add new web lecture session. Session information must be retrieve from Panopto API before calling this function. 

2.  Users with manager access can only add sessions that are created in Panopto.

# paths./admin/session.post.responses.403.description
Login user not authorized to perform this action

# paths./admin/session.patch.description
1. Update Web Lecture session publish status.

# paths./admin/session.patch.responses.401.description
Login user not authorized to perform this action

# paths./admin/copysessions.post.responses.403.description
Login user not authorized to perform this action

# paths./admin/sessions.post.description
1.  Add multiple web lecture sessions from specific module recorded sessions.

# paths./admin/sessions.post.responses.401.description
Login user not authorized to perform this action

# paths./admin/sessions.delete.description
1. Delete list of sessions from web lecture

# paths./admin/sessions.delete.responses.403.description
Login user not authorized to perform this action.

# paths./admin/sessionsbyparent.post.description
1. Add multiple web lecture sessions under each web lecture.

# paths./admin/sessionsbyparent.post.responses.401.description
Login user not authorized to perform this action

# paths./admin/weblectures.delete.responses.401.description
Login user not authorized to perform this action

# paths./admin/search.post.responses.200.description
Return list of module web lectures [API_WebLecture.API.WebLecture]

# paths./admin/search.post.responses.403.description
Login user not authorized to perform this action

# paths./admin/session/search.get.parameters[].description
lecture title or lecture acad year or semester

# paths./admin/session/search.get.responses.403.description
Login user not authorized to perform this action

# paths./admin/{id}/syncusers.put.description
1. sync users for module web lecture to Panopto.

# paths./panopto/{id}/sessions.get.description
1. Get all Panopto sessions in module for owner/managers.

# paths./panopto/admin/{id}/sessions.get.description
1. Get all Panopto sessions in module for admin.

# paths./panopto/{weblectureid}/session/{id}.get.description
1. Get Panopto session info for Admins or Managers.

# paths./{id}/sessions.get.responses.200.description
Returns list of Web Lecture items [API_WebLecture.API.WebLectureItem]

# paths./{id}/sessions.get.responses.403.description
Login user not authorized to perform this action

# paths./ownsessions.get.responses.403.description
Login user not authorized to perform this action

# paths./session/{id}/publish.put.description
1. Update Web Lecture session publish status.

# paths./session/{id}/publish.put.responses.401.description
Login user not authorized to perform this action

# paths./session/publish.put.description
1. Update multiple Web Lecture session publish status.

# paths./session/publish.put.responses.403.description
Login user not authorized to perform this action

# paths./Search.get.parameters[].description
lecture title or lecture acad year or semester

# paths./Search.get.responses.403.description
Login user not authorized to perform this action

# paths./{id}/sessionslog.get.responses.403.description
Login user not authorized to perform this action

# paths./Summary.get.description
1. Get Web Lecture statistics for all lectures

# paths./Summary.get.parameters[].description
Format - date-time (as date-time in RFC3339). Start date of statistics

# paths./Summary.get.parameters[].description
Format - date-time (as date-time in RFC3339). Optional End date of statistics

# paths./Summary.get.parameters[].description
Format - int32. Hourly SUMMARY REPORT = 0
Daily SUMMMARY REPORT = 1
Weekly SUMMARY REPORT = 2

# paths./Summary.get.responses.403.description
Login user not authorized to perform this action

# paths./Lectures.get.description
1. Get list of lectures with summary statistics

# paths./Lectures.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./Lectures.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./Lectures.get.parameters[].description
Format - int32. Hourly SUMMARY REPORT = 0
Daily SUMMMARY REPORT = 1
Weekly SUMMARY REPORT = 2

# paths./Lectures.get.responses.403.description
Login user not authorized to perform this action

# paths./Lectures/{id}.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./Lectures/{id}.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./Lectures/{id}.get.parameters[].description
Format - int32. Hourly SUMMARY REPORT = 0
Daily SUMMMARY REPORT = 1
Weekly SUMMARY REPORT = 2

# paths./Lectures/{id}.get.responses.403.description
Login user not authorized to perform this action

# paths./UserLecture/{id}.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./UserLecture/{id}.get.parameters[].description
Format - date-time (as date-time in RFC3339).

# paths./UserLecture/{id}.get.responses.403.description
Login user not authorized to perform this action

# paths./panopto/folders.get.description
1. Get all Panopto folders and sessions where user is a creator.

# paths./sessions/requestcopy.post.description
1. Send email to admin to request for copy of past sessions

# paths./sessions/requestcopy.post.responses.403.description
Login user not authorized to perform this action

# paths./adminbatch.post.description
1. Create new Web Lecture in batch. Only one web lecture can be created per module. 
2. Only for specific type. Not to run on normal days.

# paths./adminbatch.post.responses.403.description
Login user not authorized to perform this action

# paths./panopto/{id}/scheduledsessions.get.description
1. Get all scheduled sessions in module for owner/managers.

# paths./panopto/scheduledsession/{id}.delete.responses.401.description
Login user not authorized to perform this action

# paths./admin/{id}/srsrequestedsessions.get.description
1. Get all requested sessions from SRS for module for owner/managers.

# paths./admin/linkrecordings.post.summary
Link SRS requested sessions with module in LumiNUS

# paths./admin/linkrecordings.post.description
1. Linked requested sessions with module in LumiNUS

# components.schemas.API_WebLecture.API.WebLecture.properties.startDate.description
the date which this resource is open to students.

# components.schemas.API_WebLecture.API.WebLecture.properties.endDate.description
the date which this resource is closed from students.

# components.schemas.API_WebLecture.API.WebLecture.properties.publish.description
accessible to students or not acessible.

# components.schemas.API_WebLecture.API.WebLecture.properties.lastUpdatedDate.description
the date this record is edited last time

# components.schemas.API_WebLecture.API.WebLecture.properties.lastUpdatedBy.description
the ID of the user who edited this record last time

# components.schemas.API_WebLecture.API.WebLecture.properties.parentID.description
the parent resource ID if any. For those resources which do not have a parent, the parent ID value will be the same as the ID.

# components.schemas.API_WebLecture.API.WebLecture.properties.rootID.description
the root ID if any. For those resources which do not have a parent, the parent ID value will be the same as the ID.

# components.schemas.API_WebLecture.API.WebLecture.properties.creatorID.description
the ID of the user who created this record.

# components.schemas.API_WebLecture.API.WebLecture.properties.userID.description
The NUSNETID of the user who created this web lecture.

# components.schemas.API_WebLecture.API.WebLecture.properties.userName.description
The name of the user who created this web lecture.

# components.schemas.API_WebLecture.API.WebLecture.properties.email.description
The email address of the user who created this web lecture.

# components.schemas.API_WebLecture.API.WebLecture.properties.allowDownload.description
Allow students to download web lectures.

# components.schemas.API_WebLecture.API.WebLecture.properties.isOpen.description
Open Lecture to all NUS Students or Restricted to module students only

# components.schemas.API_WebLecture.API.WebLecture.properties.isAutoPublish.description
Publish sessions immediately after recording or not (For Web Lecture Admin Info)

# components.schemas.API_WebLecture.API.WebLecture.properties.panoptoFolderURL.description
Panopto URL to access the module folder to create/upload video.

# components.schemas.API_WebLecture.API.WebLecture.properties.panoptoStatisticsURL.description
Panopto URL to access the module statistics to create/upload video.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForCreate.properties.startDate.description
the date which this resource is open to students.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForCreate.properties.endDate.description
the date which this resource is closed from students.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForCreate.properties.publish.description
the publish flag which determin whether the resource is published to students.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForCreate.properties.isOpen.description
Open Lecture or Restricted to class students only.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForCreate.properties.isAutoPublish.description
Publish immediately when session is ready true or false. For webcast admin purposes only.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForCreate.properties.allowDownload.description
flag to indicate whether students are allowed to download from this web lecture

# components.schemas.API_WebLecture.API.InputAdminWebLectureForCreate.properties.isScheduled.description
flag to indicate lecture to be scheduled for recording. Not for self-recording.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForCreate.description
HTTP Post Input class when creating folder

# components.schemas.API_WebLecture.API.InputAdminWebLectureForUpdate.properties.startDate.description
the date which this resource is open to students.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForUpdate.properties.endDate.description
the date which this resource is closed from students.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForUpdate.properties.publish.description
the publish flag which determin whether the resource is published to students.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForUpdate.properties.isOpen.description
Open Lecture or Restricted to class students only.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForUpdate.properties.isAutoPublish.description
Publish immediately when session is ready true or false. For webcast admin purposes only.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForUpdate.properties.allowDownload.description
flag to indicate whether students are allowed to download from this web lecture

# components.schemas.API_WebLecture.API.InputAdminWebLectureForUpdate.properties.isScheduled.description
flag to indicate lecture to be scheduled for recording. Not for self-recording.

# components.schemas.API_WebLecture.API.InputAdminWebLectureForUpdate.description
HTTP Post Input class when updating folder

# components.schemas.contract.ACL.Models.InputRoleAccess.properties.groupAccess.description
Group access rights defined for this resource

# components.schemas.contract.ACL.Models.InputRoleAccess.properties.userAccess.description
Individual user access rights which is different from the groups the user belongs to (if any)

# components.schemas.contract.ACL.Models.InputRoleAccess.properties.publicAccess.description
the access rights which the user defined for public. null means NO_ACCESS

# components.schemas.contract.ACL.Models.InputRoleAccess.properties.inheritedResourceID.description
not null means it follow permission from another resource

# components.schemas.API_WebLecture.API.InputWebLectureForPartialUpdate.properties.startDate.description
the date which this resource is open to students.

# components.schemas.API_WebLecture.API.InputWebLectureForPartialUpdate.properties.endDate.description
the date which this resource is closed from students.

# components.schemas.API_WebLecture.API.InputWebLectureForPartialUpdate.properties.publish.description
the publish flag which determin whether the resource is published to students.

# components.schemas.API_WebLecture.API.InputWebLectureForPartialUpdate.properties.isOpen.description
Open Lecture or Restricted to class students only.

# components.schemas.API_WebLecture.API.InputWebLectureForPartialUpdate.properties.isAutoPublish.description
Publish immediately when session is ready true or false. For webcast admin purposes only.

# components.schemas.API_WebLecture.API.InputWebLectureForPartialUpdate.properties.allowDownload.description
flag to indicate whether students are allowed to download from this web lecture

# components.schemas.API_WebLecture.API.InputWebLectureForPartialUpdate.properties.isScheduled.description
flag to indicate whether lecture need to be scheduled for recording

# components.schemas.API_WebLecture.API.InputWebLectureForPartialUpdate.properties.access.description
Access rights defined for the folder to be created

# components.schemas.API_WebLecture.API.WebLectureItem.properties.lastUpdatedDate.description
the date this record is edited last time

# components.schemas.API_WebLecture.API.WebLectureItem.properties.publish.description
the publish flag which determin whether the resource is published to students.

# components.schemas.API_WebLecture.API.WebLectureItem.properties.parentID.description
the parent content ID if any. For those contents which do not have a parent content, the parent ID value will be the same as the ID.

# components.schemas.API_WebLecture.API.WebLectureItem.properties.resourceID.description
the ID of the resource which this content belongs to.

# components.schemas.API_WebLecture.API.WebLectureItem.properties.creatorID.description
the ID of the user who created this record.

# components.schemas.API_WebLecture.API.WebLectureItem.properties.userID.description
The NUSNETID of the user who created this lecture session.

# components.schemas.API_WebLecture.API.WebLectureItem.properties.userName.description
The name of the user who created this lecture session.

# components.schemas.API_WebLecture.API.WebLectureItem.properties.email.description
The email address of the user who created this lecture session.

# components.schemas.API_WebLecture.API.WebLectureItem.properties.venue.description
Venue where the lecture session is recorded

# components.schemas.API_WebLecture.API.WebLectureItem.properties.lectureStartDate.description
Start date when the lecture session is recorded

# components.schemas.API_WebLecture.API.WebLectureItem.properties.lectureEndDate.description
End date when the lecture session is recorded

# components.schemas.API_WebLecture.API.WebLectureItem.properties.downloadVideoURL.description
MP4 download URL visible only if download is enable.

# components.schemas.API_WebLecture.API.WebLectureItem.properties.downloadAudioURL.description
MP3 download URL visible only if download is enable.

# components.schemas.API_WebLecture.API.InputLectureForCreate.properties.startDate.description
Start date when the lecture session is recorded. From Panopto Get Sessions API.

# components.schemas.API_WebLecture.API.InputLectureForCreate.properties.endDate.description
End date when the lecture session is recorded. From Panopto Get Sessions API.

# components.schemas.API_WebLecture.API.InputLectureForCreate.properties.urlID.description
Panopto Delivery ID of lecture session. From Panopto Get Sessions API.

# components.schemas.API_WebLecture.API.InputLectureForCreate.properties.id.description
Panopto Session ID of lecture session. From Panopto Get Sessions API.

# components.schemas.API_WebLecture.API.InputLectureForCreate.properties.publish.description
the publish flag which determine whether the resource is published to students.

# components.schemas.API_WebLecture.API.InputLectureForUpdate.properties.publish.description
the publish flag which determine whether the resource is published to students.

# components.schemas.API_WebLecture.API.InputLectureForUpdate.properties.startDate.description
Start date when the lecture session is recorded. From Panopto Get Sessions API.

# components.schemas.API_WebLecture.API.InputLectureForUpdate.description
HTTP Post Input class when updating lecture item

# components.schemas.API_WebLecture.API.InputLectures.properties.presenter.description
Presenter of the web lecture item. From list of owner/managers in the module.

# components.schemas.API_WebLecture.API.InputLectures.description
Input class for creating multiple web lecture items

# components.schemas.API_WebLecture.API.InputLecturesAdmin.description
Input class for creating multiple web lecture items

# components.schemas.API_WebLecture.API.InputWebLectureForSearch.properties.name_CourseName_LecturerName.description
Module Code, Module Title or Name of Lecturer

# components.schemas.API_WebLecture.API.InputWebLectureForSearch.description
HTTP Post Input class when searching module

# components.schemas.API_WebLecture.API.InputSchedule.properties.sessions.description
List of timetable class sessions to be recorded

# components.schemas.API_WebLecture.API.InputPastSessionsForCopy.description
Input when requesting for past sessions to be copied to current module

# components.schemas.API_WebLecture.API.InputWebLectureForCreate.properties.access.description
Access rights defined for the folder to be created

# components.schemas.API_WebLecture.API.InputWebLectureForCreate.properties.startDate.description
the date which this resource is open to students.

# components.schemas.API_WebLecture.API.InputWebLectureForCreate.properties.endDate.description
the date which this resource is closed from students.

# components.schemas.API_WebLecture.API.InputWebLectureForCreate.properties.publish.description
the publish flag which determin whether the resource is published to students.

# components.schemas.API_WebLecture.API.InputWebLectureForCreate.properties.isAutoPublish.description
Publish immediately when session is ready true or false. For webcast admin purposes only.

# components.schemas.API_WebLecture.API.InputWebLectureForCreate.properties.allowDownload.description
flag to indicate whether students are allowed to download from this web lecture

# components.schemas.API_WebLecture.API.InputWebLectureForCreate.properties.isScheduled.description
flag to indicate lecture to be scheduled for recording. Not for self-recording.

# components.schemas.API_WebLecture.API.InputWebLectureForCreate.description
HTTP Post Input class when creating folder

# components.schemas.API_WebLecture.API.InputWebLectureForUpdate.properties.access.description
Access rights defined for the folder to be created

# components.schemas.API_WebLecture.API.InputWebLectureForUpdate.properties.startDate.description
the date which this resource is open to students.

# components.schemas.API_WebLecture.API.InputWebLectureForUpdate.properties.endDate.description
the date which this resource is closed from students.

# components.schemas.API_WebLecture.API.InputWebLectureForUpdate.properties.publish.description
the publish flag which determin whether the resource is published to students.

# components.schemas.API_WebLecture.API.InputWebLectureForUpdate.properties.isAutoPublish.description
Publish immediately when session is ready true or false. For webcast admin purposes only.

# components.schemas.API_WebLecture.API.InputWebLectureForUpdate.properties.allowDownload.description
flag to indicate whether students are allowed to download from this web lecture

# components.schemas.API_WebLecture.API.InputWebLectureForUpdate.properties.isScheduled.description
flag to indicate lecture to be scheduled for recording. Not for self-recording.

# components.schemas.API_WebLecture.API.InputWebLectureForUpdate.description
HTTP Post Input class when updating folder