Skip to main content
This is the full scope reference for the Pria Canvas tools. Use it to discover which Canvas REST API endpoints your Digital Twin needs, then configure them on both the Canvas Developer Key and your Digital Twin instance.

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:
  1. Canvas Developer Key — controls what Canvas will allow at the API level
  2. Digital Twin Instance Configuration — controls what your Digital Twin is permitted to request
Both lists must match. If a scope is missing from either location, the corresponding API call will fail. Key Concepts:
  • 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
Only grant scopes your Digital Twin actually uses. Over-permissioning creates unnecessary security risk. Use the recommended development workflow to discover exactly which scopes you need before enabling enforcement.

Scope Anatomy

Each scope is a pipe-delimited string with three components:
Components:
  1. Literal prefix: Always starts with url:
  2. HTTP Method: GET, POST, PUT, or DELETE
  3. Endpoint Path: The API path without the domain
Example Scope:
This scope allows:
  • 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 Documentation

Common Scopes by Category

List Assignments:
Get Single Assignment:
Update Submission (grading, comments):
List Submissions:
List Discussion Topics:
Create Discussion:
Get Discussion Entries:
List All Submissions:
Get User Grades:
List Quizzes:
Get Quiz Submissions:
List Announcements:
Create Announcement:
(Announcements are special discussion topics)
List Modules:
List Module Items:
List Pages:
Get Page Content:
List Course Users:
List Enrollments:
List Course Files:
Get File Details:
List Course Groups:
List Rubrics:
List Assignment Groups:
Course Activity:
Assignment Analytics:
Student Summaries:
Individual Student Activity:
Smart Search (recommended fallback):
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 Assistant
Example: Student Support Bot
Example: Course Analytics Dashboard

Best Practices for Scope Management

Recommended Development Workflow:
  1. Development Phase: Disable scope enforcement to allow unrestricted API exploration
  2. Documentation Phase: Monitor Tool Details in dialog history to identify all endpoints used
  3. Compilation Phase: Create a comprehensive list of required scopes in a JSON file
  4. Testing Phase: Enable scope enforcement and test all functionality
  5. Production Phase: Deploy with minimal, verified scopes
This approach ensures you grant exactly the permissions needed—no more, no less.

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
Teachers:
  • 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
This comprehensive list covers ~95% of typical Canvas LMS interactions for both students and instructors.
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:
Resolution Steps:
  1. Identify the missing scope from the error message endpoint
  2. Add the scope to your Canvas Developer Key
  3. Ensure the scope is also listed in your Digital Twin configuration
  4. Have users re-authorize to receive updated tokens
Critical Scope Requirement: When scopes are enforced, they must be defined in both locations:
  1. Canvas Developer Key (authorizes the application to use these scopes)
  2. Digital Twin Configuration (declares which scopes to request during OAuth)
Modifying scopes requires generating new access tokens, as scope permissions are embedded in the token at creation time and cannot be changed retroactively.