Hi there, I'm working with a school to extract grades data from canvas, but we have found a need to extract some additional student data that I think would be found in the GET /api/v1/users/:id API or the GET /api/v1/users/:id/profile API. However, I get a "user not authorized to perform that action" message when I try to request it. Is there a specific permission I should request from the schools Canvas Admin?
Solved! Go to Solution.
Information about the user would be maintained at the account level. Canvas has a PDF document called Canvas Account Role Permissions that details what the roles are and what each one does. It is sometimes not as simple as saying you need X permission. You might also need C and Q because of the way they relate. For example, the ability to read SIS information is different from the one to act as a user. There is a setting to see the list of users, the but the ability to see the email address is a different permission. Some information is only available to the current user, which means that you need to use the as_user_id to obtain the information. Analytics has its own permissions.
Since you didn't say which items you were specifically trying to access, a specific answer is going to be difficult to provide -- other than an admin account with full rights can do about anything, which is why they may not want to give you that.
There is a companion document Canvas Course Role Permissions that describes the permissions for information within a course.
Some permissions, like Edit Grades or View all Grades are available in both the account and course permissions.