Technical Specifications
Technical Specifications
All the nitty-gritty stuff you may need to know about how we source and manage data.
At Cidi Labs, we understand that security of your institutional data is paramount, and therefore institutions may need to know about the permissions our tools have in Canvas.
We love keeping your students' sensitive data safe where it belongs - in Canvas!
The only data we store:
ObservEd User
For all users who have been enrolled to the ObservEd course and synced into ObservEd, we store:
Observers, Team Admins, & ObservEd Admins
- Canvas User ID
- Full Name
- Email Address
Student
For any student that is being monitored in ObservEd, we do not store grades, submissions, or any other performance data.
We only store:
- Canvas User ID
- Full Name / Sortable Name
Task Runner
For Task Runners, we store:
A Task Runner, also known as a service user, is a Canvas user set up for the purpose of collecting data for this tool. All Canvas API calls are made from this user.
- Canvas User ID
- Full Name
- API Key (encrypted)
- API Refresh Token (encrypted)
The following API calls provide real-time Canvas student data. This data is presented to the user, but is not stored in the database.
The Canvas API calls we use:
API Endpoint Name | Type | API Scope URL |
---|---|---|
Accounts: List Canvas Accounts | GET | /api/v1/accounts/:id |
Analytics: Get Student Summary | GET | /api/v1/courses/:course_id/analytics/student_summaries |
Analytics: Get Student Assignments | GET | /api/v1/courses/:course_id/analytics/users/:student_id/assignments |
Analytics: Get Student Activity | GET | /api/v1/courses/:course_id/analytics/users/:student_id/activity |
Announcements: List Course Announcements | GET | /api/v1/announcements |
Conversations: Send Message to Canvas Inbox | POST | /api/v1/conversations |
Courses: Get a Course | GET | /api/v1/courses/:course_id |
Enrollment Terms: List Enrollment Terms | GET | /api/v1/accounts/:account_id/terms |
Enrollments: List Student Courses | GET | /api/v1/users/:user_id/enrollments |
Enrollments: List Students in a Course | GET | /api/v1/courses/:course_id/enrollments |
Users: Get a User | GET | /api/v1/users/:id |
Users: List Users in an Account | GET | /api/v1/accounts/:account_id/users |
ObservEd requires the use of a Canvas account that can fetch data on it's behalf. We call this user a Task Runner, and it should be set up in Canvas as follows:
Name:
ObservEd Task Runner
Account Permissions:
- Analytics - view pages
- Announcements - view
- Conversations - send messages to individual course members
- Course Content - view
- Courses - view list
- Discussions - view
- Grades - view all grades
- SIS Data - read
- Users - manage students in courses
- Users - view list
- Users - view login IDs
- Users - view primary email address