headless lms

Permissions

The scopes a connection can carry, and which roles can grant them.

A connection or API key carries scopes. Each scope is one area and one action, such as courses:read or communities:delete, and each tool needs exactly one. A connection sees only the tools whose scope it holds.

Each scope, the role that can grant it, and whether its tools can remove things
AreaViewChangeDeleteInvite, moderate
Courses
courses:readAny staff
courses:writeOwner and admin
courses:deleteOwner and admin
None
Downloads
downloads:readAny staff
downloads:writeOwner and admin
downloads:deleteOwner and admin
None
Bundles
bundles:readAny staff
bundles:writeOwner and admin
bundles:deleteOwner and admin
None
Media
media:readAny staff
NoneNoneNone
Students
students:readOwner and admin
NoneNone
students:inviteOwner and admin
Access
access:readOwner and admin
access:writeOwner and admin
NoneNone
Analytics
analytics:readOwner and admin
NoneNoneNone
Workflows and webhooks
automations:readAny staff
automations:writeOwner and admin
automations:deleteOwner and admin
None
Comments
comments:readAny staff
NoneNone
comments:moderateOwner and admin
Communities
communities:readAny staff
communities:writeOwner and admin
communities:deleteOwner and admin
None
Community members
community_members:readAny staff
community_members:writeAny staff
NoneNone
Community moderation
community_moderation:readAny staff
community_moderation:writeAny staff
NoneNone

Underlined scopes include tools that remove or revoke something.

Which roles can grant what

A scope is offered only to roles that hold its permission, and the role is checked again on every call. If someone's role changes, their connections change with it on the next call.

  • Owners and admins can grant every scope.
  • Instructors can view courses, downloads, bundles, media, workflows, comments and communities, and can view and change community members and community moderation. Students, access and analytics stay with owners and admins.

Students and moderators can't connect.

What is ticked for you

The consent page and the API key form start with every view scope ticked and every other scope cleared. Change scopes are opt-in. Delete scopes sit apart under a warning and are never ticked for you.

Some change scopes can also remove things: taking a file out of a download, revoking a student's access, removing someone from a space, or taking a post down. The consent page says so next to each of them.

Communities

Three areas cover communities:

  • Communities is the structure: the community itself, its direct-message settings, and its spaces with their topics and links. Changing it needs owner or admin. Deleting a community or a space needs communities:delete.
  • Community members is who is in which space: listing members, adding and inviting people, approving and declining requests, removing people.
  • Community moderation is the review queues: approving and removing posts, removing comments, dismissing flags, and locking chats.

Granting access to a community itself is an access grant, under access:write, like a course or download.

On this page