Set up REST API integration with Canvas Developer Key
Canvas Developer Key is a robust alternative to the access token approach as any Canvas REST endpoint (scope) can be enabled or disabled for integrations.
To set up the REST API integration you need to do these things
Create an API developer key in your Canvas environment
Configure Ally with the Canvas developer key
Create an API developer key
A Canvas API Developer Key is essentially a key ID and secret pair combined with a specific scope configuration.
Go to the root account of the Canvas instance and go to Developer keys.
Select the + Developer Key button and select API Key.
Provide a Key Name and Owner Email.
Copy and paste this link into the Redirect URIs field. Replace
[AllyEnvironment]with the environment information your institution is hosted in. Replace[ClientID]with your Client ID.https://[AllyEnvironment]/api/v2/[ClientId]/auth/canvas/callbackSelect the Enforce Scopes toggle to turn it on.
Check the Allow Include Parameters check box.
Enable these scopes from the table:
Table 7. Enable these scopesScope name
Section
url:GET|/api/v1/accountsAccounts
url:GET|/api/v1/accounts/:idAccounts
url:GET|/api/v1/accounts/:account_id/sub_accountsAccounts
url:GET|/api/v1/accounts/:account_id/coursesAccounts
url:GET|/api/v1/courses/:course_id/assignmentsAssignments
url:GET|/api/v1/courses/:course_id/assignments/:idAssignments
url:PUT|/api/v1/courses/:course_id/assignments/:idAssignments
url:GET|/api/v1/courses/:course_id/blueprint_subscriptionsBlueprint Courses
url:GET|/api/v1/courses/:course_id/blueprint_subscriptions/:subscription_id/migrationsBlueprint Courses
url:GET|/api/v1/courses/:course_id/content_migrationsContent Migrations
url:GET|/api/v1/courses/:idCourses
url:PUT|/api/v1/courses/:idCourses
url:POST|/api/v1/courses/:course_id/filesCourses
url:GET|/api/v1/courses/:course_id/discussion_topicsDiscussion Topics
url:GET|/api/v1/courses/:course_id/discussion_topics/:topic_idDiscussion Topics
url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_idDiscussion Topics
url:GET|/api/v1/accounts/:account_id/termsEnrollment Terms
url:GET|/api/v1/courses/:course_id/filesFiles
url:GET|/api/v1/courses/:course_id/files/:idFiles
url:PUT|/api/v1/files/:idFiles
url:DELETE|/api/v1/files/:idFiles
url:GET|/api/v1/courses/:course_id/media_objectsMedia Objects
url:PUT|/api/v1/media_objects/:media_object_idMedia Objects
url:GET|/api/v1/media_objects/:media_object_id/media_tracksMedia Objects
url:PUT|/api/v1/media_objects/:media_object_id/media_tracksMedia Objects
url:GET|/api/v1/courses/:course_id/pagesPages
url:GET|/api/v1/courses/:course_id/pages/:url_or_idPages
url:PUT|/api/v1/courses/:course_id/pages/:url_or_idPages
url:GET|/api/v1/courses/:course_id/quizzesQuizzes
url:GET|/api/v1/courses/:course_id/quizzes/:idQuizzes
url:PUT|/api/v1/courses/:course_id/quizzes/:idQuizzes
Select Save.
The new key is added to the Developer keys page and is Off by default.
Turn the new key on.
Copy the key ID number in the Details column.
Ally environment for your region
Use the information for the Ally environment your institution is hosted in.
US data center:
prod.ally.acCanadian data center:
prod-ca-central-1.ally.acEuropean data center:
prod-eu-central-1.ally.acSingapore data center:
prod-ap-southeast-1.ally.acAustralian data center:
prod-ap-southeast-2.ally.ac
Configure Ally with the developer key
You need to be signed into both your Canvas environment and your Ally Configuration page.
Go to your Ally Configuration page and select the Canvas Developer Key tab.
Select Configure Ally with Canvas Developer Key.
Copy and paste the key and secret of the API developer key you created.
Select Save and grant access.
Select Authorize to grant Ally permission to use the Canvas Developer Key.
In the background, Ally will run a quick (minimal) check to ensure the correct scopes were added on the Canvas Developer Key.
All things being well, you should be redirected back to the configuration tool with a message saying the integration was configured correctly.