Suppose a school uses Canvas and a school admin wants a better reporting feature to visualize student growth over time. What does the admin do?

Suppose an elearning app developer of a school planner wants upcoming assignments and quizzes from Canvas to appear in the app. What does the developer do?

There have to be a million ways that Canvas can be extended, enhanced, or integrated to improve workflows and the value that schools get from the LMS. But Instructure (the company behind Canvas) can't do it all. There are only so many software developers and only so many features that can be added before things slow down and start to become confusing.

The solution: Canvas allows schools as well as external partners to develop features on top of the Canvas platform to achieve their goals. One of the ways Canvas allows this, is through API Integrations.

Developer keys are the method that Canvas uses to identify the person or application who is trying to make changes to the platform. They are kind of like a "secret password" that only Canvas and the other application know, which make the integration flow.

What is API Integration?

To put it simply: an API is a set of rules that 2 pieces of technology use to communicate – in this case, think of an LMS and an elearning app. The two communicate through a common language or format that both can use to understand. In the real world, we all have to agree on how to properly format street addresses or dates. That’s how we can get our mail, food, and other deliveries to the right place.

The same is true for computers. If computers send information in the wrong format, it will be misinterpreted by the other system. So it's very important that software developers agree on the format of communication.

Once the 2 agree on how to communicate, the conversation moves to what information will be communicated. In the case of Canvas, their API has tons of features so a lot can be communicated.

What Kind of Features Are We Talking About?

The full list of everything that can be communicated back and forth is located on Canvas’s developer website. But to keep it simple, developers can write code that talks to Canvas to serve a variety of different functions:

Managing user accounts (e.g. creating a new student)

Running Canvas reports and downloading aggregate analytics

Creating or retrieving announcements

  • Managing student assignments or quizzes
  • Syncing student grades
  • Retrieving student submissions (e.g. to make a portfolio)

...and literally dozens more.

So How Do Developer Keys Factor In?

All of this power comes with responsibility. Not anyone should be able to create and delete grades in Canvas. So what's preventing any random stranger from messing with a school's Canvas account?

Canvas developer keys.

Every time an outside application wants to make a change in Canvas, the app will send along some variation of the keys (glossing over the technical bits) to prove that the app is who they say they are. If Canvas doesn't see the correct keys, then the request is denied.

If you're looking for a guide on how to create these keys, please check out our other post here.

Read More on Canvas Integrations?

Here are other articles we’ve written on Canvas to help you on your journey:

If you're looking for a partner who can help guide you through developing Canvas integrations (like these), then let’s introduce ourselves. We’re Edlink!