2025 API and CLI Change Log
The Change Log Archive page displays previous API changes from 2025 noted in the API Change Log. The heading date indicates the date that the API code was made available in the production environment.
2025-09-10
Announcement date: 2025-08-29
Addition
Added List assignable permissions
- Lists all permissions that can be granted to roles in the given account.
Changed
Dynamic Registration
- The registration_endpoint in the openid_configuration is updated to https://sso.canvaslms.com/api/lti/registrations. Previously, it pointed to https://canvas.instructure.com/api/lti/registrations. This change does not affect functionality.
Deprecation
Deprecation of UUID in the files API
- The UUID field is removed from the FIle API response in efforts to streamline response payloads and minimize exposure of internal identifiers.
2025-08-14
Announcement Date: 2025-08-25
Addition
DAP CLI 2.0.1
Hotfix: version of dependency package `asyncclick` is pinned to 8.1.8 because a newer version breaks DAP CLI's functionality.
2025-08-27
Announcement Date: 2025-08-15
Addition
Bulk Manage Differentiation Tags
Bulk Removing Tags from Users in a Course
- An API endpoint lets you provide a course ID, a set of user IDs, and a tag ID to remove the specified tag from those users within the course context.
Bulk Retrieving User Tags by Course
- An API endpoint allows you to send a course ID along with one or more user IDs to retrieve the tags associated with those users.
2025-07-02
Announcement Date: 2025-06-06
Addition
DAP CLI 2.0.0
DAP CLI 2.0 introduces significant updates and breaking changes.
Key Changes:
Logging and Debugging
- Configurable log levels, file output, and JSON format support.
- Enhanced metadata in JSON logs (namespace, table, clientId).
User Experience
- Improved CLI output for better clarity and accessibility.
- Revised help/manual pages with web documentation links.
- Clearer error messages with actionable next steps.
Usage Tracking
- Anonymous usage tracking for CLI improvements.
- Tracks version, OS, database, commands, etc.
- Opt-out via `--no-tracking` flag or `DAP_TRACKING=false/0/no/off` environment variable.
- Transparent tracking with a recorded events file.
Breaking Changes
- Incompatible stdout with previous configurations and logging expectations.
Upgrade Instructions
pip install -U instructure-dap-client
Refer to the updated documentation for detailed information before upgrading.
2025-06-17
Announcement Date: 2025-06-06
Addition
DAP Query API
New "non_collaborative" column in `canvas` namespace's `groups` and `group_categories` tables
- A new boolean column, `non_collaborative`, has been added to the `groups` and `group_categories` tables in the Canvas Data 2 (CD2) Query API.
- `non_collaborative: true` indicates a group or group category used for tagging purposes (non-collaborative).
- `non_collaborative: false` indicates a traditional collaborative group or category.
- Default value is `false` and the column is non-nullable.
- DAP CLI users will automatically receive the new column and values.
2025-06-04
Announcement Date: 2025-05-23
Addition
Added sort=id
- This update improves performance when retrieving large volumes of user data. For automated processes that download thousands of user records, using sort=id is strongly recommended.
- Instructure may rate-limit requests that do not include sort=id and access more than 50 pages in the future, with prior notice provided in accordance with our API Policy. For bulk data needs, consider using a provisioning report as an alternative.
2025-04-19
Announcement Date: 2025-03-19
Addition
- Admins and instructors can use the API to set quiz-level and course-level accommodations for New Quizzes.
2025-03-31
Announcement Date: 2025-03-19
Addition
A new column, unified_tool_id, will be added to the context_external_tools table in the Canvas namespace.
Column Details:
- Name: unified_tool_id
- Type: Optional[Annotated[str, MaxLength(255)]]
- Purpose: Provides a unique identifier for commonly used LTI tools, enabling more accurate tracking and reporting across institutions.
Important Notes:
- Homegrown LTI tools and usage via Redirect tools will not be assigned a unified_tool_id.
- Tool IDs may change dynamically going forward, but historical data will not be retroactively updated.
2025-03-26
Announcement Date: 2025-03-14
Addition
- Added Context_external_tool_id
- The Canvas identifier for the LTI 1.3 External Tool that the LTI Resource Link was originally installed from. Caution! The resource link url must match the tool’s domain or url.
- Close notification for user. Destroy notification for admin.
- Added If the current user is an admin and they pass a remove parameter with a value of “true”, the account notification will be destroyed. This affects all users.
2025-03-12
Announcement Date: 2025-03-12
Addition
DAP CLI 1.4.0
DAP CLI 1.4.0 introduces multi-table and namespace-level operations, simplifying workflows and enabling users to execute commands across multiple tables in a single command. This release maintains full backward compatibility while significantly improving user experience.
New Features:
Namespace-Level Operations
Supports all relevant commands: snapshot, incremental, schema, and database management (initdb, syncdb, dropdb) for all or selected tables within a namespace. (list is an exception since it lists all tables in the selected namespace, no --table flags available for that command)
Option to specify individual tables within the namespace for more targeted operations.
Error Handling Enhancements
Detailed logs for partial successes and failures.
Retry mechanisms for incomplete operations.
Backward Compatibility
Single-table commands (--table <table_name>) remain unchanged.
Use Case Examples:
dap initdb --namespace canvas --table all – Create schemas for all tables in the canvas namespace.
dap incremental --namespace canvas_logs --table accounts,courses – Perform incremental updates for multiple tables.
2025-02-26
Announcement Date: 2025-02-14
Addition
- Added lock_comment- If is_announcement and lock_comment are true, ‘Allow Participants to Comment’ setting is disabled.
Changed
Index of active global notification for the user
- When include_all is set to true and the user has an admin account, all past and future announcements are included. Additionally, an author object with minimal author information is added.
2025-02-10
Announcement Date: 2025-01-28
Addition
New Table: collaborations in the canvas namespace through DAP Query API.
- Parameters:
- id (int64) – primary key The ID of the collaboration.
- collaboration_type (Annotated[str, MaxLength(255)] | None) – The type of the collaboration.
- document_id (Annotated[str, MaxLength(255)] | None) – The ID of the document.
- user_id (users| None) – The ID of the user.
- context_id (accounts | groups | courses | None) – The ID of the context.
- context_type (collaboration__context_type | None) – The type of the context.
- url (Annotated[str, MaxLength(255)] | None) – The URL of the collaboration.
- uuid (UUID | None) – The UUID of the collaboration.
- data (json | None) – The data of the collaboration.
- created_at (datetime) – The date this collaboration was created.
- updated_at (datetime) – The date this collaboration was updated.
- description (bounded_str | None) – The description of the collaboration.
- title (Annotated[str, MaxLength(255)]) – The title of the collaboration.
- workflow_state (Annotated[str, MaxLength(255)]) – The workflow state of the collaboration.
- deleted_at (datetime | None) – The date this collaboration was deleted.
- context_code (Annotated[str, MaxLength(255)] | None) – The context code of the collaboration.
- type (Annotated[str, MaxLength(255)] | None) – The type of the collaboration.
- resource_link_lookup_uuid (UUID | None) – The UUID of the resource
If you’re a DAP CLI user, no action is required.
2025-01-29
Announcement Date: 2025-01-17
Addition
Restore a deleted authentication provider
- Reinstate a previously deleted authentication provider to active status. This option is available exclusively to admins with permission to manage account settings for the specified root account.
2025-01-10
Announcement Date: 2024-12-16
Addition
Summary:
DAP CLI version 1.3.1 addresses a bug affecting PostgreSQL users when running the syncdb command after multiple new enums were added to the DAP Query API.
Details of the Issue
- Affected Command: dap syncdb
- Cause: The bug occurred because DAP CLI’s previous dependency (pysqlsync < 0.8.1) was not equipped to handle cases where multiple new enums were added to the API at once.
- Impact: PostgreSQL users encountered errors when attempting to sync their databases using the CLI.
Resolution
- Updated the DAP CLI dependency on pysqlsync to version 0.8.1, which correctly handles multiple new enums during synchronization.
- Added a new test case to our automated test suite to cover scenarios involving multiple enum additions, ensuring this issue is caught in future releases.
How to Update
To upgrade to the latest version of DAP CLI, run the following command:
pip install -U instructure-dap-client
Or download directly from pypi.org.
2025-01-09
Announcement Date: 2024-12-16
Addition
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.
- Conversation_messages, submission_comments, submissions
- Column: media_comment_type
- New Values:
- audio/aac, audio/amr, audio/flac, audio/mp4, audio/mpeg, audio/ogg, audio/vnd.dlna.adts, audio/wav, audio/webm, audio/x-m4a, audio/x-ms-wma, audio/x-wav, video/3gpp, video/avi, video/mp4, video/mpeg, video/ogg, video/quicktime, video/webm, video/x-m4v, video/x-matroska, video/x-ms-asf, video/x-ms-wmv, video/x-msvideo
- New Values:
- Column: media_comment_type
- access_tokens
- Column: workflow_state
- New Value: pending
- Column: workflow_state
- assignment_overrides
- Column: set_type
- New Value: Course
- Column: set_type
- assignments
- Column: workflow_state
- New Values:
- outcome_alignment_cloning
- failed_to_clone_outcome_alignment
- New Values:
- Column: workflow_state
- attachments
- Column: file_state
- New Values:
- public
- New Values:
- Column: file_state
- developer_key_account_bindings
- Column: workflow_state
- New Value: deleted
- Column: workflow_state
- discussion_topics
- Column: discussion_type
- New Value: not_threaded
- Column: discussion_type
- grading_standards
- Column: workflow_state
- New Value: archived
- Column: workflow_state
- learning_outcomes
- Column: calculation_method
- New Values:
- weighted_average
- standard_decaying_average
- New Values:
- Column: calculation_method
- master_courses_master_content_tags
- Column: content_type
- New Value: MediaTrack
- Column: content_type
- rubrics
- Column: workflow_state
- New Values:
- archived
- draft
- New Values:
- Column: workflow_state
2025-01-18
Announcement Date: 2024-11-20
Beta Environment Availability: 2024-12-16
Addition
- An API endpoint is added to allow the export of Item Analysis or Student Analysis reports.
- POST: /quiz/v1/courses/:course_id/quizzes/:assignment_id/reports
Related Idea: [API] Student Responses to Questions in New Quizzes and Grades Received per Question