Canvas Scopes
Understanding Scopes
Canvas API scopes are permission controls that act as a whitelist for your application’s API access. When scope enforcement is enabled on a Developer Key, Canvas will only allow API calls to endpoints that have been explicitly authorized — all other requests are rejected with a 401 error, regardless of the user’s Canvas role. Scopes must be configured in two places:- Canvas Developer Key — controls what Canvas will allow at the API level
- Digital Twin Instance Configuration — controls what your Digital Twin is permitted to request
- Whitelist Model: Only explicitly enabled scopes are allowed — everything else is blocked
- Endpoint-Specific: Each scope maps to a specific API endpoint and HTTP method (e.g., GET, POST, PUT, DELETE)
- Dual Configuration: Scopes must be enabled on the Canvas Developer Key and listed in your Digital Twin instance
- Principle of Least Privilege: Grant only the scopes your Digital Twin actually needs
Scope Anatomy
Each scope is a pipe-delimited string with three components:- Literal prefix: Always starts with
url: - HTTP Method:
GET,POST,PUT, orDELETE - Endpoint Path: The API path without the domain
- Method: GET (read-only)
- Resource: Course enrollments
- Context: Within a specific course
Path Variables: URL parameters are written with colon notation (e.g.,
:user_id, :course_id, :assignment_id). When defining scopes, ensure variable names match exactly—scope comparison is token-based and case-sensitive.Official Documentation
For the complete, authoritative list of all available Canvas API scopes and endpoints, consult: Canvas REST API DocumentationCommon Scopes by Category
Assignments
Assignments
List Assignments:Get Single Assignment:Update Submission (grading, comments):List Submissions:
Discussions
Discussions
List Discussion Topics:Create Discussion:Get Discussion Entries:
Grades & Submissions
Grades & Submissions
List All Submissions:Get User Grades:
Quizzes
Quizzes
List Quizzes:Get Quiz Submissions:
Announcements
Announcements
List Announcements:Create Announcement:(Announcements are special discussion topics)
Modules & Content
Modules & Content
List Modules:List Module Items:List Pages:Get Page Content:
Users & Enrollments
Users & Enrollments
List Course Users:List Enrollments:
Files & Documents
Files & Documents
List Course Files:Get File Details:
Groups
Groups
List Course Groups:
Rubrics
Rubrics
List Rubrics:
Assignment Groups
Assignment Groups
List Assignment Groups:
Analytics
Analytics
Course Activity:Assignment Analytics:Student Summaries:Individual Student Activity:
Smart Search
Smart Search
Smart Search (recommended fallback):
Calendar
Calendar
User Calendar Events:
Choosing Scopes for Your Use Case
Select scopes based on the specific functionality your Digital Twin needs to provide: Example: Auto-Grader AssistantBest Practices for Scope Management
Starter Scope Configuration
Use this starter JSON as a foundation for your scope configuration. This includes commonly used endpoints for typical Digital Twin functionality:Suggested Scopes
Here is a list of scopes suggested by Pria, Here’s the enhanced list with the most common Canvas API operations for students and teachers:Key Additions by User Type:
Students:- POST submissions (submit assignments)
- POST discussion entries (participate in discussions)
- GET own submissions
- Mark module items as complete
- Take quizzes
- Send messages
- View their own profile
- Create/update/delete assignments, pages, modules
- Grade submissions and add comments
- Bulk grading operations
- Create announcements and discussions
- Manage enrollments and groups
- Create quizzes and rubrics
- Access analytics
- Update course settings
- Manage course files and folders
Latest Version: The most current version of this starter configuration is maintained in the Praxis AI Community Repository - please contribute:Canvas Scopes Configuration
Scope Troubleshooting
Insufficient Scopes Error:- Identify the missing scope from the error message endpoint
- Add the scope to your Canvas Developer Key
- Ensure the scope is also listed in your Digital Twin configuration
- Have users re-authorize to receive updated tokens
Related
- Pria Canvas Tools — overview, setup, and testing for
call_canvasandsearch_canvas - Digital Twin Configuration — where to add these scopes in your instance
- Canvas Configuration (Admin) — instance-level Canvas settings