Skip to main content
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2024 API and CLI Change Log

2024 API and CLI Change Log

The Change Log Archive page displays previous API changes from 2024 noted in the API Change Log. The heading date indicates the date that the API code was made available in the production environment.

2024-12-18

Announcement Date: 2024-12-06

Addition

Account Reports

  • Added Abort a Report endpoint.

Changed

Accounts 

  • Restored the 404 error for the /accounts/:account_id/users/:user_id endpoint when attempting to view deleted users.

2024-11-29

Announcement date: 2024-11-29

Release Data Access Platform (DAP) CLI & Client Library v 1.3.0

DAP CLI

New Features

  • Added support for Microsoft SQL Server 2019 dialect

Improvements

  • Handling cached query expiration from DAP Query API
  • Adding DAP CLI & Lib version number to logs
  • More straightforward database connection configuration for the Library

Known Issues

  • Issue
    • When running DAP CLI on Windows with native Python versions, users may encounter the following error when processing large tables: ErrorDataReceived - assert self._buffer, 'Data should not be empty'
  • Status
    • This issue has been observed but cannot yet be consistently reproduced. The team acknowledges the problem and is actively investigating the root cause.
  • Next Steps:
    • Updates will be provided as progress is made toward a resolution.

Supported Platforms

  • The client library is now tested and supported on:
    • Python versions:
      • 3.11
      • 3.12
    • Operating systems:
      • MacOS 14
      • Ubuntu 22
      • Windows 11, Windows Server 2022 (via WSL-based Python only)
    • Database systems:
      • PostgreSQL 16.1 or above
      • MySQL 8.0 LTS and 8.4 LTS
      • Microsoft SQL Server 2019

For Windows environments, the DAP client library is supported only when using Python within WSL (Windows Subsystem for Linux). Native Windows Python is not currently supported due to the known issue.

2024-12-09

Announcement Date: 2024-11-25

Addition

3 new columns for assigments table in canvas namespace in DAP Query API

  1. parent_assignment_id
    • May contain foreign key references to other assignments.
    • Existing rows created before this date will have NULL unless a snapshot is taken.
  2. type
    • A varchar field, initially populated with “Assignment.”
    • May support “SubAssignment” in the future.
    • No NOT NULL constraint or default value in customer schema. Rows created before December 9, 2024, will show NULL without a snapshot.
  3. has_sub_assignments
    • A boolean field indicating if an assignment contains sub-assignments.
    • No NOT NULL constraint or default value in customer schema. Rows created before December 9, 2024, will show NULL unless updated via snapshot.

2024-11-20

Announcement Date: 2024-11-14

Addition

Index of active global notification for the user

  • Added query parameter include_all which includes all global announcements, regardless of user’s role. Only available to account admins.

2024-10-24

Announcement Date: 2024-10-11

Addition

LTI Resource Links API

  • Addition of an API that enables administrators and tool developers to create and delete new LTI 1.3 Resource Links.  Access to this API is restricted to users who possess the Manage LTI and Manage Assignments and Quizzes permissions.

2024-10-23

Announcement Date: 2024-10-18

Changed

Access Tokens

Updated access_token to be just token as utilized by the API.

2024-09-13

Announcement date: 2024-09-13

Release Data Access Platform (DAP) CLI & Client Library v 1.2.0

DAP CLI

New Features

  • Added support for secure connections to MySQL and PostgreSQL databases, ensuring encrypted communication.

Improvements

  • Error Handling for Parquet Files: The CLI now throws an exception when attempting to decompress parquet files, preventing unnecessary processing errors.
  • Optimized Memory Footprint: Reduced memory usage for CLI processes, improving performance and efficiency, especially in cloud-based environments.
  • Enhanced Logs for Issue Resolution: Added detailed system environment information (Python version, OS, database versions, and dependency packages) to logs, minimizing communication overhead between users and support teams when reporting and trying to solve issues.

Fixed Issues

  • Fixed an issue with the client library running into a none_dealloc error when replicating data to a database, which occurred when running the client on Windows using Python 3.11.

Supported Platforms

  • The client library is now tested and supported on:
    • Python versions:
      • 3.10
      • 3.11
      • 3.12
    • Operating systems:
      • MacOS 14
      • Ubuntu 22
      • Windows 11, Windows Server 2022
    • Database systems:
      • PostgreSQL 16.1 or above
      • MySQL 8.2 or later

2024-09-11

Announcement Date: 2024-08-23

Deprecation

user_notes

  • With the discontinuation of Faculty Journal feature, user_notes table is obsolete and removed from DAP Query API.

2024-08-28

Announcement Date: 2024-08-16

Addition

Create a New Course

  • Added course[post_manually]- Default is false. When true, all grades in the course must be posted manually, and will not be automatically posted. When false, all grades in the course will be automatically posted.

Related idea: [API] Add manually post grades setting to course API

Update an Account [Added 2024-09-05]

  • Added account[settings][enable_as_k5_account][value]- Enable or disable Canvas for Elementary for this account
  • Added account[settings][use_classic_font_in_k5][value]- Whether or not the classic font is used on the dashboard. Only applies if enable_as_k5_account is true.

Related Idea: [API] API access to enable Canvas for Elementary

2024-08-17

Announcement Date: 2024-07-23

Addition

LTI Resource Links API 

  • Addition of an API that enables administrators to update the Resource Link URL for content items, as well as modify any associated custom parameters. Access to this API is restricted to users who possess both the Manage LTI and Manage Assignments and Quizzes permissions.

2024-08-14

Announcement Date: 2024-08-02

Addition

Edit a user

  • Added user[pronunciation]- Sets name pronunciation on the user profile. Profiles and name pronunciation must be enabled on the root account.

2024-07-20

Announcement Date: 2024-06-20

Addition

Modules API

Learning Object Dates API- API for accessing date-related attributes on assignments, quizzes, modules, discussions, pages, and files.

  • Added Get a learning object's date information
  • Added Update a learning object's date information

2024-07-17

Announcement Date: 2024-07-05

Addition

Courses API

  • Added include []=post_manually to the following API calls:
    • Get a single course
    • List your courses

Related idea: [API] Add manually post grades setting to course API

Accounts API

  • Added include []=course_count and sub_account_count to the following API calls:
    • Get the sub-accounts of an account API call
    • List All Accounts

 

2024-06-19

Announcement Date: 2024-06-07

Addition

Update Course Settings

  • Added allow_final_grade_override to the API documentation.
    • Note: This update does not impact functionality.

Related idea: [API] Enable and Disable “Allow final grade override” option via API

2024-06-15

Announcement Date: 2024-05-22

Deprecation

  • The top-level submittedAt claim is removed from the LTI Assignments and Grade Services (AGS) Score API.

Note: The canvas extension submitted_at and the LTI spec submission.submittedAt remain available. See the Learning Tools Interoperability (LTI) Assignment and Grade Services Specification for more information.

Changed

HTTP Response

Related Blog: Forthcoming Update to API Response Header Capitalization

 

2024-06-05

Announcement Date: 2024-05-24

Addition

Courses API

Course Object

  • Added the current state of the course, also known as ‘status’.  The value will be one of the following values: ‘unpublished’, ‘available’, ‘completed’, or ‘deleted’.  NOTE: When fetching a singular course that has a ‘deleted’ workflow state value, an error will be returned with a message of ‘The specified resource does not exist.’“workflow_state”: “available”

Related idea: [API] Include course "status" in the output of the "courses" API endpoint

Changed

SIS Import Format Documentation- Courses CSV

  • In the Courses CSV table, the status description for Status is updated. Additionally, the following statement is added:
  • To view the current status of a course that has already been imported into Canvas, please fetch the course data using the get a single course API endpoint and refer to the workflow_state value returned in the Course object.

Edit a user-

    • When editing personal pronouns using the Canvas API only the Enable Personal Pronouns account setting must be enabled for admin to change user pronouns. This change does not allow users to change their pronouns when the Allow users to change their pronouns in Canvas account setting is disabled.
Related Idea: [API] Personal Pronouns should be editable through Canvas API without being editable in the UI

 

2024-05-28

Announcement Date: 2024-05-23

Canvas Badges/Credentials

Addition

Staff Management API

  • Adding a New Member to Issuer's Staff:
    •  POST /v2/issuers/{entity_id}/staff
  • Changing an Existing Member's Role: 
    • PUT /v2/issuers/{entity_id}/staff , PATCH /v2/issuers/{entity_id}/staff (works same as PUT endpoint)
  • Removing an Existing Member from Issuer's Staff:
    •  DELETE /v2/issuers/{entity_id}/staff/{emailBase64Encoded}
  • Inviting a New Member to Issuer's Staff: 
    • POST /v2/issuers/{entity_id}/staff/invitations

Note: The current endpoint PUT /v2/issuers/{entity_id} will continue to provide staff data as a readonly property.

Related Blog: Introducing Enhanced Staff Management APIs for Canvas Credentials

 

2024-04-24

Announcement date: 2024-04-12

Addition

Enroll a User

  • enrollment [sis_user_id]
    • Required if the user is being enrolled from another trusted account. The unique identifier for the user (sis_user_id) must also be accompanied by the root_account parameter. The user_id will be ignored.
  • enrollment[integration_id]
    • Required if the user is being enrolled from another trusted account. The unique identifier for the user (integration_id) must also be accompanied by the root_account parameter. The user_id will be ignored.
  • root_account
    • The domain of the account to search for the user. Will be a no-op unless the sis_user_id or integration_id parameter is also included.

Feature Flags

  • Increase_calendar_context_limit is included in the /api/v1/features/environment endpoint response.

2024-03-27

Announcement date: 2024-03-11

Affected Users: Developers

Deprecate Compromised TLS 1.2 ciphers support from Canvas Load Balancers

  • AES128-GCM-SHA256
  • AES128-SHA
  • AES128-SHA256
  • AES256-GCM-SHA384
  • AES256-SHA
  • AES256-SHA256
  • ECDHE-ECDSA-AES128-SHA
  • ECDHE-ECDSA-AES256-SHA
  • ECDHE-RSA-AES128-SHA
  • ECDHE-RSA-AES256-SHA

Add Support for TLS 1.3 with the following cipher support

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256

2024-03-20

Announcement date: 2024-03-20

Release Data Access Platform (DAP) CLI & Client Library v 1.1.0

DAP CLI

Fixed Issues

  • Fixed error “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups TO canvas__groups' at line 1” when automatically migrating the database schema from version 0.3.x to 1.0.x in MySQL databases. This occurred when the groups table (from the canvas namespace) was already present in the database.
  • Fixed an issue with the client library not cleaning up the temporary directory used for storing downloaded files.
  • Fixed error “ERROR - module 'socket' has no attribute 'TCP_KEEPIDLE'” by removing faulty/unnecessary TCP socket settings.
  • Fixed an issue with the client library not decoding URL-encoded (a.k.a percent-encoded) characters in the database username and password in the database connection string.
  • Database connection string no longer logged in plain text at debug log level.
  • Fixed error “Fatal Python error: none_dealloc: deallocating None” occurring in some cases when replicating data to a database, running the client on Windows using Python version lower than 3.12.

New Features

  • Introduced extensible enumeration (“soft enum”) data type, and an automated database migration required for clients, in preparation for upcoming schema changes in the DAP Query API.

2024-02-28

Announcement date: 2024-02-28

Release Data Access Platform CLI & Client Library v 1.0.0

DAP CLI

Fixed Issues

  • Fixed an issue with time consuming downloads of multiple file parts resulting in an HTTP 400 error.
  • Fixed an issue with calling initdb after dropdb for the same table when using PostgreSQL as the target database, caused by enum types.
  • Changed how the library passes the authentication token to the DAP server after the token is obtained (Authorization header instead of X-InstAuth header).
  • Python stack trace of exceptions is now logged only in case of loglevel ‘debug’.
  • Removed unused filter field from the TableQuery class (inherited by SnapshotQuery and IncrementalQuery).

New Features

  • Added decompress option to multiple functions when using the client library for downloading files.

2024-02-14

Announcement date: 2024-02-02

Addition

Users

  • Log users out of all mobile apps- Permanently expires any active mobile sessions for all users, forcing them to re-authorize.

2024-01-31

Announcement date: 2024-01-19

Addition

Authentication Providers API

  • refresh_metadata

 

2024-01-17

Announcement date: 2024-01-08

Addition

Communication Channels

  • bounce_count

Related idea: [Reports] Add email bounce count to the Communication Channel API

Was this article helpful? Yes No
Embed this guide in your Canvas course:

Note: You can only embed guides in Canvas courses. Embedding on other sites is not supported.