# info.description
List of APIs related to Module - Module Settings (Description, Facilitators, Readings, Weblinks), Details, Chat (TeamUp)

# paths./{ResourceID}/Manager.get.description
To retrieve list of facilitators for a module.

This includes those non-NUS facilitators.

# paths./{ResourceID}/Manager.get.parameters[].description
Accepted populate entities: creator, lastUpdatedUser, photo, groupID, friendlyEmail
            
            groupID refers to the groupID of the non-activated user.

# paths./{ResourceID}/Manager.get.parameters[].description
Whether it is for search module page. If for search module page, then the unpublished facilitators will not show.

# paths./Manager/{ResourceContentID}.get.parameters[].description
Accepted populate entities: creator, lastUpdatedUser, photo, hasGuestUserRole.
            
            hasGuestUserRole indicates whether the facilitator has guest user role. If the facilitator has guest user role, then he/she does not have the photo visibility option.

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

# paths./Manager.put.description
Only Owner or Co-owner has access to update manager.

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

# paths./Manager.post.description
To add a NUS user as a facilitator into the module.
Only Owner or Co-owner has access to add facilitator.

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

# paths./Manager.delete.description
1. Only owner or co-owner can delete managers.

2. Owner and self cannot be deleted.

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

# paths./Manager.patch.description
Only Owner or Co-owner has access to update manager.

# paths./Manager.patch.requestBody.description
The information of the manager to be edited

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

# paths./{ResourceID}/Manager/ImportByExcel.post.description
1. Only owner or co-manager allowed.

2. Error messages are returned as concatenated string, with "\n" as the delimiter.

# paths./{ResourceID}/Manager/ImportByExcel.post.responses.403.description
Login user not authorized to perform this action

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

# paths./Manager/{ID}.delete.description
1. Only owner or co-owner can delete a manager.

2. Owner cannot be deleted.

3. UI need to redirect to module listing if remove ownself from the module.

4. One can remove self from the module if one is the co-owner or manager of the module.

# paths./Manager/{ID}.delete.responses.403.description
Login user not authorized to perform this action

# paths./.get.description
The results are cached. Call ../nus/Sync/Module API to refresh the modules.

# paths./.get.parameters[].description
Accepted populate entities: creator, lastUpdatedUser, faculty, department, isMandatory, feedbackSender, hiddenMenu, termDetail.
            
            isMandatory = Non-Academic Modules (Auto-Enrolment)

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

# paths./.put.description
If it is a non-academic module:-
a. It should not be a cross-listed module. ie. must be single module code.
b. It is not an official module.
c. An email will be sent to the admin to notify if the module is converted to non-academic module.
d. If there is add-in/modification for TeamUp, it will trigger notification.

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

# paths./.post.description
1. Only users with "RootResource.Create" role permitted.

2. Unlike other tools, module does not include the access rights update. Update rights for module should be on another page.

*Note: Module must always be the root level, cannot be secondary level. But root level need not be module.

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

# paths./.patch.description
If it is a non-academic module:-
a. It should not be a cross-listed module. ie. must be single module code.
b. It is not an official module.
c. An email will be sent to the admin to notify if the module is converted to non-academic module.
d. If there is add-in/modification for TeamUp, it will trigger notification.

# paths./.patch.requestBody.description
The information of the module to be edited

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

# paths./NoPresence.get.description
1. This will return the student's officially enrolled modules which are not created in LumiNUS.

2. Applicable only for user with student role.

# paths./NoPresence.get.parameters[].description
Accepted populate entities: faculty, department, termDetail, classLecturer
            
            classLecturer indicates the object class of teaching staff or the TA who teaches the module.

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

# paths./{ID}.get.description
If the login user is neither facilitator nor student of the module, then ensure that the module is published.

hasNusCalendar is applicable only if user is facilitator of the module.

# paths./{ID}.get.parameters[].description
Accepted populate entities: creator, lastUpdatedUser, studentCount, faculty, department, manager, managerPhoto, lessonNavi, feedbackSender, hiddenMenu, inRoster, isGuest, isMandatory termDetail, isOfficialModule, isAudit, crossList

inRoster refers to whether the student is in Student or Guest Roster. inRoster=StudentRoster indicates that student is in Student Roster. inRoster=GuestRoster indicates that the student is in the Guest Roster.
isMandatory refers to whether the module is a mandatory non-academic module.
isOfficialModule refers to whether the module is an official module offered by NUS Bulletin.
isAudit indicates whether the user is auditing the module.
crossList is the list of overlapping (cross-listed) modules. The module code first in the list is the parent module. Empty list means it's not cross-listed with any other modules.

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

# paths./Search.post.description
To search LumiNUS modules based on filters.

Allow search for Non-Academic Modules which are active (ie. published, open and not expired).

# paths./CodeGenerator.get.description
To generate a random unofficial module code.

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

# paths./{ID}/ToolMenu.get.description
To get the module's active tools menu.

This is mainly for students of the module.

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

# paths./Copy.post.description
Duplicate a module with selective tools:-
- Files (excluding files submitted by students)
- Forum (excluding posts and ratings by students)
- Gradebook (excluding scores entries)
- Learning Flow (only Events)
- Multimedia (excluding MediaWeb channels and library media files)
- Poll (excluding responses)
- Quiz (excluding attempts)
- Survey (excluding responses)
- External Contents
- External Tools

1. Only users with "RootResource.Create" role can call this API.

2. Unlike other tools, module does not include the access rights update. Update rights for module should be on another page.

3. If the login user is not the owner of the module duplicated from, the owner of the module duplicated from will then be added as co-owner of the duplicated to module.

*Note: Module must always be the root level, cannot be secondary level. But root level need not be module.

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

# paths./ChangeCode.put.description
Update only the module code. 

This will sync the roster to the changed module codes.

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

# paths./Transfer.put.description
To transfer ownership of a module to another user.

1. Only owner or co-owner can transfer ownership of the module.

2. Cannot transfer to the new owner if the new owner is already student of the module.

3. UI need to redirect to module listing if self is neither owner nor collaborator of the module.

4. Should only tranfer module ownership to a user with "Staff" role.

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

# paths./CheckPresence.post.description
Check if modules in the uploaded excel file is mounted in LumiNUS. Results are exported in excel file.

If IsAutoCreate, the excel file need to indicate both the module code as well as the owner userid. The module will then be created in LumiNUS based on the given owner, with the facilitators.

# paths./CheckPresence.post.responses.200.description
Excel file if success (Status Code 200). Returns the presence based on the list of modules imported.

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

# paths./NonAcademic.post.description
1. Only applicable to non-academic modules.

2. Only targetted audience can sign up for relevant non-academic modules.

3. Only can sign up for non-academic modules which are active (ie. published and not expired).

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

# paths./NonAcademic.delete.description
1. Only applicable to non-academic modules.

2. Only can sign off for non-academic modules which are active (ie. published and not expired).

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

# paths./NonAcademic.get.description
To get the list of non-academic modules for the user, with the filter on whether to include the mandatory ones and signed up ones.

# paths./NonAcademic.get.parameters[].description
Whether to include mandatory non-academic modules

# paths./NonAcademic.get.parameters[].description
Whether to include self-enrolled non-academic modules

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

# paths./{ID}/StudentsAndGroups.get.description
To get the list of students and groups of the module.

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

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

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

# paths./Reading/{ID}.delete.responses.403.description
Login user not authorized to perform this action

# paths./Reading/GetBookByISBN.get.responses.200.description
Returns list of textbook information if success, or return error message if the book is not found.

# paths./Reading/Formatted.put.requestBody.description
The information of the formatted reading to be edited

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

# paths./Reading/Formatted.post.description
1. This is used for creating formatted readings in module, or creating formatted readings in learning flow.

2. This will trigger notification.

# paths./Reading/Formatted.post.requestBody.description
The information of the formatted reading to be added

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

# paths./Reading/Formatted.patch.requestBody.description
The information of the formatted reading to be edited

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

# paths./Reading/Unformatted.put.requestBody.description
The information of the unformatted reading to be edited

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

# paths./Reading/Unformatted.post.requestBody.description
The information of the unformatted reading to be added

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

# paths./Reading/Unformatted.patch.requestBody.description
The information of the unformatted reading to be edited

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

# paths./Reading/Sort.put.description
Input neeed to include both the formatted and unformatted readings.

# paths./Reading/Sort.put.requestBody.description
List of sorted formatted text and readings IDs. (json)

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

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

# paths./Reading/Email.post.description
Send Email to notify Librarian and Coop once the formatted reading(s) is/are confirmed by the lecturer.

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

# paths./{ResourceID}/EngagementStudent.get.parameters[].description
Optional search function for student name or user id

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

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

# paths./Usage.get.responses.200.description
Returns list of Usage information [API_Module.API.Usage]

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

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

# paths./Section/{ID}.delete.description
Cannot delete a default section from Bulletin.

# paths./Section/{ID}.delete.responses.403.description
Login user not authorized to perform this action

# paths./Section.put.requestBody.description
The information of the description section to be edited

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

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

# paths./Section.delete.description
Cannot delete default sections from Bulletin.

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

# paths./Section.patch.description
Cannot update a default section, unless only update the publish flag.

# paths./Section.patch.requestBody.description
The information of the description section to be edited

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

# paths./Section/Copy.post.description
To duplicate the description sections to another module.

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

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

# paths./{ResourceID}/Section/Sync.put.description
This will delete the existing bulletin information from the module description sections and create new ones.

# paths./{ResourceID}/Section/Sync.put.responses.403.description
Login user not authorized to perform this action

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

# paths./Weblink/{ID}.get.parameters[].description
Accepted populate entities: creator, lastUpdatedUser, hit, hitCount.

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

# paths./Weblink/{ID}.delete.responses.403.description
Login user not authorized to perform this action

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

# paths./Weblink.put.requestBody.description
The information of the weblink to be edited

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

# paths./Weblink.post.description
This is used for creating weblink in module, or creating weblink in learning flow.

This will trigger notification.

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

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

# paths./Weblink.patch.requestBody.description
The information of the weblink to be edited

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

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

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

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

# paths./{ResourceID}/Manager/Public.get.description
For public view.

To retrieve list of facilitators for a module.

# paths./{ID}/public.get.description
Get modules overview for public.

Module need to be searchable, and "populate" does not apply.

# paths./{ID}/public.get.parameters[].description
Accepted populate entities: faculty, department, manager, termDetail.

# paths./Search/Public.post.description
To search public LumiNUS modules based on filters. This excludes the non-academic modules (both self-enrolment and mandatory).

# paths./ManagerNonNUS.post.description
To add a non-NUS user as facilitator of the module.

Only Owner or Co-owner has access to add a facilitator.

Only non-NUS email domain is allowed.

If not existing non-NUS user, it will only add the mapping of the guest and the module's facilitator group. The user record is not created. User record will only be created after user first login into LumiNUS.

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

# paths./SectionalModule.get.description
Get the valid sectional module codes the given module from CMIS.

# paths./SectionalModule.get.responses.200.description
Returns a list of valid sectional module codes.

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

# paths./{ResourceID}/SearchManager.get.description
To search for facilitators of the module based on the filter text.

# paths./{ResourceID}/SearchManager.get.parameters[].description
Accepted populate entities: creator, lastUpdatedUser, photo, groupID
            
            groupID refers to the groupID of the non-activated user.

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

# paths./{ID}/CrossList.get.description
Get overlapping (cross-listed) modules. The module code first in the list is the parent module. Empty list means it's not cross-listed with any other modules.

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

# paths./Manager/Email.post.description
Send email to facilitators of the module.

# paths./Manager/Email.post.responses.200.description
List of facilitators which email was sent to

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

# paths./{ID}/ImportToCommonCatridge.post.summary
Converts the content selected in LumiNus to CC format (common Catridge) format

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

# paths./{ID}/ImportToCommonCatridge.post.responses.204.description
CC file if success (Status Code 204). Returns the *.imscc file based on the list of module content requested.

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

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

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

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

# components.schemas.API_Module.API.Manager.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_Module.API.Manager.properties.resourceID.description
the ID of the resource which this content belongs to.

# components.schemas.API_Module.API.Manager.properties.accessRole.description
Access Role of the Manager for the Module

# components.schemas.API_Module.API.Manager.properties.roleID.description
Module Roles. To indicate the role of the manager for the module.

# components.schemas.API_Module.API.Manager.properties.moduleRole.description
Module Roles. To indicate the role of the manager for the module.

# components.schemas.API_Module.API.Manager.properties.consultHrs.description
Unformatted consultation hours for the manager

# components.schemas.API_Module.API.Manager.properties.imported.description
True if the manager is imported from EduRec

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

# components.schemas.API_Module.API.InputManagerForCreate.properties.consultHrs.description
Unformatted consultation hours for the manager

# components.schemas.API_Module.API.InputManagerForCreate.properties.moduleRole.description
Module Roles. To indicate the role of the manager for the module.

# components.schemas.API_Module.API.InputManagerForCreate.description
HTTP Post Input class when creating manager

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

# components.schemas.API_Module.API.InputManagerForUpdate.properties.consultHrs.description
Unformatted consultation hours for the manager

# components.schemas.API_Module.API.InputManagerForUpdate.properties.moduleRole.description
Module Roles. To indicate the role of the manager for the module.

# components.schemas.API_Module.API.InputManagerForUpdate.description
HTTP Post Input class when updating manager

# components.schemas.API_Module.API.InputManagerForCreate_NonNUSUser.properties.email.description
Email address of the non-NUS user to be added as facilitator of the module

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

# components.schemas.API_Module.API.InputManagerForCreate_NonNUSUser.properties.consultHrs.description
Unformatted consultation hours for the manager

# components.schemas.API_Module.API.InputManagerForCreate_NonNUSUser.properties.moduleRole.description
Module Roles. To indicate the role of the manager for the module.

# components.schemas.API_Module.API.InputManagerForCreate_NonNUSUser.description
HTTP Post Input class when creating non-NUS manager

# components.schemas.contract.ACL.Models.Access_Result.properties.access_Full.description
all accesses on the resource and its contents

# components.schemas.contract.ACL.Models.Access_Result.properties.access_Settings_Read.description
read-only access on the resource setting

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

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

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

# components.schemas.contract.API.Module.properties.startDate.description
the date which this module is open to students.

# components.schemas.contract.API.Module.properties.endDate.description
the date which this module is closed from students.

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

# components.schemas.contract.API.Module.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.contract.API.Module.properties.resourceID.description
the ID of the resource which this content belongs to.

# components.schemas.contract.API.Module.properties.courseSearchable.description
Whether the module to be searchable in the internet

# components.schemas.contract.API.Module.properties.isIALPEnabled.description
Whether the module to be searchable in the internet

# components.schemas.contract.API.Module.properties.allowAnonFeedback.description
Whether to allow anonymous feedback. "N" for Do not allow anonymous feedback for this module , "Y" for Send anonymous feedback to any module facilitators, "O" for Send anonymous feedback to the module owner only.

# components.schemas.contract.API.Module.properties.displayLibGuide.description
Whether to display guides to NUS Libraries

# components.schemas.contract.API.Module.properties.copyFromID.description
ID of the module which is duplicated from

# components.schemas.contract.API.Module.properties.l3.description
Whether it is a Lifelong Learners (L3) course

# components.schemas.contract.API.Module.properties.usedNusCalendar.description
Whether the module's Learning Flow is using NUS academic calendar format

# components.schemas.contract.API.Module.properties.hasNusCalendar.description
Whether the module's Term has a NUS academic calendar template

# components.schemas.contract.API.Module.properties.isCorporateCourse.description
Whether the module is a non-academic module for self-enrolment

# components.schemas.contract.API.Module.properties.purpose.description
Overview description of a academic module or purpose of non-academic module.

# components.schemas.contract.API.Module.properties.audienceType.description
Targent audience for non-academic modules and open (mandatory) modules. S for Student, L for Staff, and G for Non-NUS users

# components.schemas.contract.API.Module.properties.note.description
A short note to display on the non-academic module tile

# components.schemas.API_Module.API.InputModuleForCreate.properties.courseSearchable.description
Whether the module to be searchable in the internet

# components.schemas.API_Module.API.InputModuleForCreate.properties.allowAnonFeedback.description
Whether to allow anonymous feedback. "N" for Do not allow anonymous feedback for this module , "Y" for Send anonymous feedback to any module facilitators, "O" for Send anonymous feedback to the module owner only.

# components.schemas.API_Module.API.InputModuleForCreate.properties.displayLibGuide.description
Whether to display guides to NUS Libraries

# components.schemas.API_Module.API.InputModuleForCreate.properties.usedNusCalendar.description
Flag that user choose NUS calendar template

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

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

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

# components.schemas.API_Module.API.InputModuleForCreate.description
HTTP Post Input class when creating module

# components.schemas.API_Module.API.InputModuleForUpdate.properties.feedbackType.description
Include the Year-End Feedback type that current user sent from selection
Year Book, Announcement, Email, Gradebook
The feedback type not in the above list means user selected an Other option which is freetext

# components.schemas.API_Module.API.InputModuleForUpdate.properties.l3.description
Whether it is a Lifelong Learners (L3) course

# components.schemas.API_Module.API.InputModuleForUpdate.properties.isMandatory.description
If the non-academic module is mandatory, and not self-enrolment

# components.schemas.API_Module.API.InputModuleForUpdate.properties.audienceType.description
Targent audience. S for Student, L for Staff, and G for Non-NUS users

# components.schemas.API_Module.API.InputModuleForUpdate.properties.note.description
A short note to display on the non-academic module tile

# components.schemas.API_Module.API.InputModuleForUpdate.properties.courseSearchable.description
Whether the module to be searchable in the internet

# components.schemas.API_Module.API.InputModuleForUpdate.properties.allowAnonFeedback.description
Whether to allow anonymous feedback. "N" for Do not allow anonymous feedback for this module , "Y" for Send anonymous feedback to any module facilitators, "O" for Send anonymous feedback to the module owner only.

# components.schemas.API_Module.API.InputModuleForUpdate.properties.displayLibGuide.description
Whether to display guides to NUS Libraries

# components.schemas.API_Module.API.InputModuleForUpdate.properties.usedNusCalendar.description
Flag that user choose NUS calendar template

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

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

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

# components.schemas.API_Module.API.InputModuleForUpdate.description
HTTP Post Input class when updating module

# components.schemas.API_Module.API.InputSignUpNonAcademicModule.description
HTTP Post Input class when user sign up for non-academic module

# components.schemas.API_Module.API.InputSignOffNonAcademicModule.description
HTTP Post Input class when user sign off for non-academic module

# components.schemas.API_Module.API.InputModuleForSearch.properties.isCorporateCourse.description
If it is a self-enrolment (not mandatory) non-academic module.

# components.schemas.API_Module.API.InputModuleForSearch.properties.isMandatory.description
If it is a mandatory (not self-enrolment) non-academic module.

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

# components.schemas.API_Module.API.InputModuleForSearch.properties.facultyCode.description
List of faculty codes for the faculties of modules

# components.schemas.API_Module.API.InputModuleForSearch.properties.departmentCode.description
List of department codes for the departments of modules

# components.schemas.API_Module.API.InputModuleForSearch.properties.facultyIDsOrDepartmentIDs.description
GUIDs of the module faculties or departments

# components.schemas.API_Module.API.InputModuleForSearch.properties.listOperations.description
Optional parameters for Sorting, paging and filtering

# components.schemas.API_Module.API.InputModuleForSearch.properties.populate.description
Accepted populate entities: faculty, department. Accepted populate entities if user is authenticated: creator, lastUpdatedUser, faculty, department, manager, weblecture, termDetail

# components.schemas.API_Module.API.InputModuleForSearch.description
HTTP Post Input class when searching module

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

# components.schemas.API_Module.API.InputModuleForSearchPublic.properties.facultyCode.description
List of faculty codes for the faculties of modules

# components.schemas.API_Module.API.InputModuleForSearchPublic.properties.departmentCode.description
List of department codes for the departments of modules

# components.schemas.API_Module.API.InputModuleForSearchPublic.properties.facultyIDsOrDepartmentIDs.description
GUIDs of the module faculties or departments

# components.schemas.API_Module.API.InputModuleForSearchPublic.properties.listOperations.description
Optional parameters for Sorting, paging and filtering

# components.schemas.API_Module.API.InputModuleForSearchPublic.properties.populate.description
Accepted populate entities: faculty, department. Accepted populate entities if user is authenticated: creator, lastUpdatedUser, faculty, department, manager, weblecture, termDetail

# components.schemas.API_Module.API.InputModuleForSearchPublic.description
HTTP Post Input class when searching public module

# components.schemas.API_Module.API.InputModuleForCopy.properties.toolTypes.description
Tool Type, 1 = Folder, 2 = Forum, 3 = Multimedia, 4 - Web Lecturer, 5 - Poll, 6 - Gradebook, 7 - Survey, 8 - Quiz, 9 - Evaluation, 10 - Learning Flow, 
12 - External Contents, 13 - External Tools (LTI)

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

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

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

# components.schemas.API_Module.API.InputModuleForCopy.description
HTTP Post Input class when duplicating module

# components.schemas.API_Module.API.InputModuleForUpdateCode.description
HTTP Post Input class when updating module code

# components.schemas.API_Module.API.InputModuleForUpdateOwnership.properties.accessRole.description
Managerial Access. The type of managerial access for self after transferring the module to the new owner.

# components.schemas.API_Module.API.InputModuleForUpdateOwnership.description
HTTP Post Input class when transferring ownership of module

# components.schemas.API_Module.API.ModuleImportResult.properties.newUserID.description
User ID of the owner for the newly auto-created module

# components.schemas.API_Module.API.ModuleImportResult.description
Object return for import with check module

# components.schemas.API_Module.API.InputCCSettingsForExport.properties.importModuleDescriptions.description
the IsModuleDescriptions flag, if yes all in the module module description needsto be imported in the Common Catridge

# components.schemas.API_Module.API.InputCCSettingsForExport.properties.importWeblinks.description
the IsWeblinks flag flag, if yes all in the module module description needsto be imported in the Common Catridge

# components.schemas.API_Module.API.InputCCSettingsForExport.properties.folderIds.description
the List of FolderIds in the module that needs to be imported in the Common Catridge

# components.schemas.API_Module.API.InputCCSettingsForExport.properties.fileIds.description
the List of FileIds in the module  to be imported in the Common Catridge.

# components.schemas.API_Module.API.InputCCSettingsForExport.properties.importQuizzes.description
the IsQuizzes flag flag, if yes all in the module module description needsto be imported in the Common Catridge

# components.schemas.API_Module.API.ModuleStudentsAndGroups.description
The students and student groups of the module

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

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

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

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

# components.schemas.API_Module.API.Textbook.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_Module.API.Textbook.properties.resourceID.description
the ID of the resource which this content belongs to.

# components.schemas.API_Module.API.Textbook.properties.bookType.description
Book Type. C = Compulsory; R = References; S = Supplementary

# components.schemas.API_Module.API.Textbook.properties.onlineContent.description
Whether it is formatted or unformatted Text and Readings. 1 = Formatted Text and Readings; 2 = Unformatted Text and Readings

# components.schemas.API_Module.API.Textbook.properties.isFormatted.description
True if the reading is formatted readings

# components.schemas.API_Module.API.Textbook.properties.rbr.description
Whether it is for Library RBR Collection

# components.schemas.API_Module.API.Textbook.properties.coopIDs.description
A list of NUS Co-ops
BTC = NUS CO-OP @ BTC; CEN = NUS CO-OP @ Central Forum; SCI = NUS CO-OP @ Science (LT27); UT = BookHaven @ UTown (Stephen Riady Centre)

# components.schemas.API_Module.API.Textbook.properties.adoptType.description
Adoption Request. F = Full Adoption; P = Partial Adoption; S = Supplementary Adoption

# components.schemas.API_Module.API.Textbook.properties.publisherLink.description
Trie of there is link to publisher's digital resource. Example, McGraw-Hill's link.

# components.schemas.API_Module.API.InputTextbookFormattedForCreate.properties.lessonID.description
Lesson ID if it is created as a lesson activity

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

# components.schemas.API_Module.API.InputTextbookFormattedForCreate.properties.bookType.description
Book Type. C = Compulsory; R = References; S = Supplementary

# components.schemas.API_Module.API.InputTextbookFormattedForCreate.properties.adoptType.description
Adoption Request. F = Full Adoption, P = Partial Adoption, S = Supplementary Adoption

# components.schemas.API_Module.API.InputTextbookFormattedForCreate.properties.coopIDs.description
NUS Co-op
BTC = NUS CO-OP @ BTC; CEN = NUS CO-OP @ Central Forum; SCI = NUS CO-OP @ Science (LT27); UT = BookHaven @ UTown (Stephen Riady Centre)

# components.schemas.API_Module.API.InputTextbookFormattedForCreate.properties.publisherLink.description
Link to publisher's digital resource. True if it is McGraw-Hill. It will display the link to McGraw-Hill's digital resource.

# components.schemas.API_Module.API.InputTextbookFormattedForCreate.description
HTTP Post Input class when creating Formatted Textbook

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

# components.schemas.API_Module.API.InputTextbookFormattedForUpdate.properties.bookType.description
Book Type. C = Compulsory; R = References; S = Supplementary

# components.schemas.API_Module.API.InputTextbookFormattedForUpdate.properties.adoptType.description
Adoption Request. F = Full Adoption, P = Partial Adoption, S = Supplementary Adoption

# components.schemas.API_Module.API.InputTextbookFormattedForUpdate.properties.coopIDs.description
NUS Co-op
BTC = NUS CO-OP @ BTC; CEN = NUS CO-OP @ Central Forum; SCI = NUS CO-OP @ Science (LT27); UT = BookHaven @ UTown (Stephen Riady Centre)

# components.schemas.API_Module.API.InputTextbookFormattedForUpdate.properties.publisherLink.description
Link to publisher's digital resource. True if it is McGraw-Hill. It will display the link to McGraw-Hill's digital resource.

# components.schemas.API_Module.API.InputTextbookFormattedForUpdate.description
HTTP Post Input class when updating Formatted Textbook

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

# components.schemas.API_Module.API.InputTextbookUnformattedForCreate.properties.adoptType.description
Adoption Request. F = Full Adoption, P = Partial Adoption, S = Supplementary Adoption

# components.schemas.API_Module.API.InputTextbookUnformattedForCreate.properties.coopIDs.description
NUS Co-op
BTC = NUS CO-OP @ BTC; CEN = NUS CO-OP @ Central Forum; SCI = NUS CO-OP @ Science (LT27); UT = BookHaven @ UTown (Stephen Riady Centre)

# components.schemas.API_Module.API.InputTextbookUnformattedForCreate.description
HTTP Post Input class when creating Unformatted Textbook

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

# components.schemas.API_Module.API.InputTextbookUnformattedForUpdate.properties.adoptType.description
Adoption Request. F = Full Adoption, P = Partial Adoption, S = Supplementary Adoption

# components.schemas.API_Module.API.InputTextbookUnformattedForUpdate.properties.coopIDs.description
NUS Co-op
BTC = NUS CO-OP @ BTC; CEN = NUS CO-OP @ Central Forum; SCI = NUS CO-OP @ Science (LT27); UT = BookHaven @ UTown (Stephen Riady Centre)

# components.schemas.API_Module.API.InputTextbookUnformattedForUpdate.description
HTTP Post Input class when updating Unformatted Textbook

# components.schemas.API_Module.API.InputTextbookForEmail.description
HTTP Post Input class when updating Formatted Textbook

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

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

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

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

# components.schemas.API_Module.API.Section.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_Module.API.Section.properties.resourceID.description
the ID of the resource which this content belongs to.

# components.schemas.API_Module.API.Section.properties.fixed.description
Whether the description section is from official bulletin, or created by one manually, or default created by system. 
"1" = Items from offical NUS Bulletin and cannot be modified; "0" = Items created by one; "" = Items default created by system.

# components.schemas.API_Module.API.Section.properties.isDefault.description
Whether it is a default item from official Bulletin. True means default. False means not default. If isDefault = true, then cannot be modified or deleted, but can publish/unpublish it.

# components.schemas.API_Module.API.Section.properties.description.description
Message of the description section for items created by system (Fixed = "").

# components.schemas.API_Module.API.Section.properties.itemText.description
Full write-up of the Description Section

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

# components.schemas.API_Module.API.InputSectionForCreate.properties.itemText.description
Full write-up of the Description Section

# components.schemas.API_Module.API.InputSectionForCreate.description
HTTP Post Input class when creating Description Section

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

# components.schemas.API_Module.API.InputSectionForUpdate.properties.itemText.description
Full write-up of the Description Section

# components.schemas.API_Module.API.InputSectionForUpdate.description
HTTP Post Input class when updating Description Section

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

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

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

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

# components.schemas.API_Module.API.Weblink.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_Module.API.Weblink.properties.resourceID.description
the ID of the resource which this content belongs to.

# components.schemas.API_Module.API.Weblink.properties.rating.description
Weblink Ratings
Ratings must be between 0 to 4. 0 = No Rating; 1= Interesting resource; 2 = Good resource; 3 = Very useful resource; 4 = Excellent resource

# components.schemas.API_Module.API.InputWebsiteForCreate.properties.lessonID.description
Lesson ID if it is created as a lesson activity

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

# components.schemas.API_Module.API.InputWebsiteForCreate.properties.rating.description
Weblink Ratings
Ratings must be between 0 to 4. 0 = No Rating; 1= Interesting resource; 2 = Good resource; 3 = Very useful resource; 4 = Excellent resource

# components.schemas.API_Module.API.InputWebsiteForCreate.description
HTTP Post Input class when creating Website

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

# components.schemas.API_Module.API.InputWebsiteForUpdate.properties.rating.description
Weblink Ratings
Ratings must be between 0 to 4. 0 = No Rating; 1= Interesting resource; 2 = Good resource; 3 = Very useful resource; 4 = Excellent resource

# components.schemas.API_Module.API.InputWebsiteForUpdate.description
HTTP Post Input class when updating Website