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  who have been enrolled to the ObservEd course and synced into ObservEd, we store:

  • 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 , we store:

  • Canvas User ID
  • Full Name
  • Email
  • 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