Skip to main content

Canvas LTI 1.3 Setup Guide

How to setup Akindi's Canvas LTI 1.3 integration

Christa Plumley avatar
Written by Christa Plumley
Updated over 3 weeks ago

Step 1: Create LTI Key

1) Log into Canvas > Go to 'Admin' > 'Institution' > 'Developer Keys'
> '+ Developer Key' > '+ LTI Key'

Developer Keys> +LTI Key

2) Enter the following Fields:

Key Name: Akindi LTI 1.3 [Only displays in 'Developer key' tab]

Redirect URIs: https://lti.akindi.com/lti13/tool_auth_redirect

Method: 'Enter URL'

JSON URL: https://lti.akindi.com/lti13/canvas/lti-config.json

3) Turn on 'Akindi LTI 1.3' Developer Key

Click the 'State' toggle for the newly created 'Akindi LTI 1.3' developer key.

Turn on developer key toggle

4) Save 'Client ID' from LTI Developer Key

Copy 'Client ID'. This is your LTI Client ID.

Save it somewhere safe, you'll need this for future steps.

Copy Client ID from dev key


πŸ’‘ Default Student IDs

By default, Akindi will use sis_id as the student ID. Visit this guide to customize the default student ID.

πŸ’‘ Disable 'Launch Akindi' in course navigation by default

By default, the 'Launch Akindi' link will be added to all course navigation. Visit this guide disable the nav-bar navigation by default. Once disabled, instructors will have to manually enable Akindi on their course shells.


Step 2: Create API Key

5) From Developer Keys > '+ Developer Key' > '+ API Key

Developer Keys > API Key

6) Enter the following information

Key name: Akindi API

Redirect URIs: https://lti.akindi.com/lti13/canvas/api-auth-redirect

Icon URL: https://storage.googleapis.com/akindi-prod-public/favicon.ico

Test Clusters Only: unchecked

Client Credentials Audience: Canvas

7) Enable Scopes

a) Turn on 'Enforce Scopes' toggle

b) Check 'Allow Include Parameters'

c) Expand 'Sections' and enable the following scope:

  • url:GET|/api/v1/courses/:course_id/sections

d) Expand 'Assignments' and enable the following scopes:

  • url:GET|/api/v1/courses/:course_id/assignments

  • url:POST|/api/v1/courses/:course_id/assignments

  • url:PUT|/api/v1/courses/:course_id/assignments/:id

e) Expand 'Submissions' and enable the following scope:

  • url:POST|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/update_grades

8) Turn on 'Akindi API' Developer Key

Click the 'State' toggle for the newly created 'Akindi API' developer key.

Turn on developer key toggle

9) Save 'Client ID' & 'Secret Key' from API Developer Key

a) Copy 'Client ID'. This is your API Client ID.

b) Click 'Show Key' and copy 'Secret Key'. This is your API Secret Key.

Save these somewhere safe, you'll need this for future steps!

Select the Client ID from the API key


Step 3: Register Akindi App

10) In Canvas, go to 'Admin' > 'Institution' > 'Settings' > 'Apps' > 'View App Configurations' > '+ App'

Settings > Apps > View App Configurations > +App

11) Enter the following feilds

Configuration Type: By Client ID

Client ID: {insert LTI Client ID from step 4}

Click 'Submit'

πŸ’‘Be sure to enter the LTI Client ID from step 4.
This is different than the API Client ID from step 9.

Configure by Client ID > copy Client ID

12) Fetch Deployment ID

a) Click gear icon for newly created 'Akindi LTI 1.3' app > Select 'Deployment ID'

b) Copy 'Deployment ID' from modal.

Save it somewhere safe, you'll need this in a future step.

Gear> Deployment ID


Step 4: Provide Akindi with IDs

Send the following information to your Akindi Customer Success Manager:

Next Steps

  1. Once your Akindi account manager receives the keys and deployment ID, they will complete the integration setup.

  2. You can test the integration to ensure it if functioning as expected.

  3. The integration can be deployed to all instructors.

πŸ’‘ Switching to LTI 1.3 from LTI 1.1?

After the LTI 1.3 integration is setup and fully functioning, the LTI 1.1 integration can be disabled and deleted and the LTI 1.3 integration can be deployed to all instructors.

We recommend completing this transition between semesters to prevent any instructor disruptions.

Did this answer your question?