Developer Discussions

Discuss, share tips, and ask questions about Developer-related topics.

Is there a way to subscribe an application to receive Canvas push notifications on behalf of a user? I am reading Canvas API's "Communication Channels" but it isn't super clear to me the process for registering my app to receive notifications.https:/...

Community Explorer
Canvas Developers Group
  • 0 Likes
  • 0 Replies

Hi everyone Hope someone can help me. we would like to be able to automatically create new courses once every semester, with the same template. We have a third party program that normally delivers info to canvas through SIS-ID, but these will be manu...

  • 0 Likes
  • 1 Replies

We want to call Canvas API from an external application to retrieve student's course and enrolment information. To make this API call, is there a way for me to use OAuth, since this is not a LTI? How do I use OAuth for these cases where it's system t...

  • 0 Likes
  • 1 Replies

I am looking to utilize CSS and JavaScript to create some custom styling for a new Course Template, but I cannot seem to find any documentation on the use of custom scripts within Canvas. The only thing I can find on the guides is how to upload the f...

  • 2 Likes
  • 4 Replies

Hello,  I am developing an iOS client for Canvas written in Swift. I noticed that a ModuleItem object does not include the body property compared to other similar objects like Assignments, Page, etc. I thought to try linking a Page object to the Modu...

  • 0 Likes
  • 1 Replies

Hello, I am developing a custom iOS Canvas client. A feature requested by some of my supporters is a "GPA calculator" feature similar to the Better Canvas extension. Given that Canvas does not retrieve course credit information (likely because it is ...

  • 0 Likes
  • 2 Replies

In case any of the Canvas product team monitors this group or anyone has seen notice.... LTI 1.3 has a Link and Content Service spec in Candidate Final and a Platform Notification Service spec in development (that another LMS has trialed), both of wh...

Community Explorer
Canvas Developers Group
  • 0 Likes
  • 0 Replies

Hello Friends,  Sounds like a simple request...  How many Fall 2024 courses have cross-listed sections? By referencing the https://canvas.instructure.com/doc/api/all_resources.html list, I thought the sections table could provide the raw data.  Befor...

  • 0 Likes
  • 3 Replies

This claim https://purl.imsglobal.org/spec/lti/claim/lti11_legacy_user_id can be found in the id_token in LTI 1.3 flow. I'm planning to use this claim as user identification, does Instructure have a plan to remove this claim in future?

Community Explorer
Canvas Developers Group
  • 0 Likes
  • 0 Replies

Hi all,  I have a Selfhost Canvas, and try to create quizzes using canvas api https://canvas.instructure.com/doc/api/quiz_questions.html#method.quizzes/quiz_questions.create But i cannot add answer to this quizz, here is my postman, as you can see th...

Community Member
Canvas Developers Group
  • 0 Likes
  • 0 Replies

I am trying to integrate Microsoft Teams Meeting in my self-hosted Canvas. Now I'm trying to connect and sync my Microsoft tenant follow Microsoft docs and the result as in image belowhttps://res.cloudinary.com/dnptevfqk/image/upload/v1733757405/gwqz...

Community Member
Canvas Developers Group
  • 1 Likes
  • 0 Replies

Dear community,  I am looking for a way for instructors to grade an assignment that normally uses a rubric/Speedgrader setup, via the Canvas API. Ideally, this would be able to select appropriate rubric levels for each criterium and leave criterium-s...

  • 0 Likes
  • 2 Replies

I need to access the additional comments an instructor can leave on quiz questions through the canvas API. There is no "additional comments" section on quiz questions, quiz submissions, or submissions. I did check "submission_comments" on submissions...

Community Member
Canvas Developers Group
  • 0 Likes
  • 0 Replies

Hello,  I'm researching a way to get a quiz assignment override for a certain user through the quiz APIs.  I'm trying to use the  get /v1/courses/{course_id}/quizzes/assignment_overrides API endpoint.  When looking through the data, I see the dates t...

  • 0 Likes
  • 2 Replies

Hi, I'm currently working on LTI 1.3 integration with Canvas. I created the Developer Key using the manual entry, with the Assignment Link Selection placement set to LtiDeepLinkingRequest. This seems to work fine: I can go from my Canvas developmen...

Community Member
Canvas Developers Group
  • 0 Likes
  • 0 Replies

Hello Everyone,I am looking for a way within CANVAS internal reports, CANVAS API, and/or a 3rd party integration that can pull a specific list of student grades in real-time? My thought process would be to search for students by a unique identifier t...

  • 0 Likes
  • 1 Replies

It appears that the only way to get the lock_at and unlock_at dates applied through the "Assign To" interface on pages is through the Learning Object Dates API. I am trying to collect these dates for all pages in a course, which apparently means indi...

Community Explorer
Canvas Developers Group
  • 0 Likes
  • 0 Replies

Hi, We use a third party (LTI) for our syllabus.  We want to hide the Canvas version completely.  I found an old post that provided some javascript for our theme.  That works great for the desktop version, but it does not work for the mobile version....

  • 0 Likes
  • 2 Replies

Hi,I am using this endpoint GET /api/v1/courses/:course_id/assignments/:assignment_id/submissionsI have 2 users, both have the Teacher role in the course ("role": "TeacherEnrollment")For user 1 it does show the anonymous_id (when using its API token)...

  • 0 Likes
  • 2 Replies

We have an LTI update for a tool that is on in some but not all of our courses. I need to update the tool which I will configure to be off by default. This will require users to re-enable it again. Does anyone have a method that I could use to do a f...

  • 0 Likes
  • 4 Replies

Is there a server side cache for GraphQL queries? We use GraphQL API to get initial data list, made some updates using REST API and then when we rerun the graphQL statement the changes are not reflected.For example with module item external URLs:quer...

  • 0 Likes
  • 2 Replies

Hello community,  we have an issue where the text input field font size comes in too small for our Hebrew quizzes.  We do have a work around that where we edit and then import the quiz but it's a bit of work just to update one or two questions. I'm h...

Community Member
Canvas Developers Group
  • 0 Likes
  • 0 Replies

Hello Canvas API Developers,We are working on a project to integrate Canvas Roll Call Attendance data into our CRM Engage system (powered by Microsoft Dynamics 365). Currently, gradebook information from Canvas is successfully imported into CRM Engag...

  • 1 Likes
  • 1 Replies

We would like to post announcements to certain populations of students onto the Canvas Dashboard. Something that looks like the global announcements would be ideal, or at least placed in the same area. The kicker is that we would like to have these a...

  • 2 Likes
  • 5 Replies

Hello! We are currently integrated as 1.3 tool with Canvas. We have dynamic registration set up as well as the ability to create Line Items via LTI 1.3 Assignment and Grade Services (AGS). We are working on deleting these line items using the delete ...

Community Member
Canvas Developers Group
  • 0 Likes
  • 0 Replies

error i am seeing on web: I have attached the error image. and I followed this doc:https://freedium.cfd/https://medium.com/@iliaselmatani/setting-up-the-canvas-lms-system-24f21308a431#id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFkYzBmMTcyZThkNmVmMzgyZDZkM...

Community Member
Canvas Developers Group
  • 0 Likes
  • 0 Replies

I am looking for an API function that would allow me to export the assignment URL from Speedgrader from Canvas, so that these links can be provided to Tutors when they need to review previously submitted assessments. Is this possible?

  • 0 Likes
  • 1 Replies

Hello!We are looking to convert some IDs in a 3rd party system from using the Canvas User ID to each users Canvas User LTI v1.3 ID. What I don’t see and am asking how to find, outside of the SSO payload, is the Canvas User LTI v1.3 ID?You can get bot...

  • 0 Likes
  • 1 Replies

We created a self hosted instance for canvas LMS(https://canvas-loree.crystaldelta.net) with AWS. But while integrating an app it throws Authentication error.The External app with the client and secret key was configured and the platform is registere...

  • 0 Likes
  • 4 Replies

Hey, friends. I've developed a few JS elements (flashcards, quizzes, etc) that are to be used in courses just for self-checks. There have been requests for these interactions to be also recorded into the gradebook, so that means I need to use the API...

  • 0 Likes
  • 3 Replies

Developer Blog

A user blog for Developers building things for Instructure products. Read tips and tricks or share your own.

These user scripts will add in an additional user identifier, such as their email address, in places that only show their name to help differentiate users.  This is especially useful for classes where students have the same name.

Community Coach Community Coach
Canvas Developers Group
:

API

API Canvas

Custom JavaScript

Javascript

user script

userscript

  • 1 Likes
  • 0 Replies

A Chrome Extension to enhance teacher To Do list with filter, search and sorting functionality.

Community Contributor
Canvas Developers Group
:

Chrome Extension

Enhanced To Do

Teacher Tools

  • 3 Likes
  • 1 Replies

This is a user script to automatically click the expand threads button when going to a discussion board.  It will also click the expand threads button when going to a new page of replies.

Community Coach Community Coach
Canvas Developers Group
:

API

API Canvas

Custom JavaScript

Javascript

user script

userscript

  • 5 Likes
  • 3 Replies

This user script provides the ability to bulk update the threaded reply setting of discussions in courses.

Community Coach Community Coach
Canvas Developers Group
:

API

API Canvas

Custom JavaScript

Javascript

user script

userscript

  • 1 Likes
  • 0 Replies

A Python admin tool for rendering subaccount hierarchy graphs for Canvas.   

Community Member
Canvas Developers Group
:

Admin

Admin Analytics

Administrator

Analytics

API Canvas

Canvas Admin

canvas api

developer tools

Developers

python

subaccounts

  • 1 Likes
  • 1 Replies

This is a user script to allow admins to bulk publish courses from the admin account course search page.

Community Coach Community Coach
Canvas Developers Group
:

API

API Canvas

bulk update

Custom JavaScript

Javascript

user script

userscript

  • 3 Likes
  • 5 Replies

I have developed a user script that can be used to bulk update enrollment states in a course.

Community Coach Community Coach
Canvas Developers Group
:

API

API Canvas

bulk update

Custom JavaScript

Javascript

user script

userscript

  • 0 Likes
  • 1 Replies

Many teachers set the course locale (which sets the language assumed for the course content); unfortunately, this also changes the user's GUI - so all of the menus are now in the language of the course locale. This is undesirable from many points of ...

Community Champion
Canvas Developers Group
:

Accessibility

  • 0 Likes
  • 1 Replies

A new Simple Search feature has been added to the Canvas LMS Mods (Basic) browser extension. This allows a user to search for content within a course or across their enrolled courses.

Community Coach Community Coach
Canvas Developers Group
:

API

API Canvas

Chrome Extension

Custom JavaScript

Javascript

  • 5 Likes
  • 22 Replies

Hi All, There have been a few posts in the Canvas LMS area asking about options for automatically deleting courses after and defined amount of time...   few years ago, I built this functionality into a python script that my institution runs on a dail...

Community Coach Community Coach
Canvas Developers Group
  • 2 Likes
  • 0 Replies

This is a follow-up of my last post on the community forum here,https://community.canvaslms.com/t5/Canvas-Developers-Group/Self-host-amp-Install-Canvas-LMS-on-your-own-server/td-p/575826Following the production guide created by Instructure for Canvas...

Community Explorer
Canvas Developers Group
:

All users

  • 0 Likes
  • 0 Replies

Are you going to be at InstructureCon 2024?  Do you have interest in meeting some fellow developer-type people in-person?  We have arranged 2 different opportunities to connect this year!

Community Coach Community Coach
Canvas Developers Group
:

Developers

INSTRUCTURECON

  • 1 Likes
  • 0 Replies

Using CD2, it is possible to find out who made an anonymous post and who has read the post.

Community Contributor
Canvas Developers Group
:

Anonymous Discussion

cd2

  • 2 Likes
  • 0 Replies

We are using the following code to hide the anonymous discussion options at this time.  We will re-evaluate making this available in the future, but are not ready to support this functionality at this time since the identity of the student is also hi...

Community Coach Community Coach
Canvas Developers Group
:

Anonymous Discussion

CSS

Javascript

  • 6 Likes
  • 2 Replies

I am creating this blog as an area where we can share links to code repositories and projects with each other, as we discussed in the developers meetup yesterday.  If you have a project website, GitHub, etc that others might find useful, please share...

Community Coach Community Coach
Canvas Developers Group
:

Developers

Repositories

  • 6 Likes
  • 2 Replies

Years ago I used the API to find which LTI tools were used in a course, then switched to CD1 and now I'm using CD2.  I built a Tableau report with several filters, including: Type of course: sis, non-sis or allState of the course: published, unpublis...

Community Contributor
Canvas Developers Group
:

cd2

custom reports

external tool

  • 6 Likes
  • 11 Replies

I created a blog post in 2020 explaining how to bulk load and sync Canvas Avatar images using Powershell. https://community.canvaslms.com/t5/Canvas-Developers-Group/How-to-bulk-load-and-update-avatar-profile-pictures-with/ba-p/410101 Since then, I've...

Community Participant
Canvas Developers Group
  • 1 Likes
  • 0 Replies

I am working to have an AI LLM (ChatGPT 3.5 or better) generate QTI 2.1 XML that I can copy-paste into text files then ZIP and upload to Canvas to create Item Banks in New Quizzes.I have been successful in getting ChatGPT to generate a set of test qu...

Community Explorer
Canvas Developers Group
  • 5 Likes
  • 4 Replies

Sit back, relax, and let n8n do (most of) the tedious admin tasks for you. N8N is an open-source workflow automation tool that empowers you to harness the capabilities of Canvas backend systems, including Canvas API, Canvas Data, and Live Data, to st...

Community Contributor
Canvas Developers Group
  • 5 Likes
  • 0 Replies

Hello, Canvas Community!I'm thrilled to announce the R package called "vvcanvas". This package provides a convenient interface to interact with the Canvas Learning Management System (LMS) API, enabling users to authenticate, retrieve course informati...

Community Member
Canvas Developers Group
:

API

Canvas lms api

CRAN

R

  • 1 Likes
  • 0 Replies

Learn about some of the new features that I built and released in v3.0.0 of the Canvas LMS Mods (Basic) Chrome extension to provide course level reports primarily about course content.  The code for the extension is open-source if you would like to v...

Community Coach Community Coach
Canvas Developers Group
:

API

Chrome Extension

Custom JavaScript

custom reports

Javascript

report

  • 8 Likes
  • 10 Replies

Learn about some of the new features that I built and released in v3.0.0 of the Canvas LMS Mods (Basic) Chrome extension to enhance the experience of creating/editing rubrics.  The code for the extension is open-source if you would like to view and/o...

Community Coach Community Coach
Canvas Developers Group
:

Canvas rubric

Chrome Extension

Custom JavaScript

Javascript

  • 2 Likes
  • 7 Replies

Hi all, I've deployed an LTI 1.3 tool as a Discussion Topic Menu, and when I click the menu item in my course, I get back a json result, but I can't find the Discussion Topic ID in the json results.   Does anyone else have experience working with LTI...

Community Member
Canvas Developers Group
:

LTI 1.3

  • 0 Likes
  • 0 Replies

I recently updated my Canvas LMS Mods (Basic) Chrome extension to provide some new enhancements to the course search and admin flyout menu inspired by ideas and requests I have seen from other users in the community.

Community Coach Community Coach
Canvas Developers Group
:

API

API Canvas

Chrome Extension

Custom JavaScript

  • 13 Likes
  • 47 Replies

It's few months that I don't access the Canvas app installed on OVH VPS server. I tried now and it shows the directory of files, but not the login interface. Nothings has been changed since the last time I use it (december 2022)

Community Member
Canvas Developers Group
:

Professional Development

  • 0 Likes
  • 2 Replies

Hi all,I would like to attach a zip file to all of my students submissions. I have been able to upload the file via the Cavnas API. However, I cannot seem to get the file to attach a student's submission. Acccording to https://canvas.instructure.com/...

Community Novice
Canvas Developers Group
  • 0 Likes
  • 1 Replies

I need an access token to grab a list of line items during the LTI1.3 workflow. I am currently receiving an unsupported grant type error.I have seen claims that Canvas does not support this flow to issue access tokens for machine to machine API use.L...

Community Member
Canvas Developers Group
  • 0 Likes
  • 0 Replies

I'm a teacher, and I've been playing with the api in a few other sheets that I've found. It's got me wondering if I could use a google sheet with a series of my gradebooks brought from other sheets, and have it update the grades in canvas.

Community Member
Canvas Developers Group
  • 0 Likes
  • 2 Replies

Hi, I'm new

Community Member
Canvas Developers Group
  • 0 Likes
  • 1 Replies

I have a suggestion for a couple new features that I know i would use frequently. I believe other students would as well. It is efficient and time saving, also would help navigate us through what we have completed over our time in school, our past an...

Community Member
Canvas Developers Group
:

Assignments

time saving

  • 0 Likes
  • 1 Replies

Product Blog: Developers

Blog posts from the Product blog for Developers on the Instructure Platform.

We’re excited to announce updates to multiple tables and columns in the Canvas namespace with new enumerated values (enums) that will be available in your CD2/DAP Query API dataset starting January 9th. These changes enrich the dataset with additiona...

Instructure Instructure
The Product Blog
:

Canvas Data

Developers

Intelligent Insights

Release Communications

  • 4 Likes
  • 3 Replies

We are excited to announce the release of DAP CLI & Lib 1.3.0, bringing new features, enhanced functionality, and critical updates based on your feedback. This update reinforces our commitment to improving developer tools and addressing the needs of ...

Instructure Instructure
The Product Blog
:

Canvas Data

Developers

Intelligent Insights

  • 3 Likes
  • 0 Replies

What's next for Ideas and Themes

Instructure Instructure
The Product Blog
:

Canvas LMS

Developers

Elevate Data Hub

Elevate Data Quality

Elevate Data Sync

Elevate K-12 Analytics

Elevate Standards Alignment

General Education

Impact

LearnPlatform

Mastery Connect

Mastery Item Bank

Mastery Item Bank Supplement...

Release Communications

Roadmap Processes

  • 11 Likes
  • 1 Replies

Get ready to shape the future of Instructure’s data capabilities! We’re running an Instructure Data Questionnaire to gather your valuable insights for our 2025 roadmap, focusing on cloud adoption and analytics trends. Your feedback will guide our fea...

Instructure Instructure
The Product Blog
:

Admin Analytics

Canvas Data

Developers

Intelligent Insights

New Quizzes

Roadmap Processes

  • 6 Likes
  • 7 Replies

We’re excited to introduce DAP CLI 1.2.0, featuring secure connections to MySQL and PostgreSQL, optimized memory usage for cloud environments, and improved error handling for parquet files. In addition, the CLI now logs system environment details for...

Instructure Instructure
The Product Blog
:

Admin Analytics

Canvas Data

Developers

Intelligent Insights

Release Communications

  • 5 Likes
  • 1 Replies

We are committed to providing a reliable and efficient service for your data needs, and as part of this commitment, we will be performing scheduled maintenance on our CD2 API infrastructure. This maintenance is essential for ensuring continued perfor...

Instructure Instructure
The Product Blog
:

Admin Analytics

Canvas Data

Canvas LMS

Developers

Intelligent Insights

Release Communications

Roadmap Processes

  • 2 Likes
  • 3 Replies

Discover how global collaboration is driving innovation and shaping the future of Canvas LMS. Dive into the highlights of our latest discovery session and see how we're committed to enhancing the educational experience for our diverse user community.

Instructure Instructure
The Product Blog
:

Canvas LMS

Developers

Roadmap Processes

  • 5 Likes
  • 0 Replies

We will be upgrading to the latest versions of jQuery and jQuery UI. If your institution uses custom JS/CSS, we recommend checking your beta instances.

Instructure Instructure
The Product Blog
Comments closed
:

Canvas Catalog

Developers

  • 2 Likes
  • 0 Replies

Major web browsers are beginning to phase out support for third-party cookies, a change that may have a significant impact on the functionality of LTI tools integrated with learning management systems such as Canvas. Although this change will not dir...

Instructure Instructure
The Product Blog
Comments closed
:

Canvas LMS

Developers

LTI Integrations

  • 5 Likes
  • 10 Replies

Starting June 19th, 2024, all HTTP responses from Canvas will transition to full lowercase response header names to align with industry best practices. This change impacts API users, browser users, and other clients.

Instructure Instructure
The Product Blog
Comments closed
:

Canvas LMS

Developers

  • 4 Likes
  • 13 Replies

Data Access Platform (DAP) CLI and Client Library v1.1.0 is now available.  Version 1.1.0 is a fast follow to our GA release to address some community identified issues with a new feature enhancement to prepare us for future updates.

Instructure Instructure
The Product Blog
Comments closed
:

Admin Analytics

Canvas Data

Developers

Release Communications

  • 3 Likes
  • 5 Replies

Data Access Platform CLI & Client Library is now GA

Instructure Instructure
The Product Blog
Comments closed
:

Canvas Data

Canvas LMS

Developers

  • 5 Likes
  • 29 Replies

We are updating jQuery in Canvas and your custom JavaScript might break if you leverage jQuery in it

Instructure Instructure
The Product Blog
Comments closed
:

Canvas LMS

Developers

  • 6 Likes
  • 20 Replies

Canvas is changing its LTI 1.3 OIDC Auth domain to align with security practices and to support the new LTI 1.3 Platform Storage specification - which lets LTI tools still function even when browsers disable cross-site 3rd-party cookies. LTI 1.3 tool...

Instructure Instructure
The Product Blog
Comments closed
:

Canvas LMS

Developers

LTI Integrations

Release Communications

  • 2 Likes
  • 47 Replies

We decided to implement New Quizzes Public API in GraphQL and here's the first information you need to know about and what you can expect from us regarding the documentation of the API.

Instructure Instructure
The Product Blog
Comments closed
:

Canvas LMS

Developers

New Quizzes

  • 5 Likes
  • 20 Replies

Instructure has a long history of opening the systems we build to extension and enhancement.  When we build products like Canvas, we want to make sure they work well for ALL our customers. After a long series of forays and experiments examining wheth...

Instructure Alumni Instructure Alumni
The Product Blog
Comments closed
:

Canvas LMS

Developers

  • 8 Likes
  • 3 Replies

Let's discuss New Quizzes Public API's foundation: GraphQL or REST? 

Instructure Instructure
The Product Blog
Comments closed
:

Canvas LMS

Developers

New Quizzes

  • 7 Likes
  • 16 Replies

As I looked at my calendar this month I was reminded this May 13 (today) marks an anniversary of when LTI support was deployed to Canvas. This year will be 10 years! \o/

Instructure Alumni Instructure Alumni
The Product Blog
Comments closed
:

Canvas LMS

Developers

LTI Integrations

  • 7 Likes
  • 0 Replies

If you are using Developer Keys, ensure your HTTP Redirect URIs are secure before March 3.

Instructure Alumni Instructure Alumni
The Product Blog
Comments closed
:

Canvas LMS

Developers

  • 0 Likes
  • 1 Replies

If you are a developer who used oEmbed with LTI content embedded into the Canvas Rich Content Editor you will want to review this.

Instructure Alumni Instructure Alumni
The Product Blog
Comments closed
:

Canvas LMS

Developers

LTI Integrations

  • 2 Likes
  • 0 Replies

Data is a powerful tool that has the potential to transform the way we offer education to students. Over the past five years, the Canvas data sharing product has been very important to our users and institutions.

Instructure Alumni Instructure Alumni
The Product Blog
Comments closed
:

Canvas LMS

Developers

  • 8 Likes
  • 20 Replies

Recently, IMS Global announced the deprecation schedule of the LTI 1.0, 1.1, 1.2, and 2.0 specifications. Going forward, LTI Core version 1.3 (LTI 1.3) will be the recommended specification for new integrations and any integrations wishing to upgrade...

Instructure Alumni Instructure Alumni
The Product Blog
Comments closed
:

Canvas LMS

Developers

LTI Integrations

  • 6 Likes
  • 40 Replies

Recently IMS Global Learning Consortium announced an unprecedented number of education platforms who have been identified as early adopters of LTI Advantage and have run through early certification testing. The next day Instructure issued a statement...

Instructure Alumni Instructure Alumni
The Product Blog
Comments closed
:

Developers

  • 5 Likes
  • 0 Replies

Since its inception, Canvas has always been open and transparent about our business and our features. We believe in being open. We believe in allowing you to use Canvas the way you want to use Canvas. And branding is one component that we’ve been wor...

Instructure Alumni Instructure Alumni
The Product Blog
Comments closed
:

Canvas LMS

Developers

  • 31 Likes
  • 64 Replies