You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Course API permissions grant an API session the ability to perform an action on some object. Permissions are divided into
three sub-types: CoursePermission, OrgPermission, and SitewidePermission. CoursePermissions grant authorization to
act on a Course.OrgPermissions grant authorization to act on a VFO Org. SiteWidePermissions, currently in development,
will reflect authorization to perform site-wide administrative actions.
Permission sub-types cannot be mixed (e.g., a user cannot be granted the PublishCourse permission within a VFO group).
OrgPermissions can implicitly grant CoursePermissions. However, CoursePermissions cannot grant OrgPermissions,
OrgPermissions cannot grant other OrgPermissions, and CoursePermissions cannot grant other CoursePermissions.
Org Permissions
Name
Granted By
Authorizations
Notes
AdministerOrg
User ID + VFO Org ID (vfo_user_org_permission)
Modify VFO Org metadata
Manage groups below the VFO Org
Delete the VFO Org
Modify permissions for users within the VFO Org
Share and unshare courses with the VFO Org
Invite learners to courses shared with the VFO Org
Learn, edit, publish, and view analytics for courses shared with the VFO Org
Add and remove contributors to courses shared with the VFO Org
TeachCourses
User ID + VFO Org ID (vfo_user_org_permission)
Learn and view analytics for courses shared with the VFO Org
Invite learners to courses shared with the VFO Org
Share and unshare courses with the VFO Org, if you are a course editor
LearnCourses
User ID + VFO Org ID (vfo_user_org_permission)
Learn courses shared with the VFO Org
Share and unshare courses with the VFO Org, if you are a course editor
Course Permissions
Name
Granted By
Authorizations
Notes
ArchiveCourse
User ID + Program ID (user_access)
Authenticator ID + Program ID (authenticator_access)
Implicitly by having AdministerOrg permission in a VFO Org the course is shared with
Mark the course as deleted
EnrollInAPublishedCourse
User ID + Program ID (user_access)
Authenticator ID + Program ID (authenticator_access)
Implicitly by having AdministerOrg or `TeachCourses` permission in a VFO Org the course is shared with
Implicitly if the course is public
Learn the published instance of the course
InsertConfigureDeleteYourOwnGadgetInstances
Modify course content
User ID + Program ID (user_access)
Authenticator ID + Program ID (authenticator_access)
Implicitly by having AdministerOrg permission in a VFO Org the course is shared with
InstructCourse
Implicitly by having AdministerOrg or `TeachCourses` permission in a VFO Org the course is shared with
None
The InstructCourse permission replaces the use of `TeachCourses` in the `Course.permissions[]` view model property.
This permission is used to indicate that the calling session has the Instructor role with request to the course.
The InstructCourse permission is virtualized (never granted directly in `user_access` or `authenticator_access`).
ManageAllAuthoringInvitationsAndPermissions
User ID + Program ID (user_access)
Authenticator ID + Program ID (authenticator_access)
Implicitly by having AdministerOrg permission in a VFO Org the course is shared with
Add and remove course editors and publishers
PublishCourses
User ID + Program ID (user_access)
Authenticator ID + Program ID (authenticator_access)
Implicitly by having AdministerOrg permission in a VFO Org the course is shared with
Journal a new course revision and mark the revision as published.
If the caller is a VFO session or has an active Versal Pro subscription, having the PublishCourses permission
implicitly grants the SetProgramVisibility, `TrackLearners`, and `ViewCourseAnalytics` permissions.
SetProgramVisibility
User ID + Program ID (user_access)
Authenticator ID + Program ID (authenticator_access)
Implicitly by having AdministerOrg permission in a VFO Org the course is shared with
Implicitly by having the PublishCourses permission together with a Versal Pro subscription or VFO session
Toggle course public/private setting
TrackLearners
User ID + Program ID (user_access)
Authenticator ID + Program ID (authenticator_access)
Implicitly by having AdministerOrg or `TeachCourses` permission in a VFO Org the course is shared with
Implicitly by having the PublishCourses permission together with a Versal Pro subscription or VFO session
None
ViewCourseAnalytics
User ID + Program ID (user_access)
Authenticator ID + Program ID (authenticator_access)
Implicitly by having AdministerOrg or `TeachCourses` permission in a VFO Org the course is shared with
Implicitly by having the PublishCourses permission together with a Versal Pro subscription or VFO session
View learner progress data for the course
View learner grades for the course
Toggle learner as tracked/untracked for the course
View learner activity reports from LAAPI
View learner user state for the course
ViewUnpublishedCourseAsLearner
User ID + Program ID (user_access)
Authenticator ID + Program ID (authenticator_access)
Implicitly by having AdministerOrg permission in a VFO Org the course is shared with
Indicates whether to return legacy model or new map-style model
searchType parameter
Indicates what object type's permissions are being requested. Valid types: Course,VFOContainer
id parameter
Identifier key for the object
Body model
no body
Scala
object GetPermissions
Use this endpoint to get the permissions of the calling session on the specified entity, as search type and id.
For searchType=Course the modelType can be new or legacy , case insensitive. If not specified it defaults to legacy
For searchType=VFOContainer the modelType can be new, case insensitive.