Step 1: Creating a Canvas Developer Key
Open Account
In Global Navigation, click the Admin link [1], then click the name of the account [2].
Open Developer Keys
In Account Navigation, click the Developer Keys link.
Add Developer Key
Click the Add Developer Key button.
Add API Key
If you have enabled the LTI 1.3 and LTI Advantage feature option in your account, you will also need to click the Add API Key option.
Enter Key Settings
Enter the settings for the developer key:
Key Name [1]: panOpen Gradebook Sync
Owner Email [2]: support@panOpen.com
Redirect URI (Legacy) [3]: The URI for the key redirect. This field allows you to set the previous URI for a tool. Eventually this field will be removed.
Redirect URIs [4]: https://app.willolabs.com/api/oauth2/canvas/callback
Vendor Code (LTI 2) [5]: (Leave Blank)
Icon URL [6]: (Leave Blank)
Notes [7]: Any notes about the developer key, such as the reason it was created.
Test Cluster Only [8]: (Leave Blank)
Enforce Scopes [9]: (Leave Blank)
Save Key
Click the Save Key button.
View Key
Step 2: Entering credentials into panOpen's Self configuration page
Please log into https://app.willolabs.com/customer-access/ with a pre-approved email address to access your panOpen configuratino page. If you do not have access please email support@panOpen.com.
Step 2a: Navigate to https://app.willolabs.com/customer-access/login/
Enter in a pre-authorized email address
Create an account and log in
Step 2b: Once logged in you will have access to your school's configuration page
Click “Settings” in the top right
Step 2c: Enable Grade Sync
Please enter the 3 fields below
Enter Canvas base URL
Enter Developer Key: ID
Enter Developer Key: Key
Click Save Configuration
Click the green button labeled “Login to grant access or refresh access tokens”
Click Test Configuration
Congratulations, you are finished!
Optional (Information for setting up SCOPED Canvas Keys)
Grade sync only:
url:GET|/api/v1/courses/:course_id/assignments
url:GET|/api/v1/courses/:course_id/assignments/:id
url:POST|/api/v1/courses/:course_id/assignments
url:PUT|/api/v1/courses/:course_id/assignments/:id
url:DELETE|/api/v1/courses/:course_id/assignments/:id
url:GET|/api/v1/courses
url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
url:DELETE|/api/v1/courses/:course_id/modules/:module_id/items/:id
url:PUT|/api/v1/courses/:course_id/modules/:module_id/items/:id
url:POST|/api/v1/courses/:course_id/modules/:module_id/items
url:GET|/api/v1/courses/:course_id/modules/:module_id/items
url:POST|/api/v1/courses/:course_id/modules
url:GET|/api/v1/courses/:course_id/modules
url:GET|/api/v1/courses/:course_id/assignment_groups
url:POST|/api/v1/courses/:course_id/assignment_groups