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

2023 API and CLI Change Log

2023 API and CLI Change Log

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

[2021-08-17 Update]
Please note upcoming changes to Canvas APIs: From the Engineering Deck: Instructure & GraphQL

 

2023-12-16

Announcement date: 2023-11-10

CD2 Breaking Change

Please see Phase 1 released 2023-11-22.

Major schema changes are coming.

Table

Column

Changes

Description

web_logs

user_agent_id

Phase 2: Column is removed. 

HTTP methods used in the Canvas API.

user_agents

Full table

Phase 2: the table is removed completely. No queries possible after 16 December, 2023.

 

 

 

2023-11-22

Announcement date: 2023-11-10

Changes

LTI Advantage API calls, which encompass any API request initiated by an LTI 1.3 tool, such as those involving the Assignments and Grades Service, respond with an HTTP 404 Not Found status code in cases where the subject of the call, typically a course, has been deleted. This behavior aligns with the standard practice observed in the Canvas API, where the call is prevented from continuing under such circumstances.

 

CD2 API and CLI Updates

In order to improve stability and performance, some major revisions are triggered to the weblogs and user_agent tables, thus the following improvements and schema changes are introduced.

The schema version of the tables below will be increased.

Table

Column

Changes

Description

web_logs

New: user _agent, type <string> 

Introducing a new column: user_agent, type <string> 


The maximum length of the string is 255. Any user agent longer than 255 characters will be replaced by the “__dap_oversized_truncated__" string literal.

User agent, as the header received from the user's browser/client software.

web_logs

user_agent_id

Phase 1: Will populate the user_agent_id field with NULL going forward and populate the user_agent column instead.

HTTP methods used in the Canvas API.

user_agents 




Full table

Phase 1: stop adding new rows to this table effective 11.10.23. 



 

web_logs

web_application_controller

From ENUM to

HeatherAhern_0-1699644048181.png

The controller that the Canvas web application used to service this request.

web_logs

web_application_action

From ENUM to

HeatherAhern_2-1699644177146.png

The action in the Canvas web application used to service this request.

 

Note: Customers are strongly encouraged to adjust their existing queries (if applicable) as soon as possible. The user_agents table will be deprecated on 16 December, 2023 and users should switch over to using the new column. In the meantime, in order to avoid hidden inconsistencies in reports which this change may introduce downstream, a similar query to leverage both tables can be used if needed:

SELECT web_logs.*, COALESCE(web_logs.user_agent, user_agents.http_user_agent) AS user_agent

FROM web_logs

LEFT JOIN user_agents ON web_logs.user_agent_id = user_agents.id;

CLI changes: Enhancements to support the user_agent_id related change.

For those who use the CLI tool, it will automatically populate the new user_agent column in the weblogs table with the values from the user_agents table. (Pre-condition: the user_agents table exists in the DB/DW along with the web_logs. If it is not present, the tool will not be able to pre-populate the column).

 

2023-11-13

Announcement date: 2023-11-10

CD2 API and CLI Update

The schema version of the tables below will be increased.

Table

Column

Changes

Description

content_tags

context_id

NULLABLE false → true

 

 

2023-11-02

Announcement date: 2023-11-02

CD2 API Schema Update

Affected users: Admin

New ENUM values are added to the web_logs table schema. Additionally, the schema changes are backwards compatible.

The schema version of the table is increased.

Table

Column

New ENUM values

Description

web_logs

web_application_controller

smart_search

The controller that the Canvas web application used to service this request.

web_logs

HTTPMethod

MERGE,
NOTIFY, MOVE, 
COPY, 
UNSUBSCRIBE, 
MKACTIVITY, 
SUBSCRIBE 

HTTP methods used in the Canvas API.

 

 

2023-10-21

Announcement date: 2023-09-18

Addition

Calendar Events

  • Recurring events in a series have a series_uuid to identify the series it belongs to and an rrrule value that describes the schedule for how the events in the series release. The first event in the series has series_head value that is true.

Create a calendar event

  • Calendar_event [duplicate][frequency]
  • Calendar_event [rrule]

 Update a calendar Event,

  • The parameter which description is updated.
  • Calendar_event [rrule]

 Delete a calendar event

  • The parameter which description is updated.

Media Objects API

  • PUT /api/v1/media_attachments/:attachment_id/media_tracks
  • GET /api/v1/media_attachments
  • GET /api/v1/courses/:course_id/media_attachments
  • GET /api/v1/groups/:group_id/media_attachments
  • PUT /api/v1/media_objects/:media_object_id
  • PUT /api/v1/media_attachments/:attachment_id

Changed

  • PUT /api/v1/media_objects/:media_object_id/media_tracks
  • GET /api/v1/media_objects
  • GET /api/v1/courses/:course_id/media_objects
  • GET /api/v1/groups/:group_id/media_objects

 

2023-10-15

Announcement date :2023-09-27

Beta Availability date: 2023-09-29 (Edited on 2023-09-28)

Catalog Data Available in Canvas Data 2

Affected Users: Admin

A new data source is added to Canvas Data 2: Catalog product tables. 

As part of this release, a new namespace is introduced: catalog

Tables exposed: See the Data Access Platform documentation page. (Contains foreign key (FK) relations to Catalog and Canvas tables.)

Also see the CD1 to CD2 mapping sheet and the updated Entity relationship diagram (ERD).

Example query: {{BASE_URL}}/dap/query/catalog/table/orders/data

The schema of the table can be queried via: {{BASE_URL}}/dap/query/catalog/table/orders/schema

Those users will have Catalog datasets who are Catalog license owners. All other users will receive empty tables. Additionally, the CLI is prepared to handle Catalog tables. See the Client Library release notes below for more details.

Important: At this stage, the release is labeled as a BETA release, publicly available for anybody to try and provide feedback.

 

CLI and Python Library improvements

Affected users: Admin

A new version 0.3.14 of the client library is published to PyPI. From this version onwards, the CLI is supporting:

  • Retrieving datasets (downloading snapshot/incremental query results) from the catalog namespace.
  • Loading the downloaded datasets into a Postgres DB under the catalog namespace.
  • Loading the downloaded datasets into a MySQL DB by adding the catalog prefix to each (i.e. catalog__order), in order not to overlap with Canvas or other tables in the future. (The namespace as a prefix is only added for the catalog tables).

Example: dap --initdb --connection-string mysql://scott:password@localhost/testd --namespace catalog --table orders

The default namespace in the CLI is canvas. In case the namespace is not defined, it is assumed that a canvas table is requested. Nevertheless, users are encouraged to consistently add the namespace in the commands as a best practice, to explicitly define to which product the queries refer to.

Important: At this stage, the release is labeled as BETA release, publicly available for anybody to try and provide feedback.

 

2023-10-11

Announcement date: 2023-09-29

Addition

Assignment Overrides

  • The API override title includes Course Pacing when applicable.

 

2023-09-27

Announcement date: 2023-09-27

CD2 API schema changes

Affected Users: Canvas Admins

New ENUM values are added to the web_logs table schema.

The schema changes are backwards compatible.

The schema version of the table will be increased.

Table

Column

Changes

Description

web_logs

web_application_controller

New ENUM values: webhooks, support_helpers/submission_lifecycle_manage, polling/poll_choices, polling/poll_submissions

The controller that the Canvas web application used to service this request.

web_logs

web_application_action

New ENUM values: activate_role, add_domain, group_alias, media_object_redirect, rubric_assessments_read_state, show_observer, check_title_availability, pages, open, requeue, course_creation_accounts 

The action in the Canvas web application used to service this request.

 

2023-09-16

Announcement date: 2023-08-21

Changed

Create/link an Outcome and Update an Outcome- PFS-19845

  • API accepts decaying_average as a calculating method. Similarly, when queried, api shows decaying_average as a calculation method.
    • Note: Users who were using "decaying_average" when setting up new outcomes through the API are now using the updated standard decaying average.

Addition

Create/link an Outcome and Update an Outcome- PFS-19845

  • API accepts weighted_average as a calculating method. Similarly, when queried, api shows weighted_average as a calculation method.

Outcomes Import Format Documentation

  • When importing an outcome via CSV, the new weighted average calculation remains labeled as decaying_average and the new decaying average is added as standard_decaying_average.

 

2023-08-30

Announcement date: 2023-08-18

Addition

SIS Import Format Documentation

Diffing Mode documentation had the following addition:

  • Likewise users removed between diffed batches can be marked as 'suspended' if the diffing_user_remove_status is set to suspended. If you prefer to leave removed objects alone in diffed imports, pass skip_deletes=true instead of either of these (this will apply to all object types, not just users and enrollments).

Related idea: [SIS] Treat missing users as "suspended" rather than "deleted" when Diffing

 

2023-08-23

Announcement date: 2023-08-23

CLI release version 0.3.11

Affected User: Canvas Admins

The Python Client Library and CLI will support the MySQL database protocol dialect.

Notes:

  • This tool, similarly to the PostgreSQL, requests the data in JSON format, and uses the prepared statement of INSERT … ON CONFLICT … DO UPDATE SET to insert (or on conflict, update) the data in the database.

  • Internally, it depends on Python libraries SQLAlchemy (which provides an object-relational mapping) and aiomysql.

  • Warning: aiomysql is classified as being in alpha development status. Instructure cannot assume responsibility for any potential changes or consequences resulting from its usage.

  • To update your CLI to this new version use the following command: pip3 install instructure-dap-client --upgrade --upgrade-strategy=eager

 

The tool will work with the following commands:

  1.  init_db (to populate an empty (MySQL) database from a snapshot),
  2.  sync_db (to insert new, delete, and update existing records returned by the incremental query) 
  3.  drop_db (delete the table from the database which was previously created with init_db). 

Typically, the connection string looks as follows:
dialect://username:password@host:port/database

 

CLI examples for loading data to a MySQL DB:

  • dap initdb --help

Example: dap initdb --db-connection-string mysql://username:password@host:port/database --namespace canvas --table accounts

  • dap syncdb --help

Example: dap syncdb --db-connection-string mysql://username:password@host:port/database --namespace canvas --table accounts

  • dap dropdb --help

Example: dap dropdb --db-connection-string mysql://username:password@host:port/database --namespace canvas --table accounts

Alternatively, one can choose to store the connection string in environmental variables. For more details please see the CLI documentation.

 

2023-08-16

Announcement date: 2023-08-10

Addition

Create a login 

The Create a login API is expanded to allow accounts with trust relationships to add logins to a existing users in another trusted account, like the SIS Import login.csv process already allows for, by adding the following fields:

  • existing_user_id
  • existing_integration_id
  • existing_canvas_user_id
  • root_account

 

2023-08-07

Announcement date: 2023-08-07 

CD2 API schema changes

Affected User: Canvas Admins

New ENUM values are added to the web_logs as well as user_agents table schema.

The schema changes are backwards compatible.

The schema version of both tables will be increased.

Table

Column

Changes

Description

user_agents

http_user_agent

NULLABLE false → true

The user agent string sent by the HTTP client.

web_logs

web_application_controller

New ENUM values: api/v1/provisions, eportfolios_api, live_assessments/assessments, live_assessments/results

The controller that the Canvas web application used to service this request.

web_logs

web_application_action

New ENUM values: add_sftp_key, stuck_singletons, stuck_strands, summary_list, unconfirmed_channel_report, unstuck, health_prognosis

The action in the Canvas web application used to service this request.

web_logs

http_methods

New ENUM values: MKCOL, PROPPATCH, CHECKOUT, UNLOCK

N/A

 

2023-08-02

Announcement date: 2023-07-21 

Changed

Outcomes Import Format Documentation

The following descriptions are updated:

  • Calculation_method
  • Calculation_int
  • Mastery_points
  • ratings

Update a course

When the Manage a Course Content-add/edit/delete permission is disabled, users can no longer make changes to course settings via the API. This improves parity between the UI and the API.

 

2023-07-19

Announcement date: 2023-07-10

Users API

Addition

First_name and last_name are added to the Users API response by default.

 

2023-07-17

Announcement date: 2023-07-17

CD2 API schema changes

Affected User: Canvas Admins

New ENUM values are added to the web_logs table schema.

The schema changes are backwards compatible.

The schema version of the table will change from 1 to 2.

Table

Column

New ENUM values

Description

web_logs

web_application_controller

'jobs_v2', 'assignment_extensions', 'internal_analytics_dashboards_api', 'blackout_dates', 'internal_analytics_api', 'disable_post_to_sis_api', 'lti/token', 'moderation_set', 'alerts', 'account_grading_settings', 'outcomes_academic_benchmark_import_api', 'quizzes_respondus/security', 'support_helpers/due_date_cache', 'sftp_users', 'lti/subscriptions_api', 'jobs', 'lti/ims/tool_consumer_profile', 'quizzes/course_quiz_extensions', 'oauth_proxy', 'lti/ims/tool_proxy', 'grading_schemes_json', 'login/twitter', 'polling/polls', 'login/oauth', 'new_quizzes/quizzes_api', 'polling/poll_sessions', 'phone_home', 'demo_snapshots'

The controller that the Canvas web application used to service this request.

web_logs

web_application_action

'mark_all_as_read', 'list_google_docs', 'abort_all_pending', 'landing', 'reset', 'readiness', 'department_statistics_by_subaccount', 'invite', 'android_assetlinks', 'api_create_success', 'remove_alignment', 'restore_states', 'batch_retrieve', 'attachment_content', 'manage', 'closed', 'redirect_proxy', 'lookup', 'xml_schema', 'submissions_clear_unread', 'quota', 'advantage_access_token', 'delete_recording', 'migration_status', 'job_stats', 'delete_for_all', 'formatted_answer', 'get_courses', 'list_keys', 'mark_topic_unread', 'self_enrollment', 'test_ldap_bind', 'compress_dates', 'reset_verifier', 'deleted_index', 'outcome_result', 'preview_html', 'available', 'section_alias', 'clusters', 'start', 'internal_analytics', 'detail_list', 'update_sso_settings', 'item_details', 'multiple_gradeable_students', 'consortium_users', 'restore_user', 'disable_post_to_sis', 'batches', 'show_default_grading_scheme', 'turnitin_confirmation', 'list', 'grouped_info', 'fail', 'apple_app_site_association', 'universal_link_oauth2_dummy', 'test_ldap_connection', 'copy_course_status', 'deep', 'store', 'test_ldap_search', 'stop_debugging', 'registration_return', 'media_upload_url', 'opened', 'object_snippet', 'update_region', 'for_login', 'for_grader', 'set_csp_setting', 'test_ldap_login', 'api_file_status', 'clear_file_session', 'restore_message', 'message_redirect', 'prestart', 'add_users', 'category_index', 'resubmit_to_vericite'

The action in the Canvas web application used to service this request.

 

2023-07-05

Announcement Date: 2023-06-23

CLI and Python Library improvements

Affected User: Canvas Admins

CD2 API and CLI: new data source added, release contains the Canvas Apache weblog requests.

Due to this, a new namespace will be introduced: canvas_logs

Tables exposed: web_logs, user_agent

Example query: {{BASE_URL}}/dap/query/canvas_logs/table/web_logs/data

The schema of the table can be queried via: {{BASE_URL}}/dap/query/canvas_logs/table/web_logs/schema

Note to the user: as this table contains append only data, it can be very big, so we encourage the usage of incremental queries as opposed to snapshots whenever possible.

The CLI 0.3.9 version is prepared to handle this table and load it into a Postgres DB.

CD2 CLI release: 0.3.9

The Client Library will adopt an extensible plugin architecture. Integrations to various database engines would become plugins. This move opens up the opportunity to contribute integrations for other database engines in the future, e.g. add Oracle, MSSQL, MySQL or SQLite support in addition to PostgreSQL support that exists today. With the version 0.3.9 release, PostgreSQL support has been re-written as a plugin but remains bundled with the Client Library package. While the Python class interfaces may be subject to change, early adopters are welcome to explore the solution and leave feedback as we solidify the plugin framework.

Additional changes, and improvements:

  • Added support for converting new data types, among which the UUID conversion is affecting the current schema (see known issues)
  • Added keep-alive settings for the client to avoid possible timeout in some cases when transferring files over http
  • Improved exception handling

 

2023-06-21

Announcement Date: 2023-06-09

API Addition

Save enabled account calendars

  • Enabled_account_calendars[]- This addition displays only visible account calendars where the user has a user-account association and only calendars a user has added to the modal.

 

CLI and Python Library improvements 

Affected User: Canvas Admins

A new version 0.3.8.2 of the client library is published to PyPI. It’s more lenient when it’s receiving timestamp values that don’t fully comply with RFC 3339 and ISO 8601. If the timestamp looks like a BCE date, it is replaced with 1 CE (the minimum possible date representable in the four-digit format). If the timestamp looks like a large CE date (e.g. 23000 CE), it is replaced with 9999 CE (the maximum possible date representable in the four-digit format).

Note to the user: To see which values were adjusted, enable the logging of these values into a log file with the newly introduced logfile command. Please note that it will collect all logs, not just the clamped values.

Example: dap --logfile cd2_cli.log initdb --connection-string postgresql://scott:password@localhost/testd --namespace canvas --table accounts

Details of each timestamp correction can be found in the logs by searching for “Timestamp format error encountered”.

Starting at version 0.4.0, the Client Library will adopt an extensible plugin architecture. Integrations to various database engines become plugins, the first plugin being PostgreSQL support. This move opens up the opportunity to contribute integrations for other database engines in the future, e.g. add Oracle, MSSQL, MySQL or SQLite support. 

Note to user: Python programming interface changes slightly, command-line interface is not impacted.

 

CD2 API and CLI: new data source added, release contains the Canvas Apache weblog requests.

Due to this, a new namespace will be introduced: canvas_logs

Tables exposed: web_logs, user_agent

Example query: {{BASE_URL}}/dap/query/canvas_logs/table/web_logs/data

The schema of the table can be queried via: {{BASE_URL}}/dap/query/canvas_logs/table/web_logs/schema

Note to the user: as this table contains append only data, it can be very big, so we encourage the usage of incremental queries as opposed to snapshots whenever possible.

The CLI is prepared in an upcoming version to handle this table and load it into a Postgres DB.

 

2023-06-17

Announcement date: 2023-03-20

Changes

LTI Tools launched from New Quizzes can communicate with Canvas via postMessage

To utilize the frame size portions of the postMessage API when embedded in the New Quizzes Rich Content Editor, LTI tools using postMessage API must send messages to window.parent. Previously messages were sent to window.top.

 

2023-06-07

Announcement Date: 2023-06-01

Addition

Accounts API

List active courses in an account

  • Added parameter: public-If true, include only public courses. If false, exclude them. If not present, do not filter on this basis.

 

2023-05-24

[2023-05-23 Update: 416 error code is changed to 400 error code and a note is added to Context_module_progressions.]

CD2 CLI and Client Library Improvements

Affected Users: Admin

Using syncdb is possible even if the schema of the table hosted in CD2 evolves. If the client library detects a mismatch between the locally stored schema version and the schema version exposed by CD2, the table structure of the local database is updated to match the current structure of the data in CD2.

In addition, this release delivers the following minor improvements:

  • Improved error reporting (e.g. on missing environment variables for parameter-less DAPClient intializer)

  • Better alignment of client-side and server-side error definitions

  • Improved logging (use Python logger instance specific to the library)

  • Improved integration with static type checkers (e.g. mypy)

Note: users can upgrade to version 0.3.8 by executing the command: pip3 install instructure-dap-client --upgrade --upgrade-strategy=eager

 

CD2 API schema changes

Affected Users: Admin

Note: Due to the schema change, the access to the tables may be restricted while the changes take effect. Once the schema change is complete, there is no action item for the user unless a Status code 400 is received. In this case they will have to drop the table and request a new snapshot, as indicated by the error message.

We are going to add new columns to some already existing tables and make a few more necessary changes. 

The schema changes are backwards compatible.

Table

New column

Type

Description

attachments

root_attachment_id

integer <int64>

Foreign key to the source file from which this file was copied and created. Defaults to 'NULL' when this is the only copy.

groups

default_view

string

Default view for groups is the feed.

context_module_progressions

Note: Due to reload in the data lake, table must be dropped in the database and a new snapshot is triggered.

lock_version

integer <int32>

Lock version of the module progression.

quiz_questions

question_data.points_possible

number <float64>

Maximum number of points that can be awarded for answering the question correctly.

 

Table

Column

Change

learning_outcome_results

artifact_type

NULLABLE falsetrue

assignments

submission_types

enum extended with default_external_tool

 

 

2023-05-10

Announcement date: 2023-04-28

Canvas Data 2 API Specification

DAP Client Library Version 0.3.7 Update

Affected Users: Admin

CD2 CLI version 0.3.8 is published to PyPI. This release:

  • fixes a bug in the command syncdb whereby an INSERT … ON CONFLICT DO NOTHING would be executed instead of a DO UPDATE SET, causing updated records to be discarded in a synchronization process.
  • improves execution speed for column-level type and format conversions.
  • automatic schema upgrade for the replication target database

All users are strongly encouraged to update. Previous versions of the 0.3.x series will no longer be available.

Note for admin: Users of previous client library versions should issue a dropdb, followed by an initdb for all replicated tables to reconcile their local database with CD2. After this, it’s safe to issue a syncdb command in the new client library version 0.3.7. Commands snapshot and incremental are not affected.

 

Changed

Line Item/Result URLs are Unique with Multiple Subdomains

Announcement date: 2023-05-09

  • In Account Settings, the account’s primary domain found under the Canvas Cloud information header is used to generate third-party resource links. Previously, third-party tools who stored resource links on their side experienced an issue with institutions that had multiple domains. Those same resources could have had multiple IDs, one for each domain used.

Note: This does not require any action from the institution or the third-party tool, and will ensure that only one unique ID is created per resource.

The affected values are:

 

2023-04-26

Announcement Date: 2023-04-14

Addition

Configuring LTI Tools

Canvas_environment to LTI 1.3 Login request

Affected Users: Developers

For LTI 1.3 tool developers, the LTI 1.3 login initiation request now contains the new “canvas_environment” parameter, with possible values “prod”, “beta”, and “test”. Tools can use this to decide whether to redirect to a beta/test version of the tool before continuing with the LTI launch. 

Note: This replaces the “environments” config option for LTI 1.1 tools, since setting that option on 1.3 tools was not officially supported and resulted in failed 1.3 launches in non-prod Canvas environments.

For more technical information about using this feature, please see our Configuring LTI Advantage Tools API resource document.

Note for Admin: No action is needed, and there is no change to current behavior. Tools can choose to support this for their own development purposes.

Related Idea: [External Tools] Support environment variables for LTI 1.3

Updated 2023-04-20

 

Changes

Canvas Data 2 API Specification

DAP Client Library Version 0.3.6 Update

Affected Users: Admin

  • Enumeration types. Commands initdb and syncdb would create PostgreSQL enumeration types omitting the placeholder member “__dap_unspecified__”. Initialization and synchronization for tables that have columns of an enumeration type would fail when this value is received, now or in the future. Users should drop and re-create any tables that have enumeration types created by older versions.
  • Improved error reporting. Occasionally, Instructure API Gateway responds with an unexpected HTML payload instead of a JSON message that can de-serialize into a well-known type. This response is not understood by the client library, which throws an error. Error handling has been improved to give a more meaningful message to the user.
  • Stability improvements. Occasionally, the client library would fail on a timeout, printing a cryptic message to the user. The likelihood of these timeouts has been reduced.
  • Improved documentation. Code and documentation have drifted, they have been reconciled. New Python code examples have been added on how to initialize a local database, and keep it synchronized with data in CD2. (Previously, this functionality was undocumented.)
  • Improved execution speed. Removed extra layers of function calls and object instantiations in tight loops that are executed for each record as they are copied from CD2 to a relational database.
  • Improved error reporting. Some noisy warning messages that corresponded to no real error have been removed.

All users are encouraged to update (type in pip3 install instructure-dap-client --upgrade --upgrade-strategy=eager to receive the latest version of both the client library and all dependencies). Previous versions in the 0.3.x series are no longer available.

2023-04-15

Announcement date: 2023-03-20

Additions

New Quizzes

New Quiz CRUD Operations Endpoints

  • New API quiz related endpoints (create, get, list, update, and delete a quiz) have been added.
    • Note: Quiz Item related endpoints will be released at a later date. Additionally, at the time of this announcement there is a known issue when creating a course and trying to create a New Quiz with the API without launching any New Quizzes on the UI, users will receive an error. The workaround is to create and build one New Quiz in the course. This should be resolved before the production release. 

For more information, see the New Quizzes quiz operations API in beta blog.

 

Announcement Date: 2023-03-28

New Quizzes

New Quiz Item CRUD Operations Endpoints 

  • New API quiz item related endpoints (get, list, create, update, delete a quiz item) have been added.

Note: Beta Availability date is 2023-03-30

2023-04-12

CLI Update

Announcement Date: 2023-04-05

Version 0.3.1 to DAP Client Library and CLI includes:

  • fixes a regression with incremental queries where interchanged use of naive and timezone-aware datetime instances in library code can cause updates to be missed with non-UTC timezones
  • fixes documentation of public-facing member functions where the functions had wrong or misleading doc-string summary and/or parameter descriptions
  • fixes a race condition in synchronizing a local database in which the same objects were manipulated both in a synchronous and an asynchronous context with the risk of data loss
  • introduces new package dependencies aiohttp and aiofiles for asynchronous data processing
  • removes direct package dependency on requests

2023-02-15

Announcement date: 2023-02-03

Changed

Line Item/Result URLs are Unique with Multiple Subdomains

  • In Account Settings, the account’s primary domain found under the Canvas Cloud information header is used to generate third-party resource links. Previously, third-party tools who stored resource links on their side experienced an issue with institutions that had multiple domains. Those same resources could have had multiple IDs, one for each domain used.

Note: This does not require any action from the institution or the third-party tool, and will ensure that only one unique ID is created per resource.

The affected values are:

Added

Course Pacing API 

Course Pacing Endpoints

  • Course Pacing API documentation for the course pace endpoints has been added. 

Note: Section pace endpoints are not documented at the time of this change log release.

 

2023-01-04

Changed

SIS Imports API

Shorten Duration of SIS Error Attachment

  • The errors_attachment URL generated in the response of the /api/v1/accounts/:id/sis_imports API has been reduced to one hour. If the download URL is expired, an authenticated user can regenerate a new URL by using sis_imports API endpoint again.

 

View 2022 Canvas API Change Log Archive

Subscribe to this document for content updates. To learn how, see Canvas Change Log FAQ 

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.