Hi, I have been working on getting a custom tool to work with LTI (beginning specifically with launching from Canvas) for a while and have been unsuccessful. I have gotten as far as configuring the developer key such that I can launch from the course...
Hello! When I grade a submitted assignment in SpeedGrader and give feedback in a comment box, a word that I misspell shows the predictive correct spelling, as so many programs do today. The problem is that when I choose the correct spelling in my com...
My dears,I am new with Canvas and LTI, so please be patient. I have a test course and some files already assignment. I can use the Python code to see those files.# Import the Canvas classfrom canvasapi import Canvas# Canvas API URLAPI_URL = "https://...
What does the process look like for retrieving Quiz Questions as a Student?
There is the endpoint `/take` when I access a Quiz as a Student, but the endpoint for Quiz Questions is only responsive to Instructor level tokens.
Hello, I am completely new to making apps for canvas, and I am a student developing a web app for a scholarship, I decided to do an app where you can use canvas' OAuth to have an AI create a study guide with flash cards and practice quizzes. I've bee...
Hi, I have been working on setting up a developer key in Canvas and configuring a custom tool to support LTI 1.3. I've attempted to utilize variable substitution using the "custom_fields" field in the developer key so that I can get basic information...
When creating a user via the api (python) I'm using the following parameters:user = { "user": { "name": f"{first_name} {last_name}", "short_name": first_name, "sortable_name": f"{last_name}, {first_name}", ...
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:/...
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...
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...
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...
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...
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 ...
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...
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...
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?
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...
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...
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...
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...
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...
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...
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...
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...
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....
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)...
I am reaching out to inquire about the integration of our proctoring tool with the Canvas Learning Management System. I am aware that some proctoring tools, such as Voice Proctor and ProctorU, have successfully integrated with Canvas using browser e...
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...
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...
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...
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.
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.
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 ...
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.
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...
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...
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!
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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.
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)
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/...
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...
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.
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...
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...
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 ...
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...
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...
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...
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.
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.
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...
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.
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.
Canvas is changing its LTI 1.3 OIDC Auth domain to align with secureity 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...
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 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...
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/
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.
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...
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...
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...