canvas
Tables and types in canvas namespace.
Tables in canvas namespace
access_tokens
Stores the access tokens for a user and developer tools.
This table in Canvas Data 2 will only share developer tool specific token metadata. All users have an option to create an access token based on their role and level of data access.
Parameters:
id (int64) –
primary key
The unique identifier for an access token record.developer_key_id (developer_keys) – The unique identifier of a developer key.
user_id (users | None) – The unique ID of the user the token acts as.
real_user_id (users | None) – If the token was created while masquerading, this is the real user doing the masquerading. Used for auditing.
last_used_at (datetime | None) – Timestamp of last access using this access token.
expires_at (datetime | None) – The expiration date/time for this token. This may be a NULL value.
purpose (Annotated[str, MaxLength(255)] | None) – For user-generated tokens, purpose can be manually set. For app-generated tokens, this should be generated based on the scope defined in the authentication process.
created_at (datetime) – Timestamp of when an access_tokens record was created.
updated_at (datetime) – Timestamp of when an access_tokens record was updated.
scopes (json | None) – A list of scopes that can be applied to access tokens. i.e.: courses.
workflow_state (access_tokens__workflow_state) – The current state of the access token record.
account_users
Join table for accounts, users and roles.
Contains users’ roles within an account (this table includes the account admins).
Parameters:
id (int64) –
primary key
The unique identifier for the users account association record.user_id (users) – The unique ID of a user.
created_at (datetime) – Timestamp of when an account_users record was created.
updated_at (datetime) – Timestamp of when an account_users record was updated.
workflow_state (account_users__workflow_state) – The current state of the account user record.
account_id (accounts) – The unique ID of an account.
role_id (roles) – The unique ID of a role.
accounts
Stores data about account objects in the Canvas system.
Accounts are most often used to represent a hierarchy of colleges, schools, departments, campuses.
Parameters:
name (Annotated[str, MaxLength(255)] | None) – The display name of the account.
id (int64) –
primary key
The ID of the Account object.deleted_at (datetime | None) – Timestamp of when the account was deleted. Will only ever be NULL for end customers.
parent_account_id (accounts | None) – The account’s parent ID, or NULL if this is the root account.
current_sis_batch_id (int64 | None) – The ID of the currently processing SIS (Student Information System) batch (if submitted via UI, not API).
storage_quota (int64 | None) – The storage quote for the account, in megabytes.
default_storage_quota (int64 | None) – The storage quota for children accounts in megabytes, if not otherwise specified.
default_locale (Annotated[str, MaxLength(255)] | None) – Language for the account.
default_user_storage_quota (int64 | None) – The default storage quota for users in the account in megabytes, if not otherwise specified.
default_group_storage_quota (int64 | None) – The storage quota for a group in the account in megabytes, if not otherwise specified.
integration_id (Annotated[str, MaxLength(255)] | None) – The account’s identifier in the Student Information System.
lti_context_id (Annotated[str, MaxLength(255)] | None) – UUID of the Canvas context in LTI standard. Secondary ID for this context, could be used in API to identify resource as well.
consortium_parent_account_id (int64 | None) – The root account of the consortium account, if this root account is part of a consortium.
course_template_id (int64 | None) – The course selected as a template for new courses created in this account. 0 if a template should not be used, nor inherited.
created_at (datetime) – Timestamp of when the account was created.
updated_at (datetime) – Timestamp of when the account was updated.
workflow_state (accounts__workflow_state) – Life-cycle state for account.
default_time_zone (Annotated[str, MaxLength(255)] | None) – The default time zone of the account. Allowed time zones are IANA time zones or friendlier Ruby on Rails time zones.
uuid (Annotated[str, MaxLength(255)] | None) – The UUID of the account.
sis_source_id (Annotated[str, MaxLength(255)] | None) – Correlated id for the record for this course in the SIS system (assuming SIS integration is configured)
assessment_question_banks
Stores data about question banks.
Question Banks are a place to house questions that can be added to quizzes across courses or accounts.
Parameters:
id (int64) –
primary key
The unique identifier for the question bank.deleted_at (datetime | None) – The time the question bank was deleted. If the question bank has not been deleted the value will be NULL.
created_at (datetime) – The time the question bank was created.
updated_at (datetime) – The time the question bank was last updated.
workflow_state (assessment_question_banks__workflow_state) – Life-cycle state for the question bank.
context_type (assessment_question_banks__context_type) – The type of context the question bank is associated with.
migration_id (Annotated[str, MaxLength(255)] | None) – The unique identifier of the migration that imported this question bank.
title (bounded_str | None) – The title for the question bank.
assessment_questions
Stores attributes of a question associated with a quiz.
The column question_data stores a variety of question data related points such as: : * question_type denotes the type of the question. Possible values are: : - calculated_question - essay_question - file_upload_question - fill_in_multiple_blanks_question - matching_question - multiple_answers_question - multiple_choice_question - multiple_dropdowns_question - numerical_question, - short_answer_question - text_only_question - true_false_question
question_text is the text of the question.
regrade_option denotes if regrading is available for the question. Possible values are: available and unavailable for question types multiple_answers_question, multiple_choice_question, true_false_question, and NULL for others. Defaults to available for the allowed question types, and NULL for the rest.
correct_comments are comments to be displayed if the student answers the question correctly.
incorrect_comments are comments to be displayed if the student answers the question incorrectly.
neutral_comments are comments to be displayed regardless of how the student answers the question.
answers is a JSON array of all possible answers.
Parameters:
name (bounded_str | None) – Name of the question.
id (int64) –
primary key
The unique identifier for the Assessment Question.deleted_at (datetime | None) – The time the question was deleted. If the question has not been deleted the value will be NULL.
created_at (datetime | None) – Time when the quiz question was created.
updated_at (datetime | None) – Time when the quiz question was last updated.
workflow_state (assessment_questions__workflow_state | None) – Life-cycle state for the quiz question.
context_id (int64 | None) – The unique identifier for the question bank’s context (account or course). No longer used as Canvas delegates to context_id of the associated AssessmentQuestion.
context_type (Annotated[str, MaxLength(255)] | None) – The type of context the question bank is associated with. No longer used as Canvas delegates to the context of the associated AssessmentQuestion.
question_data (json | None) – A variety of question data related points.
assessment_question_bank_id (assessment_question_banks | None) – The unique identifier for the assessment question bank this question is associated with.
migration_id (Annotated[str, MaxLength(255)] | None) – The unique identifier of the migration that imported this assessment question.
position (int32 | None) – The position of the question.
assignment_groups
Stores rules associated with an assignment group.
Parameters:
name (Annotated[str, MaxLength(255)] | None) – The name of the assignment group.
id (int64) –
primary key
The ID of the assignment group.created_at (datetime) – The time when the assignment group was created.
updated_at (datetime) – The time when the assignment group was updated.
workflow_state (assignment_groups__workflow_state) – Life-cycle state for the assignment group.
context_id (courses) – The unique identifier for the assignments group context (course).
context_type (assignment_groups__context_type) – The type of object represented by context_id.
default_assignment_name (Annotated[str, MaxLength(255)] | None) – The default title for an assignment when it is created in this assignment group.
group_weight (float64 | None) – The weight of the assignment group.
migration_id (Annotated[str, MaxLength(255)] | None) – The unique identifier of the migration that imported this assignment group.
sis_source_id (Annotated[str, MaxLength(255)] | None) – The Student Information System source ID of the assignment group.
position (int32 | None) – The position of the assignment group.
rules (Annotated[assignment_groups__rules, YamlStringToJsonObject()] | None) – Assignment group rules.
assignment_override_students
Stores measures related to ad hoc users for whom an assignment override exists.
Parameters:
id (int64) –
primary key
The ID of the Assignment Override Student.user_id (users) – Identifies the user.
created_at (datetime) – Timestamp of when the assignment_override_student record was created.
updated_at (datetime) – Timestamp of when the assignment_override_student was last updated.
workflow_state (assignment_override_students__workflow_state) – Life-cycle state for assignment override students record.
assignment_id (assignments | None) – Identifies the assignment the override is associated with.
quiz_id (quizzes | None) – Identifies the quiz the override is associated with.
assignment_override_id (assignment_overrides) – Identifies the assignment override dimension.
assignment_overrides
Stores records for assignment due date overrides.
There may be many records in this table for each assignment. Use the data in this table to calculate actual due, all day, lock and unlock dates/times.
Parameters:
id (int64) –
primary key
The ID of the assignment_override.created_at (datetime) – Timestamp of when the assignment_override was created.
updated_at (datetime) – Timestamp of when the assignment_override was last updated.
workflow_state (assignment_overrides__workflow_state) – Gives the workflow state of this record.
due_at (datetime | None) – The new due at date-time for this group of users.
unlock_at (datetime | None) – The new unlock at date-time for this group of users.
lock_at (datetime | None) – The new lock at date-time for this group of users.
all_day (bool | None) – Indicates if the all_day field overrides the original all_day field in the table assignment for this group of users.
assignment_version (int32 | None) – The version of the assignment this override is applied to.
set_type (assignment_overrides__set_type) – Used in conjunction with set_id, this field tells us what type of foreign relation is used.
set_id (groups | course_sections | None) – The primary key for the object type described in set_id.
due_at_overridden (bool) – Indicates if the unlock_at field overrides the original.
unlock_at_overridden (bool) – Indicates if the unlock_at field overrides the original unlock_at field in the table assignment for this group of users.
lock_at_overridden (bool) – Indicates if the lock_at field overrides the original lock_at field in the table assignment for this group of users.
quiz_id (quizzes | None) – Identifies the quiz the override is associated with.
quiz_version (int32 | None) – The version of the quiz this override is applied to.
assignment_id (assignments | None) – Identifies the assignment the override is associated with.
all_day_date (date | None) – The new date version of the due date if the all_day flag is true.
title (Annotated[str, MaxLength(255)]) – The title for this assignment_override.
assignments
This table stores attributes for assignments.
There is one record in this table for each assignment.
Parameters:
integration_id (Annotated[str, MaxLength(255)] | None) – Third Party unique identifier for Assignments.
lti_context_id (bounded_str | None) – UUID of the Canvas context in LTI standard. Secondary ID for this context, could be used in API to identify resource as well.
created_at (datetime | None) – The time at which this assignment was originally created.
updated_at (datetime | None) – The time at which this assignment was last modified.
workflow_state (assignments__workflow_state) – Current workflow state of the assignment.
due_at (datetime | None) – The due date for the assignment. Returns NULL if not present.
unlock_at (datetime | None) – The unlock date, meaning that the assignment is unlocked after this date. Returns NULL if not present.
lock_at (datetime | None) – The lock date, meaning that the assignment is locked after this date. Returns NULL if not present.
points_possible (float64 | None) – The maximum points possible for the assignment.
grading_type (assignments__grading_type | None) – The type of grading the assignment receives.
submission_types (Annotated[List[assignments__submission_types], SpecialConversion()]) – The types of submissions allowed for this assignment.
assignment_group_id (assignment_groups | None) – Identifies which assignment grouping the particular assignment is part of (assignment groups may have a scoring weight to determine how much of the assignment group contributes to the total grade).
grading_standard_id (grading_standards | None) – The ID of the grading standard being applied to this assignment. Valid if grading_type is letter_grade or gpa_scale.
submissions_downloads (int32) – Number of times submissions have been downloaded in a zip bundle.
peer_review_count (int32) – Represents the amount of reviews each user is assigned. NOTE: This key is NOT present unless you have automatic_peer_reviews set to true.
peer_reviews_due_at (datetime | None) – Timestamp for when peer reviews should be completed.
peer_reviews_assigned (bool) – True if all peer reviews have been assigned.
peer_reviews (bool) – Indicates if peer reviews are required for this assignment.
context_id (courses) – The ID of the object this assignment belongs to. Typically course.
context_type (assignments__context_type) – The type of object this assignment belongs to.
automatic_peer_reviews (bool) – Indicates if peer reviews are assigned automatically. If false, the teacher is expected to manually assign peer reviews.
all_day (bool) – True if a specific time for when the assignment is due was not given. The effective due time will be 11:59pm.
all_day_date (date | None) – The date version of the due date if the all_day flag is true.
could_be_locked (bool) – True if the assignment is under a module that can be locked.
migration_id (Annotated[str, MaxLength(255)] | None) – The unique identifier of the migration that imported this assignment. For assignments which have been imported via a content migration, an opaque identifier for the assignment in its source. This field is used by Canvas to identify when an assignment is being re-imported, and can also be used to identify multiple assignments that have been copied from the same source.
grade_group_students_individually (bool) – If this is a group assignment, boolean flag indicating whether or not students will be graded individually.
anonymous_peer_reviews (bool) – If true, hide the identities of peer-reviewing and peer-reviewed students. Only relevant if peer_reviews is true.
turnitin_enabled (bool) – Flag indicating whether or not Turnitin has been enabled for the assignment. NOTE: This flag will not appear unless your account has the Turnitin plugin available.
allowed_extensions (Annotated[str, MaxLength(255)] | None) – Allowed file extensions, which take effect if submission_types includes online_upload.
group_category_id (group_categories | None) – The ID of the assignment’s group set, if this is a group assignment. For group discussions, set group_category_id on the discussion topic, not the linked assignment.
freeze_on_copy (bool) – Indicates if assignment will be frozen when it is copied. NOTE: This field will only be present if the AssignmentFreezer plugin is available for your account.
only_visible_to_overrides (bool) – Indicates whether the assignment is only visible to overrides.
post_to_sis (bool) – Present if Sync Grades to Student Information System feature is enabled.
moderated_grading (bool) – Indicates if the assignment is moderated.
grades_published_at (datetime | None) – For assignments with moderated grading, a timestamp identifying when provisional grades were published.
omit_from_final_grade (bool) – If true, the assignment will be omitted from the student’s final grade.
intra_group_peer_reviews (bool) – Indicates whether or not members from within the same group on a group assignment can be assigned to peer review their own group’s work.
vericite_enabled (bool) – Flag indicating whether or not VeriCite has been enabled for the assignment. NOTE: This flag will not appear unless your account has the VeriCite plugin available.
anonymous_instructor_annotations (bool) – Flag indicating whether instructor annotations in document submissions for this assignment should be anonymous.
duplicate_of_id (assignments | None) – If the assignment is a duplicate, the ID of the original assignment.
anonymous_grading (bool) – Indicates if the assignment is graded anonymously. If true, graders cannot see student identities.
graders_anonymous_to_graders (bool) – Indicates if provisional graders’ identities are hidden from other provisional graders. Only relevant for moderated assignments with grader_comments_visible_to_graders set to true.
grader_count (int32) – The maximum number of provisional graders who may issue grades for this assignment. Only relevant for moderated assignments. Must be a positive value, and must be set to 1 if the course has fewer than two active instructors. Otherwise, the maximum value is the number of active instructors in the course minus one, or 10 if the course has more than 11 active instructors.
grader_comments_visible_to_graders (bool) – Indicates if provisional graders’ comments are visible to other provisional graders. Only relevant for moderated assignments.
grader_section_id (course_sections | None) – Graders for an assignment with anonymous moderated marking are assigned from this section if provided, or all sections otherwise.
final_grader_id (users | None) – User ID of the final grader.
grader_names_visible_to_final_grader (bool) – Indicates if provisional grader identities are visible to the final grader. Only relevant for moderated assignments.
allowed_attempts (int32 | None) – The number of submission attempts a student can make for this assignment. -1 is considered unlimited.
sis_source_id (bounded_str | None) – ID for the correlated record for the assignment in the Student Information System. It can be NULL.
annotatable_attachment_id (attachments | None) – For an Annotated Document type assignment, the ID of the annotatable attachment.
important_dates (bool) – Indicates if the assignment has important dates.
description (bounded_str | None) – The assignment description in an HTML fragment.
position (int32 | None) – The sorting order of the assignment in the group.
id (int64) –
primary key
Primary key for this record in the Canvas assignments table.title (Annotated[str, MaxLength(255)] | None) – Title of the assignment.
turnitin_settings (Annotated[assignments__turnitin_settings, YamlStringToJsonObject()] | None) – Miscellaneous settings for Turnitin.
parent_assignment_id (assignments | None) – Parent of assignment.
type (assignments__type | None) – Type of assignment.
has_sub_assignments (bool | None) – Indicates if this assignment has sub assignments.
attachment_associations
Links user files to an assignment to allow grader to see the student’s submission.
Parameters:
id (int64) –
primary key
The unique identifier of an attachment associations record.attachment_id (attachments | None) – The unique identifier of an attachment record.
context_id (conversation_messages | submissions | courses | groups | None) – The unique identifier of the context of this attachment association.
context_type (attachment_associations__context_type) – The type of the object represented by context_id.
attachments
Describes files in Canvas.
Parameters:
deleted_at (datetime | None) – Timestamp showing when this record was deleted. If the record has not been deleted the value will be NULL.
user_id (users | None) – The unique ID of a user.
created_at (datetime | None) – Timestamp showing when an attachments record was created.
updated_at (datetime | None) – Timestamp showing when an attachments record was updated.
workflow_state (attachments__workflow_state | None) – Current workflow state of the attachment.
unlock_at (datetime | None) – The date-time to unlock the file at.
lock_at (datetime | None) – The date-time to lock the file at.
context_id (accounts | assessment_questions | assignments | attachments | content_exports | content_migrations | courses | eportfolios | epub_exports | gradebook_uploads | groups | group_and_membership_importers | submissions | purgatories | folders | outcome_imports | quizzes | quiz_statistics | quiz_submissions | sis_batches | users | None) – The unique identifier of the attachments’s context.
context_type (attachments__context_type | None) – The type of the object represented by context_id.
folder_id (folders | None) – The unique identifier of a folder record.
filename (bounded_str | None) – The name of the actual file.
locked (bool) – Flag if file is locked or available.
file_state (attachments__file_state) – Similar to workflow_state but for the file itself.
media_entry_id (Annotated[str, MaxLength(255)] | None) – The ID of a Kaltura/Notorious media entry associated with the file.
md5 (Annotated[str, MaxLength(255)] | None) – A hash of the file. Historically this was MD5 in Canvas Data 1 and API but newer records store a SHA512 in this column.
replacement_attachment_id (attachments | None) – The unique identifier of the attachment that this record replaced.
usage_rights_id (usage_rights | None) – The unique identifier for the usage_rights record.
modified_at (datetime | None) – Timestamp showing when an attachment record was updated.
viewed_at (datetime | None) – Timestamp showing when an attachment record was last viewed.
could_be_locked (bool | None) – True if the file is in a lockable module item.
migration_id (Annotated[str, MaxLength(255)] | None) – Only applicable for files which have been imported via a content migration, an opaque identifier for the file in its source. This field is used by Canvas to identify when a file is being re-imported, and can also be used to identify multiple files that have been copied from the same source.
namespace (Annotated[str, MaxLength(255)] | None) – The asset string of the root account associated with the file’s storage.
id (int64) –
primary key
The unique identifier of an attachment record.size (int64 | None) – The size of the file in bytes.
display_name (bounded_str | None) – The attachment name that is displayed.
content_type (Annotated[str, MaxLength(255)] | None) – MIME type of the associated file.
uuid (Annotated[str, MaxLength(255)] | None) – The UUID of the attachment.
root_attachment_id (attachments | None) – Identifier of the source file from which this file was copied and created. Defaults to NULL when this is the only copy.
calendar_events
The model for calendar events in Canvas.
These can be manually created, or automatically generated from other items like Assignments with a date attached.
Parameters:
deleted_at (datetime | None) – Timestamp when this record was deleted. If the record has not been deleted the value will be NULL.
user_id (users | None) – The unique ID of a user.
created_at (datetime) – Timestamp of when a calendar_events record was created.
updated_at (datetime) – Timestamp of when a calendar_events record was updated.
workflow_state (calendar_events__workflow_state) – Current state of the event.
context_id (appointment_groups | courses | course_sections | groups | users) – The unique identifier for the context of this calendar event (account, course, user).
context_type (calendar_events__context_type) – The type of the object represented by context_id.
location_address (bounded_str | None) – The address where the event is taking place.
start_at (datetime | None) – The start date for the calendar event, if applicable.
end_at (datetime | None) – The end date for the calendar event, if applicable.
context_code (Annotated[str, MaxLength(255)] | None) – The context code of the calendar this event belongs to (course, user or group).
time_zone_edited (Annotated[str, MaxLength(255)] | None) – Time zone of the user editing the event.
parent_calendar_event_id (calendar_events | None) – Normally NULL. If this is a reservation (see the Appointment Groups API), the ID will indicate the time slot it is for. If this is a section-level event, this will be the course-level parent event.
effective_context_code (Annotated[str, MaxLength(255)] | None) – If specified, it indicates which calendar this event should be displayed on. For example, a section-level event would have the course’s context code here, while the section’s context code would be returned above.
participants_per_appointment (int32 | None) – If the event is a time slot, this is the participant limit.
comments (bounded_str | None) – Comments associate with this reservation.
web_conference_id (web_conferences | None) – The ID of a web conference associated with the calendar event.
all_day (bool | None) – Indicates whether this is an all-day event (midnight to midnight).
all_day_date (date | None) – The date of this event.
migration_id (Annotated[str, MaxLength(255)] | None) – The unique identifier of the migration that imported this calendar event.
important_dates (bool) – Indicates if the calendar event has important dates.
location_name (bounded_str | None) – The location name of the event.
description (bounded_str | None) – The HTML description of the event.
id (int64) –
primary key
The unique identifier for a calendar event record.title (Annotated[str, MaxLength(255)] | None) – The title of the calendar event.
canvadocs_annotation_contexts
Launch context associated with DocViewer when assignment is of type Annotated_Document.
Parameters:
created_at (datetime) – When this record was created.
updated_at (datetime) – When this record was last updated.
attachment_id (attachments) – The attachment that this DocViewer launch is owned by.
submission_id (submissions) – The submission this DocViewer launch is associated with.
launch_id (bounded_str) – The ID that differentiates a DocViewer launch from another using the same attachment.
submission_attempt (int32 | None) – The submission attempt associated with the launch_id.
id (int64) –
primary key
The ID of this record.
comment_bank_items
Stores user comments that have been added to the comment bank.
Parameters:
user_id (users) – The ID of the user who created the comment bank item.
created_at (datetime) – Timestamp of when the comment_bank_item record was created.
updated_at (datetime) – Timestamp of when the comment_bank_item record was updated.
workflow_state (comment_bank_items__workflow_state) – Workflow status of the comment bank item.
course_id (courses) – Identifies the course.
id (int64) –
primary key
The ID of the comment bank item.comment (bounded_str) – The text of the comment bank item.
communication_channels
Channels through which a user receives Canvas notifications.
Examples include an email address, a phone number, a mobile device token for push notifications, etc.
Parameters:
id (int64) –
primary key
The unique identifier for a user communication channel record.path (Annotated[str, MaxLength(255)]) – The address of the communication channel e.g. an email address or a phone number.
path_type (Annotated[str, MaxLength(255)]) – The type of communication channel being described. This field determines the type of value seen in address.
pseudonym_id (pseudonyms | None) – The unique ID of a user’s pseudonym record.
bounce_count (int32) – The number of times a communication channel has bounced when trying to deliver messages.
confirmation_code_expires_at (datetime | None) – The date-time when the issued confirmation code will expire.
confirmation_sent_count (int32) – The number of confirmations sent for the channel.
user_id (users) – The unique ID of a user.
created_at (datetime) – Timestamp of when a communication_channels record was created.
updated_at (datetime) – Timestamp of when a communication_channels record was updated.
workflow_state (communication_channels__workflow_state) – Current state of the communication channel.
position (int32 | None) – The position of this communication channel relative to the user’s other channels when they are ordered.
content_migrations
Saves data about what and when was added to a course through a course copy or import.
Parameters:
id (int64) –
primary key
The unique identifier of a content migration record.attachment_id (attachments | None) – The unique ID of the package being imported.
user_id (users | None) – The unique ID of a user.
created_at (datetime) – Timestamp showing when a content_migrations record was created.
updated_at (datetime) – Timestamp of when a content_migrations record was updated.
workflow_state (content_migrations__workflow_state) – Current state of the content migration.
context_type (content_migrations__context_type) – The type of the object represented by context_id.
overview_attachment_id (attachments | None) – The unique ID of the packages overview.json file.
exported_attachment_id (attachments | None) – The unique ID of the resulting exported package.
source_course_id (courses | None) – The course to copy from for a course copy migration (required if doing course copy).
migration_type (Annotated[str, MaxLength(255)] | None) – The type of the migration. Use the Migrator endpoint to see all available migrators. Examples include: academic_benchmark_importer, angel_exporter, blackboard_exporter, canvas_cartridge_importer, common_cartridge_importer, course_copy_importer, d2l_exporter, master_course_import, moodle_converter, qti_converter, webct_scraper,`zip_file_importer`, context_external_tool_1234.
child_subscription_id (master_courses_child_subscriptions | None) – The unique ID of the master_courses_child_subscription record indicating a blueprint association.
migration_settings (json | None) – Ruby hash of settings that determine what data will get imported for this migration.
started_at (datetime | None) – Timestamp showing when a content migration started.
finished_at (datetime | None) – Timestamp showing when a content migration finished.
progress (float64 | None) – Current migration progress. 100 indicates done at 100%.
content_participation_counts
Shows students a count of the number of submissions they have that have something unread.
Parameters:
id (int64) –
primary key
The unique identifier of a content participation count record.user_id (users | None) – The unique ID of a user.
created_at (datetime) – Timestamp showing when a content_participation_counts record was created.
updated_at (datetime) – Timestamp showing when a content_participation_counts record was updated.
context_id (courses | None) – The unique identifier of a content_participation_counts’s context (course).
context_type (content_participation_counts__context_type) – The type of the object represented by context_id.
unread_count (int32) – The number of unread actions for this user on this course.
content_type (content_participation_counts__content_type) – The type of content.
content_participations
Stores data related to students submission updates or feedback.
Examples include new grade, new excused status, or new score.
Parameters:
id (int64) –
primary key
The unique identifier of a content participation record.user_id (users) – The unique ID of a user.
workflow_state (content_participations__workflow_state) – Current state of the record.
content_id (submissions) – The unique identifier of a content record.
content_type (content_participations__content_type) – The type of the object represented by content_id.
content_shares
Provides a link to a content export from a sender to a receiver.
The receiver can use this link to import the content export into any of their courses.
Parameters:
name (Annotated[str, MaxLength(255)]) – Name of the content item being shared.
id (int64) –
primary key
The unique identifier of a content share.type (content_shares__type) – Type of content share.
user_id (users) – The ID of the user who owns the content share.
created_at (datetime) – Timestamp showing when a content_share record was created.
updated_at (datetime) – Timestamp showing when a content_share record was updated.
content_export_id (content_exports) – The ID of the ContentExport containing the content of the share.
sender_id (users | None) – The ID of the user who sent the content share. Only populated for ReceivedContentShare.
read_state (content_shares__read_state) – State of the content shared.
content_tags
In the context of LTI, joins context_external_tools to either assignments or to context_modules.
Some of the ways to use this table would be to: identify the external tool that is used to submit an assignment, identify the items that are in modules (the IDs in this table are also referred to as module_item_id), identify the learning outcome group that an outcome is part of.
Parameters:
created_at (datetime) – Timestamp of when a content_tags record was created.
updated_at (datetime) – Timestamp of when a content_tags record was updated.
workflow_state (content_tags__workflow_state) – The workflow state of the content tag.
context_id (courses | learning_outcome_groups | assignments | accounts | quizzes | users) – The unique identifier for the content_tags context (account, course, user). Depends on context_type value: Course: courses.id, Assignment: assignments.id.
context_type (content_tags__context_type) – The type of the object represented by context_id, typically Course or Account or User.
context_code (Annotated[str, MaxLength(255)] | None) – An asset string describing the content tag context (for example: assignment_3).
comments (bounded_str | None) – Comments associated with the tag.
migration_id (Annotated[str, MaxLength(255)] | None) – The ID of the migration that created the content tag.
content_id (assessment_question_banks | assignments | attachments | context_external_tools | discussion_topics | learning_outcomes | learning_outcome_groups | live_assessments_assessments | lti_message_handlers | quizzes | rubrics | wiki_pages | None) – Refers to the ID of the object that is linked to another object (context_type).
tag_type (content_tags__tag_type) – Identifies the type of tag.
context_module_id (context_modules | None) – The ID of the context module the content tag belongs to (if tag_type is context_module).
learning_outcome_id (learning_outcomes | None) – Has a value if tag_type is learning_outcome, indicates that the content (content_type, content_id) is aligned with the given LearningOutcome.
mastery_score (float64 | None) – when tag_type is learning_outcome and content_type is AssessmentQuestionBank, indicates the required score on a set of bank questions to show mastery.
rubric_association_id (int64 | None) – (deprecated) when tag_type is learning_outcome and content_type is Assignment, indicates the RubricAssociation which aligns the LearningOutcome to the Assignment.
associated_asset_id (learning_outcome_groups | None) – Associated asset, whose use varies by ContentTag use. When tag_type is learning_outcome_association, then content_type is LearningOutcome and associated_asset_type is learning_outcome_group and indicates the LearningOutcome (content_id) is displayed within the LearningOutcomeGroup (associated_asset_id). When content_type is ContextExternalTool and associated_asset_type is Lti::ResourceLink, indicates the resource link associated with an LTI tool link.
associated_asset_type (content_tags__associated_asset_type | None) – when tag_type is learning_outcome_association, then content_type is LearningOutcome and associated_asset_type is learning_outcome_group and indicates the LearningOutcome (content_id) is displayed within the LearningOutcomeGroup (associated_asset_id).
link_settings (Annotated[bounded_str, JsonStringToJsonObject()] | None) – Settings for LTI links associated with the content tag (for example, tool iframe width and height).
new_tab (bool | None) – Whether or not the content should open in a new tab.
position (int32 | None) – The position of the content tag relative to other content tags when listed in a UI.
id (int64) –
primary key
The unique identifier for a content tag record.content_type (content_tags__content_type | None) – The type of the tag’s content. Corresponds to the tables that content_id is a foreign key for, the exceptions being: Announcement (for which content_id references the discussion_topics table) and ContextModuleSubheader and ExternalUrl (which have no tables).
url (bounded_str | None) – The URL of the content where applicable (for example: the launch URL of a context_external_tool). Applicable when content_type is ExternalUrl, ContextExternalTool or Lti::MessageHandler.
title (bounded_str | None) – The title of the content tag.
context_external_tools
Stores data about installed LTI 1 and 1.3 tools.
Parameters:
developer_key_id (developer_keys | None) – The client ID of the tool provider. LTI 1.3 only.
created_at (datetime) – Timestamp when the activation was created.
updated_at (datetime) – The time at which the tool was last updated.
workflow_state (context_external_tools__workflow_state) – Workflow state for activation (active, deleted).
context_type (context_external_tools__context_type | None) – The type of object the tool was activated in.
migration_id (Annotated[str, MaxLength(255)] | None) – The unique identifier of the migration that imported the tool.
consumer_key (bounded_str) – A key used by the tool for validation at launch time. This value is set by the Canvas user who installs the tool.
cloned_item_id (int64 | None) – The Id of the item in which this context_external_tool was cloned from.
tool_id (Annotated[str, MaxLength(255)] | None) – The tool ID received from the external tool. May be missing if the tool does not send an ID.
not_selectable (bool | None) – true - tool is selectable in all scenarios. false - not selectable for assignment or module selection menu.
app_center_id (Annotated[str, MaxLength(255)] | None) – The tool ID from eduappcenter.com.
allow_membership_service_access (bool) – Indicates that the tool has access to the legacy membership service. LTI 1 only. This setting is set by the Canvas user who installs the tool.
description (bounded_str | None) – The description of the tool activation as entered by the user.
name (Annotated[str, MaxLength(255)]) – The name of tool activation as entered by the user.
id (int64) –
primary key
Primary key for this record in the context_external_tools table in the Canvas database.domain (Annotated[str, MaxLength(255)] | None) – The domain for the tool launch URL (optional field). Canvas uses this domain to lookup the correct tool to launch when the tool ID is unknown.
url (Annotated[str, MaxLength(4096)] | None) – The URL to where the tool may launch to (if this value is NULL, use the domain field).
settings (Annotated[context_external_tools__settings, YamlStringToJsonObject()] | None) – LTI application settings, such as placements, links, etc.
context_module_progressions
Shows which items a student has completed, started and not started in a module.
Parameters:
id (int64) –
primary key
The unique identifier of a user module progression record.user_id (users | None) – The unique ID of a user.
created_at (datetime) – Timestamp showing when a context_module_progressions record was created.
updated_at (datetime) – Timestamp showing when a context_module_progressions record was updated.
workflow_state (context_module_progressions__workflow_state) – The current state of the record.
requirements_met (json | None) – Object indicating which requirements have been met.
collapsed (bool | None) – Flag indicating whether modules items are collapsed for user.
current_position (int32 | None) – For sequential access, this is the current position of the module item (ContentTag).
completed_at (datetime | None) – Timestamp showing when this user completed this module progression.
current (bool | None) – Flag indicating that this progression is current and not outdated.
evaluated_at (datetime | None) – Timestamp showing when this progression was last evaluated for completion, lock, or unlock.
incomplete_requirements (json | None) – Object that contains incomplete requirements related to min_score.
context_module_id (context_modules | None) – The unique identifier of a associated context_module.
lock_version (int32) – Lock version of the module progression.
context_modules
Modules in Canvas.
A place to link items so that students can proceed through course content in order.
Parameters:
name (bounded_str | None) – The name of the module that shows up in the UI.
id (int64) –
primary key
The unique identifier of a module record.deleted_at (datetime | None) – Timestamp showing when this record was deleted. If the record has not been deleted, the value will be NULL.
created_at (datetime) – Timestamp showing when a context_modules record was created.
updated_at (datetime) – Timestamp showing when a context_modules record was updated.
workflow_state (context_modules__workflow_state) – Current state of the record.
unlock_at (datetime | None) – Module can be locked until this date.
context_id (courses) – The unique identifier for the context of context_modules (courses.`id` if context_type is Course).
context_type (context_modules__context_type) – The type of the object represented by context_id.
migration_id (Annotated[str, MaxLength(255)] | None) – An identifier used by the Blueprint system to match with the blueprint content.
prerequisites (json | None) – An object indicating which module(s) must be completed before accessing this one. Has value if course module has prerequisites; field contains ids (context_modules.id), type and name of prerequisites.
completion_requirements (json | None) – An object indicating the requirements to complete this module. Contains ids and types (the action required). Requirements can be “must_mark_done” , “must_view”, or “must_contribute”.
require_sequential_progress (bool | None) – Indicates whether requirements must be completed in sequential order.
completion_events (bounded_str | None) – Events that can trigger module completion in CSV format: publish_final_grade.
requirement_count (int32 | None) – The number of requirements to be completed before marking module as complete: can be 1 or NULL for all.
position (int32 | None) – Where the module should fall in the list of modules.
conversation_message_participants
The participants in a certain message in a Conversation.
Parameters:
id (int64) –
primary key
The unique identifier for a conversation recipients record.deleted_at (datetime | None) – Timestamp when this record was deleted. If the record has not been deleted the value will be NULL.
user_id (users | None) – The unique ID of a user.
workflow_state (conversation_message_participants__workflow_state | None) – The workflow state of the conversation participants.
conversation_message_id (conversation_messages | None) – Identifies the messages dataset for the associated message.
conversation_participant_id (conversation_participants | None) – Identifies the conversations dataset for the associated conversation.
tags (bounded_str | None) – Tags used to identify multiple contexts such as course, group, etc.
conversation_messages
The messages that belong to a certain Conversation, these are in the Inbox.
Parameters:
id (int64) –
primary key
The unique identifier for a conversation message record.created_at (datetime | None) – Timestamp of when a conversation_messages record was created.
context_id (accounts | None) – The unique identifier for the context of conversation_messages (account, course, user).
context_type (conversation_messages__context_type | None) – The type of the object represented by context_id, typically Course or Account or User.
conversation_id (conversations | None) – The unique identifier for the conversation.
author_id (users | None) – User ID of the author of the message.
generated (bool | None) – This attribute is true if the system generated this message (e.g. “John was added to this conversation”).
forwarded_message_ids (bounded_str | None) – The IDs of any messages that were created as a forward of the current message.
media_comment_id (Annotated[str, MaxLength(255)] | None) – Media comment ID of an audio of video file to be associated with this message.
media_comment_type (conversation_messages__media_comment_type | None) – Type of the associated media file.
asset_id (submissions | None) – The ID of an attached asset, such as a submission.
asset_type (conversation_messages__asset_type | None) – The type of an attached asset.
attachment_ids (bounded_str | None) – Comma-separated list of attachments ids. These must be files that have been previously uploaded to the sender’s “conversation attachments” folder.
has_attachments (bool | None) – True if the message has attachments.
has_media_objects (bool | None) – True if the message has media objects.
body (bounded_str | None) – The HTML content of the message.
conversation_participants
The participants in a Conversation.
Parameters:
user_id (users) – The unique ID of a user.
updated_at (datetime | None) – Timestamp of when a conversation_participants record was updated.
workflow_state (conversation_participants__workflow_state) – The workflow state of the message.
has_attachments (bool) – If the conversation has attachments.
has_media_objects (bool) – If the conversation has media objects associated.
last_message_at (datetime | None) – The timestamp of the latest message.
subscribed (bool) – Indicates whether the current user is subscribed to the conversation.
message_count (int32) – The number of messages in the conversation.
label (Annotated[str, MaxLength(255)] | None) – Any label applied to the conversation, such as starred.
id (int64) –
primary key
The unique identifier for a conversation message participants record.tags (bounded_str | None) – Tags used to identify multiple contexts such as course, group, etc.
conversations
Conversation threads from the Canvas Inbox.
Parameters:
id (int64) –
primary key
The unique identifier for a conversations record. Links to conversation_messages.conversation_id.updated_at (datetime | None) – Timestamp of when a conversations record was updated.
context_type (conversations__context_type | None) – The type of the object represented by context_id.
has_attachments (bool) – If the conversation has attachments.
has_media_objects (bool) – If the conversation has media objects associated.
subject (Annotated[str, MaxLength(255)] | None) – The subject line of the conversation.
tags (bounded_str | None) – Tags used to identify multiple contexts such as course, group, etc. Contains a comma-delimited list of IDs of the course or group if the conversation is associated with a course or group. The format of the values are course_12345 or group_12345.
course_account_associations
An explicit place to keep track of all the the accounts in the account hierarchy that a course belongs to.
Parameters:
id (int64) –
primary key
The unique identifier for a course account association record.course_id (courses) – Identifies the course.
created_at (datetime) – Timestamp of when the record was created.
updated_at (datetime) – Timestamp of when the record was updated.
account_id (accounts) – Identifies the accounts dataset. Points to the account associated with the course. Could be Canvas root account or sub-account ID.
course_section_id (course_sections | None) – Identifies the course section.
depth (int32) – How many steps in the account chain are between the courses’ direct account (course.`account_id`) and the account_id of the association.
course_sections
Stores attributes for a section of a course.
Sections are a group of students that have been organized for administrative purposes. When users are enrolled in a course, they are actually enrolled in one of the sections of that course. It is possible to place more than one section in course, but it is not possible to put sections within sections. All sections of a course share the same content. If a course is taught by one instructor, sections can remain under one course. However, if each section is taught by a different instructor, those sections will need to be housed under separate courses. Each section can have its own varied due dates for assignments, quizzes, and discussions. For example, a course may have sections that meet on different days of the week or in different formats (online vs. face-to-face). Sections are also beneficial when Teacher Assistants are assigned to help manage courses and oversee grading for a portion of a course enrollment. As part of SIS or manual enrollments, you can limit students to only see students in their section. Instructors can also limit students if you allow them to manually enroll users in their own courses.
Parameters:
name (Annotated[str, MaxLength(255)]) – The name of the section.
id (int64) –
primary key
The unique identifier for the section.course_id (courses) – The unique Canvas identifier for the course in which the section belongs.
integration_id (Annotated[str, MaxLength(255)] | None) – The integration ID of the section. This field is only included if there is an integration set up between CanvaS and SIS.
created_at (datetime) – Timestamp for when this section was entered into the system.
updated_at (datetime) – Timestamp for when the last time the section was updated.
workflow_state (course_sections__workflow_state) – Life-cycle state for the section.
sis_batch_id (sis_batches | None) – The unique identifier for the SIS import if created through SIS.
start_at (datetime | None) – The start date for the section, if applicable. When a user is allowed to participate in a course, enrollment term dates, course dates, and course section dates flow together in all aspects of Canvas. Various dates allow different users to participate in the course. The hierarchy of dates are: course section dates override course dates, course dates override term dates.
end_at (datetime | None) – The end date for the section, if applicable. When a user is allowed to participate in a course.
sis_source_id (Annotated[str, MaxLength(255)] | None) – Id for the correlated record for the section in the SIS (assuming SIS integration has been properly configured).
default_section (bool | None) – True if this is the default section.
accepting_enrollments (bool | None) – True if this section is open for enrollment.
restrict_enrollments_to_section_dates (bool | None) – Restrict user enrollments to the start and end dates of the section. True when “Users can only participate in the course between these dates” is checked.
nonxlist_course_id (courses | None) – The unique identifier of the original course of a cross-listed section.
enrollment_term_id (enrollment_terms | None) – Identifies the associated enrollment term.
courses
Stores attributes for a course.
Parameters:
storage_quota (int64 | None) – The total amount of storage space (in bytes) allowed to be used by files in the course.
integration_id (Annotated[str, MaxLength(255)] | None) – the integration identifier for the course, if defined.
lti_context_id (Annotated[str, MaxLength(255)] | None) – UUID of the Canvas context in LTI standard. secondary ID for this context, could be used in API to identify resource as well.
sis_batch_id (int64 | None) – The unique identifier for the SIS import.
created_at (datetime) – The date the course was created.
updated_at (datetime) – The time the course was last updated.
workflow_state (courses__workflow_state) – Life-cycle state for the course.
account_id (accounts) – Points to the account associated with the course.
grading_standard_id (grading_standards | None) – The grading standard associated with the course.
start_at (datetime | None) – The start date for the course, if applicable. If NULL, then use start_at value from enrollment_terms table. Enrollment term dates, course dates, and course section dates flow together in all aspects of Canvas. Various dates allow different users to participate in the course. The hierarchy of dates are: course section dates override course dates, course dates override term dates.
sis_source_id (Annotated[str, MaxLength(255)] | None) – The SIS identifier for the course, if defined.
group_weighting_scheme (Annotated[str, MaxLength(255)] | None) – Whether final grades will be weighted based on the group_weight value of assignment groups percent if weighted equal or NULL otherwise.
conclude_at (datetime | None) – The end date for the course, if applicable. If NULL, then use start_at value from enrollment_terms table.
is_public (bool | None) – True if the course is publicly visible.
allow_student_wiki_edits (bool | None) – Whether Pages in the course can be created and are editable by students.
syllabus_body (bounded_str | None) – User-generated HTML for the course syllabus.
default_wiki_editing_roles (Annotated[str, MaxLength(255)] | None) – Comma-separated list used as the default editing_roles value for new wiki_pages in the course.
wiki_id (wikis | None) – Foreign key to the wikis dataset.
allow_student_organized_groups (bool) – Whether students are able to organize their own groups.
course_code (Annotated[str, MaxLength(255)] | None) – The course code.
default_view (Annotated[str, MaxLength(255)] | None) – the type of page that users will see when they first visit the course - feed: Recent Activity Dashboard - wiki: Wiki Front Page - modules: Course Modules/Sections Page - assignments: Course Assignments List - syllabus: Course Syllabus Page other types may be added in the future.
abstract_course_id (abstract_courses | None) – Foreign key to the abstract_courses table.
enrollment_term_id (enrollment_terms) – The enrollment term associated with the course.
open_enrollment (bool | None) – Whether the course has enabled open enrollment.
tab_configuration (Annotated[bounded_str, JsonStringToJsonObject(), SpecialConversion()] | None) – A JSON serialized list detailing the order and visibility status of tabs in the left-hand navigation for the course.
turnitin_comments (bounded_str | None) – Comments to be shown to students when submitting a Turnitin-enabled assignment.
self_enrollment (bool | None) – Whether the course has enabled self enrollment.
license (Annotated[str, MaxLength(255)] | None) – The default license for content in the course; private: Private (Copyrighted), public_domain: Public Domain, cc_by: CC Attribution, cc_by_sa: CC Attribution Share Alike, cc_by_nc: CC Attribution Noncommercial, cc_by_nc_sa: CC Attribution Noncommercial Share Alike, cc_by_nd: CC Attribution No Derivatives, cc_by_nc_nd: CC Attribution Noncommercial No Derivatives.
indexed (bool | None) – Whether the course is included in the public course index.
restrict_enrollments_to_course_dates (bool | None) – Whether the course’s start and end dates will override dates from the term when determining user access.
template_course_id (courses | None) – If set, this course was originally created via SIS when a section was marked to be cross listed to a non-existent course, using attributes from the original section’s course and setting that course ID here.
replacement_course_id (courses | None) – The ID of the course created to replace this one when it had its content reset.
public_description (bounded_str | None) – The public description of the course.
self_enrollment_code (Annotated[str, MaxLength(255)] | None) – The alpha-numeric code students can use to enroll in the course through self enrollment.
self_enrollment_limit (int32 | None) – The number of students that can enroll in the course through self enrollment.
turnitin_id (int64 | None) – A unique identifier for use with Turnitin.
show_announcements_on_home_page (bool | None) – Whether announcements will be shown on the course home page.
home_page_announcement_limit (int32 | None) – The maximum number of announcements to show on the course home page.
latest_outcome_import_id (int64 | None) – The ID of the most recent Outcome Import for the course.
grade_passback_setting (Annotated[str, MaxLength(255)] | None) – The grade_passback_setting set on the course.
template (bool) – Course is marked as a template for accounts to use.
homeroom_course (bool) – Course is marked as a homeroom course.
sync_enrollments_from_homeroom (bool) – Enrollments for this course will be synced from the associated homeroom.
homeroom_course_id (courses | None) – Points to the homeroom course from which this course receives its enrollments.
locale (Annotated[str, MaxLength(255)] | None) – The course-set locale, if applicable.
name (Annotated[str, MaxLength(255)] | None) – The full name of the course.
id (int64) –
primary key
The unique identifier for the course.time_zone (Annotated[str, MaxLength(255)] | None) – The course’s IANA time zone name.
uuid (Annotated[str, MaxLength(255)] | None) – The UUID of the course.
settings (Annotated[courses__settings, YamlStringToJsonObject()] | None) – Miscellaneous settings for the course.
custom_gradebook_column_data
Contains per-user data for the custom columns defined in custom_gradebook_columns.
Parameters:
id (int64) –
primary key
The unique identifier for a custom gradebook column data record.content (Annotated[str, MaxLength(255)]) – The particular value of the specified column for the user denoted by user_id.
user_id (users) – The unique ID of the user to whom this data record applies.
custom_gradebook_column_id (custom_gradebook_columns) – The ID of the associated custom column.
custom_gradebook_columns
Contains configuration information for custom Gradebook columns defined for specific courses.
Parameters:
created_at (datetime) – Timestamp of when a custom_gradebook_columns record was created.
updated_at (datetime) – Timestamp of when a custom_gradebook_columns record was updated.
workflow_state (custom_gradebook_columns__workflow_state) – Life-cycle state for the custom gradebook column.
course_id (courses) – The ID of the course that defines this column.
teacher_notes (bool) – True if this column represents the predefined Notes column in Gradebook.
position (int32) – The ordering of this column among the columns defined for this course.
id (int64) –
primary key
The unique identifier for a custom Gradebook column data definition.read_only (bool) – If true, the contents of this column cannot be edited from Gradebook.
title (Annotated[str, MaxLength(255)]) – The title of the column, as displayed in Gradebook.
developer_key_account_bindings
Joins the accounts table to developer_keys.
Describes if the associated developer key is “on” or “off” for the associated account.
Parameters:
account_id (accounts) – Points to the account associated with the course. Could be Canvas root account or sub-account ID.
created_at (datetime) – Timestamp of when a developer_key_account_bindings record was created.
updated_at (datetime) – Timestamp of when a developer_key_account_bindings record was updated.
workflow_state (developer_key_account_bindings__workflow_state) – The workflow state of the binding.
developer_key_id (developer_keys) – The ID of the associated developer key.
id (int64) –
primary key
The unique identifier for a developer key and account association record.
developer_keys
A table representing a set of credentials used for API access.
Contains both normal API keys and the LTI keys used in LTI 1.3 apps.
Parameters:
name (Annotated[str, MaxLength(255)] | None) – The name of the developer key.
id (int64) –
primary key
The unique identifier for a developer key record.user_id (users | None) – The unique ID of a user.
created_at (datetime) – Timestamp of when a developer_keys record was created.
updated_at (datetime) – Timestamp of when a developer_keys record was updated.
scopes (json | None) – The list of scopes the developer key’s access tokens may use.
workflow_state (developer_keys__workflow_state) – The workflow state of the developer key.
account_id (accounts | None) – Points to the account associated with the course. Could be Canvas root account or sub-account ID.
redirect_uri (Annotated[str, MaxLength(255)] | None) – (legacy) The valid redirect URI for the developer key.
icon_url (Annotated[str, MaxLength(255)] | None) – A URL pointing to the icon of the developer key.
redirect_uris (List[Annotated[str, MaxLength(255)]]) – The list of valid redirect URIs for the developer key.
notes (bounded_str | None) – Any notes added to the developer key.
access_token_count (int32) – The number of times the developer key has been used.
require_scopes (bool) – Whether or not access token for the developer key are required to be scoped.
test_cluster_only (bool) – If true, the developer key’s access tokens are only valid on Canvas test and beta instances.
public_jwk (bounded_str | None) – The public key (in JWK format) for the developer key. Used if the developer key is associated with an LTI 1.3 tool.
allow_includes (bool) – If true, requests made with this key’s access token can use “includes” parameters to retrieve additional data in each request.
is_lti_key (bool) – If true, the developer key is intended to be used with LTI 1.3 tools.
client_credentials_audience (bounded_str | None) – The intended audience of client credentials issued by the developer key. If internal (default), credentials will be verified by Canvas; if external, credentials will be verified by other parties using Canvas’ public key.
email (Annotated[str, MaxLength(255)] | None) – The email address of the developer key’s owner.
user_name (Annotated[str, MaxLength(255)] | None) – the login ID of the user who originated developer key.
discussion_entries
Stores attributes for discussion entries.
Discussion entries are replies in a discussion topic.
Parameters:
message (bounded_str | None) – The content of the entry. Contains html tags.
id (int64) –
primary key
The unique identifier for the entry.attachment_id (attachments | None) – Representation of the attachment for the entry, if any. Present only if there is an attachment.
deleted_at (datetime | None) – Timestamp when the discussion entry was deleted.
user_id (users | None) – The unique identifier for the author of the entry.
created_at (datetime) – The creation time of the entry.
updated_at (datetime) – The updated time of the entry, in ISO8601 format.
workflow_state (discussion_entries__workflow_state) – Life-cycle state for the discussion message.
migration_id (Annotated[str, MaxLength(255)] | None) – The unique identifier of the migration that imported the entry.
discussion_topic_id (discussion_topics | None) – The ID of the discussion topic that this entry is part of.
parent_id (discussion_entries | None) – The parent discussion entry ID of this discussion entry. Has a value if the entry is a reply to another entry.
editor_id (users | None) – The unique user ID of the person to last edit the entry, if different than user_id.
root_entry_id (discussion_entries | None) – The root discussion entry ID that this entry is a part of. Has a value if the entry is a reply to another entry.
depth (int32 | None) – Reply depth for this entry.
rating_count (int32 | None) – Rating count is the amount of people who have submitted a rating on a given discussion with the only rating being “like”.
rating_sum (int32 | None) – The rating sum is the sum of the ratings which occurred.
discussion_entry_participants
Tracks who has read a particular entry.
Parameters:
id (int64) –
primary key
The Id of the discussion entry participant.user_id (users) – The ID of the user who participated in this discussion entry.
workflow_state (discussion_entry_participants__workflow_state) – Life-cycle state for the entry record, could be “read” if a participant read a discussion.
forced_read_state (bool | None) – Allows for users to force a discussion entry to be unread.
discussion_entry_id (discussion_entries) – The ID of the discussion entry that this participant participated in.
rating (int32 | None) – It is a number of 0 or 1 that indicates the rating providing to the linked entry.
discussion_topic_participants
Links discussion topics to the users who have posted in them.
If a user has posted to a discussion topic, there will be a row in this table.
Parameters:
id (int64) –
primary key
The unique identifier of a discussion topic participants record.user_id (users) – The unique ID of a user.
workflow_state (discussion_topic_participants__workflow_state) – Current state of the record.
subscribed (bool | None) – Flag indicating that user is subscribed to discussion and will receive notifications for new comments.
unread_entry_count (int32) – The count of discussion entries that this user has not yet read.
discussion_topic_id (discussion_topics) – The unique identifier of a discussion topic record.
discussion_topics
This table stores attributes for discussion topics in Canvas.
Discussion topics are logical discussion threads. They can have many discussion entries. They also have their own message text for the message that started the topic.
Parameters:
message (bounded_str | None) – The HTML content of the message body.
id (int64) –
primary key
The ID of this topic.type (discussion_topics__type | None) – Discussion topic type. Two types are default (blank) and Announcement.
attachment_id (attachments | None) – Has a value if the discussion topic is associated with an attachment (file).
deleted_at (datetime | None) – Timestamp when the discussion topic was deleted.
user_id (users | None) – The username of the topic creator.
created_at (datetime) – The date the discussion topic was made.
updated_at (datetime) – The date the discussion topic was updated.
workflow_state (discussion_topics__workflow_state) – Life-cycle state for the discussion topic.
lock_at (datetime | None) – The datetime to lock the topic (if ever).
context_type (discussion_topics__context_type) – The type of context this discussion is used with.
locked (bool) – Whether or not the discussion is closed for comments.
assignment_id (assignments | None) – The unique identifier of the assignment if the topic is for grading, otherwise NULL.
migration_id (Annotated[str, MaxLength(255)] | None) – The unique identifier of the migration that imported this discussion topic.
group_category_id (group_categories | None) – The unique identifier of the group category if the topic is a group discussion, otherwise NULL.
cloned_item_id (cloned_items | None) – The ID of the item in which this discussion topic was cloned from.
last_reply_at (datetime | None) – The datetime for when the last reply was in the topic.
delayed_post_at (datetime | None) – The datetime to publish the topic (if not right away).
posted_at (datetime | None) – The datetime the topic was posted. If it is NULL it hasn’t been posted yet.
root_topic_id (discussion_topics | None) – If the topic is for grading and a group assignment this will point to the original topic in the course.
old_assignment_id (assignments | None) – the assignment ID after you change a topic from graded to ungraded, then restores the old one if it goes back to graded.
subtopics_refreshed_at (datetime | None) – The time at which the subtopics for a group category discussion was refreshed at.
external_feed_id (external_feeds | None) – The ID of the external feed that this discussion topic was created from.
podcast_enabled (bool) – Boolean to determine if the podcast is enabled.
podcast_has_student_posts (bool) – If true, the podcast will include posts from students as well. Implies podcast_enabled.
require_initial_post (bool) – If true then a user may not respond to other replies until that user has made an initial reply.
editor_id (users | None) – The ID of the editor of the discussion.
discussion_type (discussion_topics__discussion_type | None) – The type of discussion.
pinned (bool) – Whether or not the discussion has been pinned by an instructor.
allow_rating (bool) – Whether or not users can rate entries in this topic.
only_graders_can_rate (bool) – Whether or not grade permissions are required to rate entries.
sort_by_rating (bool) – Whether or not entries should be sorted by rating.
todo_date (datetime | None) – Date in which discussion topic will show up in the student planner feature.
is_section_specific (bool) – Boolean distinguishing if the topic is a section specific topic or not.
position (int32 | None) – The position on the discussions index page under pinned items.
title (Annotated[str, MaxLength(255)] | None) – The topic title.
enrollment_dates_overrides
Supports allowing certain roles to have access to a term outside of term date boundaries.
Parameters:
id (int64) –
primary key
The unique identifier for an enrollment date override record.created_at (datetime) – Timestamp of when a enrollment_dates_overrides record was created.
updated_at (datetime) – Timestamp of when an enrollment_dates_overrides record was updated.
context_id (accounts) – The unique ID of main Canvas account, always a root account ID in this table.
context_type (enrollment_dates_overrides__context_type) – The type of the object represented by context_id.
start_at (datetime | None) – The start time of the enrollment.
end_at (datetime | None) – The end datetime for the enrollment date override, if applicable.
enrollment_term_id (enrollment_terms | None) – The unique identifier for the enrollment term.
enrollment_type (enrollment_dates_overrides__enrollment_type | None) – The enrollment type. One of StudentEnrollment, TeacherEnrollment, TaEnrollment, DesignerEnrollment, ObserverEnrollment.
enrollment_states
Stores the state of an enrollment.
Parameters:
updated_at (datetime | None) – Timestamp of when an enrollment_states record was updated.
state_is_current (bool) – Indicates if the enrollment state is current or needs recalculation.
state_started_at (datetime | None) – Indicates the date that the enrollment state should take effect.
state_valid_until (datetime | None) – Indicates the date that the enrollment state becomes stale.
restricted_access (bool) – Indicates if the enrollment is allowed to view the course.
access_is_current (bool) – Indicates if the state is within the start and valid until bounds.
enrollment_id (int64) –
primary key
The ID of the enrollment.state (enrollment_states__state | None) – State of the user enrollment.
enrollment_terms
Stores enrollment term records that describe the term or semester associated with courses (e.g. Fall 2013).
Use the dates in this table as a proxy for the course start/end dates if the start_at and end_at fields in the courses table are NULL.
Parameters:
name (Annotated[str, MaxLength(255)] | None) – The name of the term.
id (int64) –
primary key
The unique identifier for the enrollment term.integration_id (Annotated[str, MaxLength(255)] | None) – The ID of the enrollment term in the external tools or SIS, this ID usually gets populated via API or SIS import.
created_at (datetime) – Timestamp of when the enrollment term was created.
updated_at (datetime) – Timestamp of when the enrollment term was last updated.
workflow_state (enrollment_terms__workflow_state) – Life-cycle state for the term.
sis_batch_id (sis_batches | None) – The unique identifier for the SIS import. This field is only included if the user has permission to manage SIS information.
start_at (datetime | None) – The datetime of the start of the term. Set up by the administrator. Enrollment term dates, course dates, and course section dates flow together in all aspects of Canvas; various dates allow different users to participate in the course. The hierarchy of dates are: course section dates override course dates, course dates override term dates.
end_at (datetime | None) – The datetime of the end of the term. Set up by the administrator.
sis_source_id (Annotated[str, MaxLength(255)] | None) – The SIS ID of the term. Only included if the user has permission to view SIS information.
term_code (Annotated[str, MaxLength(255)] | None) – Enrollment term code as viewed in the UI.
grading_period_group_id (grading_period_groups | None) – Identifies the grading period group.
enrollments
This table stores user enrollments.
An enrollment represents a user’s association with a specific course and section. There may be multiple records associated with a course_id and user_id combination (records are unique on: course_id, user_id, course_section_id, role_id, workflow_state, associated_user_id).
Parameters:
sis_batch_id (sis_batches | None) – The unique identifier for the SIS import. This field is only included if the user has permission to manage SIS information.
user_id (users) – The unique ID of the user.
created_at (datetime) – The created time of the enrollment.
updated_at (datetime) – The updated time of the enrollment.
workflow_state (enrollments__workflow_state) – Life-cycle state for the user’s enrollment in the course.
role_id (roles) – The ID of the enrollment role.
start_at (datetime | None) – The start time of the enrollment, in ISO8601 format.
end_at (datetime | None) – The end time of the enrollment, in ISO8601 format.
course_id (courses) – The unique ID of the course.
completed_at (datetime | None) – Enrollment completed date.
course_section_id (course_sections) – The Section Integration ID in which the enrollment is associated. This field is only included if the user has permission to view SIS information.
grade_publishing_status (Annotated[str, MaxLength(255)]) – Used internally with grade passback functionality.
associated_user_id (users | None) – The unique ID of the associated user. Will be NULL unless type is ObserverEnrollment.
self_enrolled (bool | None) – Enrollment was created via self-enrollment.
limit_privileges_to_course_section (bool) – User can only access his or her own course section.
last_activity_at (datetime | None) – The last activity time of the user for the enrollment. This time stamp updates when a user navigates through the course using the Course Navigation menu, replies to a discussion or submits an assignment or quiz, and when they access course files and pages (does not include mobile interactions or group participation).
total_activity_time (int32 | None) – The total activity time of the user for the enrollment, in seconds. If user is viewing a page and is enrolled in that particular course, then the time is incremented. Requires at least 2 minutes, but not more than 10 (e.g. if a student just checks their grade or due date and was on the page for less than 2 min, it doesn’t get counted). May not be incremented for page views through mobile app (will get incremented for page views through mobile browser); does not include group activity or page views for videos that do not include intermediate page requests, such as a half-hour recorded lecture.
sis_pseudonym_id (pseudonyms | None) – If enrolled via SIS import, which pseudonym was referenced to create this enrollment. It is the user ID that was referenced when an enrollment was created via SIS. it’s used for some LTI calls to try and send consistent IDs. also used for splitting accidentally-merged-users to decide which way the enrollments should go.
last_attended_at (datetime | None) – The last attended date of the user for the enrollment in a course. The UI facing field that could be set by an end user or API call.
id (int64) –
primary key
The ID of the enrollment.type (enrollments__type) – The base enrollment type.
favorites
A record of items that a user has favorited, such as a Course.
This affects how items are displayed in places like the Dashboard.
Parameters:
id (int64) –
primary key
The unique identifier for a favorite record.user_id (users | None) – The unique ID of a user.
created_at (datetime) – Timestamp of when a favorites record was created.
updated_at (datetime) – Timestamp of when a favorites record was updated.
context_type (favorites__context_type) – The type of the object represented by context_id, typically Course or Account or User.
folders
A collection of files (attachments).
Parameters:
name (Annotated[str, MaxLength(255)] | None) – Name of the folder.
id (int64) –
primary key
The unique identifier for a folder record.full_name (bounded_str | None) – Full path of the folder.
deleted_at (datetime | None) – Timestamp when this record was deleted. If the record has not been deleted the value will be NULL.
created_at (datetime) – Timestamp of when a folders record was created.
updated_at (datetime) – Timestamp of when a folders record was updated.
workflow_state (folders__workflow_state) – In this context the workflow state indicates the visibility of the folder.
unlock_at (datetime | None) – Indicates the date at which this folder should become accessible.
lock_at (datetime | None) – Indicates the date at which this folder should no longer be accessible.
context_type (folders__context_type) – The type of the object represented by context_id.
locked (bool | None) – Indicates if the folder is currently accessible [NULL=false].
cloned_item_id (cloned_items | None) – Unique identifier of the folder that this folder was cloned from.
submission_context_code (Annotated[str, MaxLength(255)] | None) – A value indicating the context to which this folder should be submitted if it is for a submission.
parent_folder_id (folders | None) – Id of the parent folder.
unique_type (folders__unique_type | None) – Value indicating what kind of files are stored in this folder. NULL is the most common value, meaning this is a standard folder. media is a special case where media files are stored.
position (int32 | None) – An integer value used for sorting the order in which the folder is listed.
grading_period_groups
Stores attributes for grading period groups, which are a group of grading periods.
Parameters:
account_id (accounts | None) – Points to the account associated with the group.
created_at (datetime) – Timestamp when record was created.
updated_at (datetime) – Timestamp when record was last updated.
workflow_state (grading_period_groups__workflow_state) – Life-cycle state for the grading period group.
course_id (courses | None) – Identifies the course.
weighted (bool | None) – Whether to weight individual grading periods within this grading group.
display_totals_for_all_grading_periods (bool) – If set, shows the option to display the totals for all grading periods within this group on the student grades page and the gradebook.
id (int64) –
primary key
Primary key for the grading period groups.title (Annotated[str, MaxLength(255)] | None) – The title for this grading period group.
grading_periods
Stores attributes for grading period.
A Grading period is like a “term”, essentially used for splitting up the grade book into “periods”.
Parameters:
created_at (datetime) – Timestamp when record was created.
updated_at (datetime) – Timestamp when record was last updated.
workflow_state (grading_periods__workflow_state) – Life-cycle state for the grading periods.
grading_period_group_id (grading_period_groups) – Surrogate ID to the grading period group dataset.
start_date (datetime) – The start date of the grading period.
end_date (datetime) – The end date of the grading period.
close_date (datetime | None) – Grades can only be changed before this close date of the grading period.
id (int64) –
primary key
The unique identifier for the grading period.title (Annotated[str, MaxLength(255)] | None) – The title for the grading period.
weight (float64 | None) – A weight value that contributes to the overall weight of a grading period set, used to calculate how much assignments in this period contribute to the total grade.
grading_standards
Contains data for grading schemes defined for a course or account.
Parameters:
id (int64) –
primary key
The unique identifier for a grading standard record.version (int32 | None) – Either 1 or 2, as noted in the definition of data.
context_code (Annotated[str, MaxLength(255)] | None) – A value in string form representing the associated context (e.g., course_5).
user_id (users | None) – The ID of the user who created this grading standard.
created_at (datetime) – Timestamp of when a grading_standards record was created.
updated_at (datetime) – Timestamp of when a grading_standards record was updated.
workflow_state (grading_standards__workflow_state) – Life-cycle state for the grading standard.
context_type (grading_standards__context_type) – The type of the object represented by context_id, either Account or Course.
migration_id (Annotated[str, MaxLength(255)] | None) – The ID of the associated migration, if this grading standard was created via a content migration.
title (Annotated[str, MaxLength(255)] | None) – The name for this grading standard.
data (json | None) – A stringified array representing the content of this grading standard. If the version column is 1, each element is a tuple containing a letter grade and the maximum value for that letter grade. If the version column is 2, each element is a tuple containing a letter grade and the minimum value for that letter grade.
group_categories
A container for a set of groups, since often you want everyone to be in exactly one group in a set.
Parameters:
name (Annotated[str, MaxLength(255)] | None) – The display name of the group category.
id (int64) –
primary key
The unique identifier for a group category record.deleted_at (datetime | None) – Timestamp when this record was deleted. If the record has not been deleted the value will be NULL.
created_at (datetime | None) – Timestamp of when a group_categories record was created.
updated_at (datetime | None) – Timestamp of when a group_categories record was updated.
sis_batch_id (sis_batches | None) – The unique identifier for the SIS import. This field is only included if the user has permission to manage SIS information.
context_type (group_categories__context_type) – The type of the object represented by context_id.
sis_source_id (bounded_str | None) – The unique identifier for this group in the customer SIS.
role (group_categories__role | None) – Certain types of group categories have special role designations. Currently, these include: communities, student_organized, and imported. Regular course/account group categories have a role of NULL.
self_signup (Annotated[str, MaxLength(255)] | None) – If the group category allows users to join a group themselves, thought they may only be a member of one group per group category at a time. Values include restricted, enabled, and NULL. enabled allows students to assign themselves to a group, restricted restricts them to only joining a group in their section, NULL disallows students from joining groups.
group_limit (int32 | None) – If self-signup is enabled, this field can be set to cap the number of users in each group. If NULL, there is no limit.
auto_leader (Annotated[str, MaxLength(255)] | None) – Gives instructors the ability to automatically have group leaders assigned. Values include random, first, and NULL; random picks a student from the group at random as the leader, first sets the first student to be assigned to the group as the leader.
group_memberships
A join table of users and groups. Like enrollments, but for groups instead of courses.
Parameters:
id (int64) –
primary key
The unique identifier for a group membership record.user_id (users) – The ID of the user object to which the membership belongs.
created_at (datetime) – Timestamp of when a group_memberships record was created.
updated_at (datetime) – Timestamp of when a group_memberships record was updated.
workflow_state (group_memberships__workflow_state) – The current state of the membership.
sis_batch_id (sis_batches | None) – The ID of the SIS import if created through SIS. Only included if the user has permission to manage SIS information.
group_id (groups) – The ID of the group object to which the membership belongs.
moderator (bool | None) – Whether or not the user is a moderator of the group (the must also be an active member of the group to moderate).
uuid (Annotated[str, MaxLength(255)]) – UUID for a membership record.
groups
Stores attributes for groups in canvas.
Groups contain two or more students enrolled in a particular course working on an assignment or project together.
Parameters:
name (Annotated[str, MaxLength(255)] | None) – The display name of the group.
id (int64) –
primary key
The ID of the group.deleted_at (datetime | None) – Timestamp when the group was deleted.
storage_quota (int64 | None) – The storage quota for the group.
lti_context_id (Annotated[str, MaxLength(255)] | None) – UUID of the Canvas context in LTI standard. secondary ID for this context, could be used in API to identify resource as well.
created_at (datetime) – Timestamp when the group was first saved in the system.
updated_at (datetime) – Timestamp when the group was last updated in the system.
workflow_state (groups__workflow_state) – Life-cycle state for the group.
account_id (accounts) – Identifies the associated account, groups could be owned by sub-accounts.
sis_batch_id (sis_batches | None) – The ID of the SIS import if created through SIS.
context_type (groups__context_type) – The course or account that the group belongs to. The pattern here is that whatever the context_type is, there will be an _id field named after that type. So if instead context_type was account, the course_id field would be replaced by an account_id field.
migration_id (Annotated[str, MaxLength(255)] | None) – The unique identifier of the migration that imported this group.
group_category_id (group_categories | None) – The ID of the group’s category.
sis_source_id (Annotated[str, MaxLength(255)] | None) – The SIS ID of the group.
is_public (bool | None) – Whether or not the group is public. Currently only community groups can be made public. Also, once a group has been set to public, it cannot be changed back to private.
wiki_id (wikis | None) – The ID of an associated wiki page.
max_membership (int32 | None) – The maximum number of participating users in the group.
join_level (Annotated[str, MaxLength(255)] | None) – How people are allowed to join the group. For all groups except for community groups, the user must share the group’s parent course or account. For student organized or community groups, where a user can be a member of as many or few as they want, the applicable levels are parent_context_auto_join, parent_context_request, and invitation_only. For class groups, where students are divided up and should only be part of one group of the category, this value will always be invitation_only, and is not relevant. If parent_context_auto_join, anyone can join and will be automatically accepted. If parent_context_request, anyone can request to join, which must be approved by a group moderator. If invitation_only, only those how have received an invitation my join the group, by accepting that invitation.
avatar_attachment_id (attachments | None) – Foreign key to the attachments table for the avatar of this group.
leader_id (users | None) – Foreign key to the users table for the leader of this group.
description (bounded_str | None) – A description of the group.
uuid (Annotated[str, MaxLength(255)]) – The UUID of the group.
default_view (groups__default_view | None) – Default view for groups is the feed.
late_policies
Contains late/missing policy configurations for courses.
Parameters:
id (int64) –
primary key
The unique identifier for a late policy record.course_id (courses) – The ID of the course this late policy references.
created_at (datetime) – Timestamp of when a late_policies record was created.
updated_at (datetime) – Timestamp of when a late_policies record was updated.
missing_submission_deduction_enabled (bool) – Whether to apply a deduction for submissions that have not been submitted as of their due date.
missing_submission_deduction (Annotated[Decimal, Precision(5, 2)]) – The amount to award for a missing submission, expressed as a percentage (from 0 to 100) of the assignment’s possible points.
late_submission_deduction_enabled (bool) – Whether to apply a deduction for submissions submitted late.
late_submission_deduction (Annotated[Decimal, Precision(5, 2)]) – The amount to deduct from the submission for each interval it is late, expressed as a percentage (from 0 to 100) of the assignment’s possible points.
late_submission_interval (Annotated[str, MaxLength(16)]) – The interval at which points should be deducted: valid values are day and hour.
late_submission_minimum_percent_enabled (bool) – True if the points deducted for lateness should be capped.
late_submission_minimum_percent (Annotated[Decimal, Precision(5, 2)]) – If late_submission_minimum_percent_enabled is true, prevents late deductions from bringing a submission below this percentage of the total points. A value between 0 and 100.
learning_outcome_groups
Learning outcome groups organize outcomes hierarchically within a context, such as an account, course or the global context.
This table contains dimensions for learning outcome groups.
Parameters:
id (int64) –
primary key
The unique identifier for a learning outcome group record.created_at (datetime) – Timestamp of when a learning_outcome_groups record was created.
updated_at (datetime) – Timestamp of when a learning_outcome_groups record was updated.
workflow_state (learning_outcome_groups__workflow_state) – Workflow status of the learning outcome.
context_type (learning_outcome_groups__context_type | None) – The type of the object represented by context_id.
migration_id (Annotated[str, MaxLength(255)] | None) – A GUID used to resolve outcomes during import and migration.
learning_outcome_group_id (learning_outcome_groups | None) – ID associated with the parent of this group (NULL if it does not have parent). Refers to a learning_outcome_group record.
root_learning_outcome_group_id (learning_outcome_groups | None) – ID associated with the root group in the group hierarchy (NULL if it is the root). Refers to a learning_outcome_group record.
vendor_guid (Annotated[str, MaxLength(255)] | None) – A custom GUID for the learning standard.
outcome_import_id (outcome_imports | None) – Foreign key to the outcome import associated with this outcome group, if this group was imported.
source_outcome_group_id (learning_outcome_groups | None) – Foreign key to the learning outcome group that the group was copied from.
description (bounded_str | None) – Description of the learning outcome group.
title (Annotated[str, MaxLength(255)]) – Title of the learning outcome group.
learning_outcome_question_results
Attributes for the results of answered questions which have been associated with a learning outcome.
Parameters:
created_at (datetime) – Timestamp of when a learning_outcome_question_results record was created.
updated_at (datetime) – Timestamp of when a learning_outcome_question_results record was updated.
learning_outcome_id (learning_outcomes | None) – Foreign key to the learning outcome this record is associated with.
associated_asset_id (assess