Canvas Live Events

Canvas Live Events stream lifecycle events emitted by Canvas (course, enrollment, assignment, submission, grade change, discussion, module, outcome, file/attachment, SIS batch, conversation, quiz, wiki page, LTI resource link, login, asset access, and more) to subscribed destinations. Customers subscribe via Canvas Data Services and choose a delivery method — AWS SQS (standard queue named beginning with `canvas-live-events`, granted to Canvas AWS account 636161780776, optional IAM key/secret/region) or an HTTPS webhook (POSTs the event JSON, or a signed JWT whose signing keys rotate monthly and are advertised at the Canvas JWKS endpoint). Two payload formats are supported — Canvas JSON and Caliper IMS. Failed HTTPS deliveries are retried up to three times with exponential backoff over ~10–20 minutes; sustained failure deactivates the subscription. Live Events are designed for analytics and data collection workflows, not for use cases requiring strictly up-to-date data.

AsyncAPI Specification

canvas-lms-live-events-asyncapi.yml Raw ↑
asyncapi: 2.6.0
id: urn:com:instructure:canvas:live-events
info:
  title: Canvas LMS Live Events
  version: 1.0.0
  description: 'AsyncAPI description of the Canvas LMS Live Events surface. Live Events are emitted by Canvas when interesting
    actions occur (course/assignment/submission/enrollment/discussion/module/outcome/file/SIS/conversation/quiz/wiki lifecycle
    events, grade changes, logins, asset access, etc.). Customers subscribe via Canvas Data Services and choose a delivery
    destination (AWS SQS queue or HTTPS webhook) and a payload format (Canvas JSON or Caliper IMS). HTTPS webhooks may optionally
    sign payloads as JWTs whose signing keys are advertised at the Canvas JWKS endpoint. Live Events are suited for analytics
    and data collection, not for use cases that require strictly up-to-date data — use the Canvas REST API for those.


    Every event payload is an envelope of `{ metadata, body }`. Metadata fields vary based on whether the event is user-generated
    (emitted directly from an HTTP request) or system-generated (emitted from an asynchronous job). Body fields are specific
    to each event type and follow the schemas documented in canvas-lms doc/api/data_services.'
  contact:
    name: Instructure / Canvas LMS
    url: https://canvas.instructure.com/doc/api/file.live_events.html
  license:
    name: AGPL-3.0
    url: https://www.gnu.org/licenses/agpl-3.0.en.html
externalDocs:
  description: Canvas Live Events documentation (Canvas LMS source)
  url: https://github.com/instructure/canvas-lms/tree/master/doc/api/data_services
defaultContentType: application/json
servers:
  https-webhook:
    url: '{webhook_url}'
    protocol: https
    description: Customer-operated HTTPS endpoint registered as a Canvas Live Events subscription. Each subscribed event triggers
      a POST to this URL. If 'Sign Payload' is enabled, the POST body is a JWT whose claims contain the event JSON, signed
      with keys advertised at https://8axpcl50e4.execute-api.us-east-1.amazonaws.com/main/jwks (keys rotate monthly; the endpoint
      returns previous, current, and next JWKs).
    variables:
      webhook_url:
        default: https://example.com/canvas/live-events
        description: Fully qualified HTTPS webhook URL registered for this subscription.
  aws-sqs:
    url: '{sqs_url}'
    protocol: sqs
    description: Customer-operated AWS SQS queue (standard, not FIFO). Queue name must begin with 'canvas-live-events'. Queue
      permissions must allow All SQS Actions for principal 636161780776 (Canvas's AWS account for Live Events delivery). IAM
      key + secret + region may optionally be provided for cross-account auth.
    variables:
      sqs_url:
        default: https://sqs.us-east-1.amazonaws.com/123456789012/canvas-live-events-example
        description: AWS SQS queue URL.
channels:
  canvas/live-events:
    description: Canvas Live Events stream. Subscriptions filter which event types are delivered to a destination. Each subscription
      has its own destination (HTTPS webhook or AWS SQS queue) and is configured in Canvas Data Services with a payload format
      (Canvas JSON or Caliper) and an event-type selection.
    subscribe:
      operationId: receiveLiveEvents
      summary: Receive subscribed Canvas Live Events at the configured destination.
      description: Canvas pushes events matching the subscription's event-type filter to the configured destination. HTTPS
        subscriptions receive POST requests; SQS subscriptions receive messages on the configured queue. With the 'Sign Payload'
        option on HTTPS webhooks, events are delivered as JWTs signed with rotating keys advertised at the Canvas JWKS endpoint.
      message:
        oneOf:
        - $ref: '#/components/messages/AccountCreatedEvent'
        - $ref: '#/components/messages/AccountNotificationCreatedEvent'
        - $ref: '#/components/messages/AccountUpdatedEvent'
        - $ref: '#/components/messages/AssetAccessedEvent'
        - $ref: '#/components/messages/AssignmentCreatedEvent'
        - $ref: '#/components/messages/AssignmentGroupCreatedEvent'
        - $ref: '#/components/messages/AssignmentGroupUpdatedEvent'
        - $ref: '#/components/messages/AssignmentOverrideCreatedEvent'
        - $ref: '#/components/messages/AssignmentOverrideUpdatedEvent'
        - $ref: '#/components/messages/AssignmentUpdatedEvent'
        - $ref: '#/components/messages/AttachmentCreatedEvent'
        - $ref: '#/components/messages/AttachmentDeletedEvent'
        - $ref: '#/components/messages/AttachmentUpdatedEvent'
        - $ref: '#/components/messages/ContentMigrationCompletedEvent'
        - $ref: '#/components/messages/ConversationCreatedEvent'
        - $ref: '#/components/messages/ConversationForwardedEvent'
        - $ref: '#/components/messages/ConversationMessageCreatedEvent'
        - $ref: '#/components/messages/CourseCompletedEvent'
        - $ref: '#/components/messages/CourseCreatedEvent'
        - $ref: '#/components/messages/CourseGradeChangeEvent'
        - $ref: '#/components/messages/CourseProgressEvent'
        - $ref: '#/components/messages/CourseSectionCreatedEvent'
        - $ref: '#/components/messages/CourseSectionUpdatedEvent'
        - $ref: '#/components/messages/CourseUpdatedEvent'
        - $ref: '#/components/messages/DiscussionEntryCreatedEvent'
        - $ref: '#/components/messages/DiscussionEntrySubmittedEvent'
        - $ref: '#/components/messages/DiscussionTopicCreatedEvent'
        - $ref: '#/components/messages/DiscussionTopicUpdatedEvent'
        - $ref: '#/components/messages/EnrollmentCreatedEvent'
        - $ref: '#/components/messages/EnrollmentStateCreatedEvent'
        - $ref: '#/components/messages/EnrollmentStateUpdatedEvent'
        - $ref: '#/components/messages/EnrollmentUpdatedEvent'
        - $ref: '#/components/messages/FinalGradeCustomStatusEvent'
        - $ref: '#/components/messages/GradeChangeEvent'
        - $ref: '#/components/messages/GradeOverrideEvent'
        - $ref: '#/components/messages/GroupCategoryCreatedEvent'
        - $ref: '#/components/messages/GroupCategoryUpdatedEvent'
        - $ref: '#/components/messages/GroupCreatedEvent'
        - $ref: '#/components/messages/GroupMembershipCreatedEvent'
        - $ref: '#/components/messages/GroupMembershipUpdatedEvent'
        - $ref: '#/components/messages/GroupUpdatedEvent'
        - $ref: '#/components/messages/LearningOutcomeCreatedEvent'
        - $ref: '#/components/messages/LearningOutcomeGroupCreatedEvent'
        - $ref: '#/components/messages/LearningOutcomeGroupUpdatedEvent'
        - $ref: '#/components/messages/LearningOutcomeLinkCreatedEvent'
        - $ref: '#/components/messages/LearningOutcomeLinkUpdatedEvent'
        - $ref: '#/components/messages/LearningOutcomeResultCreatedEvent'
        - $ref: '#/components/messages/LearningOutcomeResultUpdatedEvent'
        - $ref: '#/components/messages/LearningOutcomeUpdatedEvent'
        - $ref: '#/components/messages/LoggedInEvent'
        - $ref: '#/components/messages/LoggedOutEvent'
        - $ref: '#/components/messages/LtiResourceLinkCreatedEvent'
        - $ref: '#/components/messages/LtiResourceLinkUpdatedEvent'
        - $ref: '#/components/messages/ModuleCreatedEvent'
        - $ref: '#/components/messages/ModuleItemCreatedEvent'
        - $ref: '#/components/messages/ModuleItemUpdatedEvent'
        - $ref: '#/components/messages/ModuleUpdatedEvent'
        - $ref: '#/components/messages/OutcomeCalculationMethodCreatedEvent'
        - $ref: '#/components/messages/OutcomeCalculationMethodUpdatedEvent'
        - $ref: '#/components/messages/OutcomeProficiencyCreatedEvent'
        - $ref: '#/components/messages/OutcomeProficiencyUpdatedEvent'
        - $ref: '#/components/messages/Outcomes.retryOutcomeAlignmentCloneEvent'
        - $ref: '#/components/messages/PlagiarismResubmitEvent'
        - $ref: '#/components/messages/QuizSubmittedEvent'
        - $ref: '#/components/messages/RubricAssessedEvent'
        - $ref: '#/components/messages/SisBatchCreatedEvent'
        - $ref: '#/components/messages/SisBatchUpdatedEvent'
        - $ref: '#/components/messages/SubmissionCommentCreatedEvent'
        - $ref: '#/components/messages/SubmissionCreatedEvent'
        - $ref: '#/components/messages/SubmissionCustomGradeStatusEvent'
        - $ref: '#/components/messages/SubmissionUpdatedEvent'
        - $ref: '#/components/messages/SyllabusUpdatedEvent'
        - $ref: '#/components/messages/UserAccountAssociationCreatedEvent'
        - $ref: '#/components/messages/UserCreatedEvent'
        - $ref: '#/components/messages/UserUpdatedEvent'
        - $ref: '#/components/messages/WikiPageCreatedEvent'
        - $ref: '#/components/messages/WikiPageDeletedEvent'
        - $ref: '#/components/messages/WikiPageUpdatedEvent'
components:
  messages:
    AccountCreatedEvent:
      name: account_created
      title: AccountCreated
      summary: The event is emitted anytime an account is created by an end user or API request.
      description: Triggered anytime a new account is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AccountCreatedEventPayload'
      tags:
      - name: Account
    AccountNotificationCreatedEvent:
      name: account_notification_created
      title: AccountNotificationCreated
      summary: The event is emitted anytime an account level notification is created by and end user or API request.
      description: Triggered anytime a new account notification is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AccountNotificationCreatedEventPayload'
      tags:
      - name: Account
    AccountUpdatedEvent:
      name: account_updated
      title: AccountUpdated
      summary: The event is emitted anytime an account is updated by an end user or API request.
      description: Triggered anytime an existing account is updated.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AccountUpdatedEventPayload'
      tags:
      - name: Account
    AssetAccessedEvent:
      name: asset_accessed
      title: AssetAccessed
      summary: '`asset_accessed` events are triggered for viewing various objects in Canvas. Viewing a quiz, a wiki page,
        the list of quizzes, etc, all generate `asset_access` events. The item being accessed is identified by `asset_type`,
        `asset_id`, and `asset_subtype`. If `asset_subtype` is set, then it refers to a list of items in the asset. For example,
        if `asset_type` is `course`, and `asset_subtype` is `quizzes`, then this is referring to viewing the list of quizzes
        in the course.


        If `asset_subtype` is not set, then the access is on the asset described by `asset_type` and `asset_id`.'
      description: Triggered when a variety of assets are viewed.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AssetAccessedEventPayload'
      tags:
      - name: AssetAccess
    AssignmentCreatedEvent:
      name: assignment_created
      title: AssignmentCreated
      summary: The event is emitted anytime a new assignment is created by an end user or API request.
      description: Triggered when a new assignment is created in a course.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AssignmentCreatedEventPayload'
      tags:
      - name: Assignment
    AssignmentGroupCreatedEvent:
      name: assignment_group_created
      title: AssignmentGroupCreated
      summary: The event is emitted anytime a new assignment group is created by an end user or API request.
      description: Triggered when a new assignment group is created in a course.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AssignmentGroupCreatedEventPayload'
      tags:
      - name: Assignment
    AssignmentGroupUpdatedEvent:
      name: assignment_group_updated
      title: AssignmentGroupUpdated
      summary: The event is emitted anytime an assignment group is updated by an end user or API request. Only changes to
        the fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when a user or asynchronous job updates a new assignment group in a course context.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AssignmentGroupUpdatedEventPayload'
      tags:
      - name: Assignment
    AssignmentOverrideCreatedEvent:
      name: assignment_override_created
      title: AssignmentOverrideCreated
      summary: The event is emitted anytime an assignment override is created by an end user or API request.
      description: Triggered when an assignment override is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AssignmentOverrideCreatedEventPayload'
      tags:
      - name: Assignment
    AssignmentOverrideUpdatedEvent:
      name: assignment_override_updated
      title: AssignmentOverrideUpdated
      summary: The event is emitted anytime an assignment override is updated by an end user or API request. Only changes
        to the fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when an assignment override has been modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AssignmentOverrideUpdatedEventPayload'
      tags:
      - name: Assignment
    AssignmentUpdatedEvent:
      name: assignment_updated
      title: AssignmentUpdated
      summary: The event is emitted anytime an assignment is updated by an end user or API request. Only changes to the fields
        included in the body of the event payload will emit the `updated` event.
      description: Triggered when an assignment has been modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AssignmentUpdatedEventPayload'
      tags:
      - name: Assignment
    AttachmentCreatedEvent:
      name: attachment_created
      title: AttachmentCreated
      summary: The event is emitted anytime a new file is uploaded by an end user or API request.
      description: Triggered anytime a file is uploaded into a course or user file directory.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AttachmentCreatedEventPayload'
      tags:
      - name: Files
    AttachmentDeletedEvent:
      name: attachment_deleted
      title: AttachmentDeleted
      summary: The event is emitted anytime a file is removed by an end user or API request.
      description: Triggered anytime a file is deleted from a course or user file directory.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AttachmentDeletedEventPayload'
      tags:
      - name: Files
    AttachmentUpdatedEvent:
      name: attachment_updated
      title: AttachmentUpdated
      summary: The event is emitted anytime a file is updated by an end user or API request. Only changes to the fields included
        in the body of the event payload will emit the `updated` event.
      description: Triggered anytime a file is updated in a course or user file directory.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AttachmentUpdatedEventPayload'
      tags:
      - name: Files
    ContentMigrationCompletedEvent:
      name: content_migration_completed
      title: ContentMigrationCompleted
      summary: The event is emitted anytime a content migration request is completed.
      description: Triggered anytime a content migration request is completed.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/ContentMigrationCompletedEventPayload'
      tags:
      - name: ContentMigration
    ConversationCreatedEvent:
      name: conversation_created
      title: ConversationCreated
      summary: The event is emitted anytime a new conversation is initiated by the sender.
      description: Triggered when a new conversation is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/ConversationCreatedEventPayload'
      tags:
      - name: Conversation
    ConversationForwardedEvent:
      name: conversation_forwarded
      title: ConversationForwarded
      summary: The event is emitted when a conversation is updated.
      description: Triggered when a new user is added to a conversation
      contentType: application/json
      payload:
        $ref: '#/components/schemas/ConversationForwardedEventPayload'
      tags:
      - name: Conversation
    ConversationMessageCreatedEvent:
      name: conversation_message_created
      title: ConversationMessageCreated
      summary: The event is emitted anytime a new conversation message is added to a conversation.
      description: Triggered when a new conversation mesage is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/ConversationMessageCreatedEventPayload'
      tags:
      - name: Conversation
    CourseCompletedEvent:
      name: course_completed
      title: CourseCompleted
      summary: The event is emitted when all of the module requirements in a course are met.
      description: Triggered when all the module requirements of a course have been met. Also gets triggered when a module
        has a set completion time or when the completion time gets updated.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CourseCompletedEventPayload'
      tags:
      - name: Course
    CourseCreatedEvent:
      name: course_created
      title: CourseCreated
      summary: The event is emitted anytime a new course is created by an end user or API request.
      description: Triggered when a new course is created (or copied).
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CourseCreatedEventPayload'
      tags:
      - name: Course
    CourseGradeChangeEvent:
      name: course_grade_change
      title: CourseGradeChange
      summary: The event gets emitted anytime any of the course scores are changed for a student.
      description: Triggered when anything (a user or asynchronous job) updates the final_score, course_score, unposted_current_score,
        or unposted_final_score columns in the scores table in the database.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CourseGradeChangeEventPayload'
      tags:
      - name: Grades
    CourseProgressEvent:
      name: course_progress
      title: CourseProgress
      summary: The event is emitted when a course module requirement is met.
      description: 'Triggered when a user makes progress in a course by completing a module requirement, unless the completed
        requirement is the last remaining requirement in the course (in this case, a `course_completed` event is emitted).
        The following setup should be enabled in Canvas in order for this event to get triggered:

        1. Module is set to be published

        2. Module has at least one requirement enabled

        3. Student completed at least one requirement in Module


        Note that these events have a 2-minute debounce, meaning that a single `course_progress` event will be emitted per
        student per course 2 minutes after the student has finished completing requirements.'
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CourseProgressEventPayload'
      tags:
      - name: Course
    CourseSectionCreatedEvent:
      name: course_section_created
      title: CourseSectionCreated
      summary: The event is emitted anytime a new course section is created by an end user or API request.
      description: Triggered when a new section is created in a course.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CourseSectionCreatedEventPayload'
      tags:
      - name: Course
    CourseSectionUpdatedEvent:
      name: course_section_updated
      title: CourseSectionUpdated
      summary: The event is emitted anytime a course section is updated by an end user or API request. Only changes to the
        fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when a course section has been modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CourseSectionUpdatedEventPayload'
      tags:
      - name: Course
    CourseUpdatedEvent:
      name: course_updated
      title: CourseUpdated
      summary: The event is emitted anytime a course is updated by an end user or API request. Only changes to the fields
        included in the body of the event payload will emit the `updated` event.
      description: Triggered when the course is renamed, deleted, or other properties (except for syllabus) of a course are
        modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CourseUpdatedEventPayload'
      tags:
      - name: Course
    DiscussionEntryCreatedEvent:
      name: discussion_entry_created
      title: DiscussionEntryCreated
      summary: The event is emitted anytime an end user or a system replies to a discussion topic or thread.
      description: Triggered when a user replies to the discussion topic or thread.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/DiscussionEntryCreatedEventPayload'
      tags:
      - name: Discussion
    DiscussionEntrySubmittedEvent:
      name: discussion_entry_submitted
      title: DiscussionEntrySubmitted
      summary: The event is emitted anytime a user or system replies to a graded discussion topic.
      description: Triggered when a user replies to a graded discussion topic or discussion thread.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/DiscussionEntrySubmittedEventPayload'
      tags:
      - name: Discussion
    DiscussionTopicCreatedEvent:
      name: discussion_topic_created
      title: DiscussionTopicCreated
      summary: The event is emitted anytime an new discussion topic is created by an end user or API request.
      description: Triggered when a new discussion topic is created in a course. Also triggered when a new course announcement
        is created with `is_announcement` set to TRUE.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/DiscussionTopicCreatedEventPayload'
      tags:
      - name: Discussion
    DiscussionTopicUpdatedEvent:
      name: discussion_topic_updated
      title: DiscussionTopicUpdated
      summary: The event is emitted anytime a discussion topic or course announcement is updated by an end user or API request.
        Only changes to the fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when a discussion topic is modified in a course. Also triggered when a course announcement is
        modified in a course.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/DiscussionTopicUpdatedEventPayload'
      tags:
      - name: Discussion
    EnrollmentCreatedEvent:
      name: enrollment_created
      title: EnrollmentCreated
      summary: The event is emitted anytime a new enrollment is added to a course by an end user or API request.
      description: Triggered when a new course enrollment is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/EnrollmentCreatedEventPayload'
      tags:
      - name: Enrollment
    EnrollmentStateCreatedEvent:
      name: enrollment_state_created
      title: EnrollmentStateCreated
      summary: The event is emitted anytime a new enrollment record is added to a course.
      description: Triggered when a new course enrollment is created with a new workflow_state.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/EnrollmentStateCreatedEventPayload'
      tags:
      - name: Enrollment
    EnrollmentStateUpdatedEvent:
      name: enrollment_state_updated
      title: EnrollmentStateUpdated
      summary: The event is emitted anytime an enrollment record workflow state changes.
      description: Triggered when a course enrollment workflow_state changes.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/EnrollmentStateUpdatedEventPayload'
      tags:
      - name: Enrollment
    EnrollmentUpdatedEvent:
      name: enrollment_updated
      title: EnrollmentUpdated
      summary: The event is emitted anytime an enrollment record is updated by an end user or API request. Only changes to
        the fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when a course enrollment is modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/EnrollmentUpdatedEventPayload'
      tags:
      - name: Enrollment
    FinalGradeCustomStatusEvent:
      name: final_grade_custom_status
      title: FinalGradeCustomStatus
      summary: The event gets emitted when a custom status is removed or applied to a student's final grade.
      description: Triggered when a custom status is applied or removed from a student's final grade.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/FinalGradeCustomStatusEventPayload'
      tags:
      - name: Grades
    GradeChangeEvent:
      name: grade_change
      title: GradeChange
      summary: The event is emitted anytime when a submission is graded. These can happen as the result of a teacher changing
        a grade in the gradebook or speedgrader, a quiz being automatically scored, or changing an assignment's points possible
        or grade type. In the case of a quiz being scored, the `grade_change` event will be emitted as the result of a student
        turning in a quiz, and the `user_id` in the message attributes will be the student's user ID.
      description: Triggered anytime a grade is created or modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/GradeChangeEventPayload'
      tags:
      - name: Grades
    GradeOverrideEvent:
      name: grade_override
      title: GradeOverride
      summary: The event is emitted anytime a student course grade is overriden. Typically grade override feature is used
        to edit student course grade
      description: Triggered when the final grade override has been changed. Only triggered when the override changes the
        existing score.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/GradeOverrideEventPayload'
      tags:
      - name: Grades
    GroupCategoryCreatedEvent:
      name: group_category_created
      title: GroupCategoryCreated
      summary: The event is emitted anytime a new group category is added to a course group by an end user or API request.
      description: Triggered when a new group category is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/GroupCategoryCreatedEventPayload'
      tags:
      - name: Group
    GroupCategoryUpdatedEvent:
      name: group_category_updated
      title: GroupCategoryUpdated
      summary: The event is emitted anytime a group category is updated by an end user or API request. Only changes to the
        fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when a group category is modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/GroupCategoryUpdatedEventPayload'
      tags:
      - name: Group
    GroupCreatedEvent:
      name: group_created
      title: GroupCreated
      summary: The event is emitted anytime a new group is added to a course by an end user or API request.
      description: Triggered when a new group is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/GroupCreatedEventPayload'
      tags:
      - name: Group
    GroupMembershipCreatedEvent:
      name: group_membership_created
      title: GroupMembershipCreated
      summary: The event is emitted anytime a new member is added to a course group by an end user or API request.
      description: Triggered when a new user is added to a group.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/GroupMembershipCreatedEventPayload'
      tags:
      - name: Group
    GroupMembershipUpdatedEvent:
      name: group_membership_updated
      title: GroupMembershipUpdated
      summary: The event is emitted anytime an existing group membership  is updated by an end user or API request. Only changes
        to the fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when a existing group membership is modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/GroupMembershipUpdatedEventPayload'
      tags:
      - name: Group
    GroupUpdatedEvent:
      name: group_updated
      title: GroupUpdated
      summary: The event is emitted anytime an existing group is updated by an end user or API request. Only changes to the
        fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when a group is modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/GroupUpdatedEventPayload'
      tags:
      - name: Group
    LearningOutcomeCreatedEvent:
      name: learning_outcome_created
      title: LearningOutcomeCreated
      summary: The event is emitted anytime a outcome is created in the account by an end user or API request.
      description: Triggered when a new learning outcome is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/LearningOutcomeCreatedEventPayload'
      tags:
      - name: Outcomes
    LearningOutcomeGroupCreatedEvent:
      name: learning_outcome_group_created
      title: LearningOutcomeGroupCreated
      summary: The event is emitted anytime a new outcome group is created in the account by an end user or API request.
      description: Triggered when a new group of learning outcomes is created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/LearningOutcomeGroupCreatedEventPayload'
      tags:
      - name: Outcomes
    LearningOutcomeGroupUpdatedEvent:
      name: learning_outcome_group_updated
      title: LearningOutcomeGroupUpdated
      summary: The event is emitted anytime an existing outcome group  is updated by an end user or API request. Only changes
        to the fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when a group of learning outcomes is modified.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/LearningOutcomeGroupUpdatedEventPayload'
      tags:
      - name: Outcomes
    LearningOutcomeLinkCreatedEvent:
      name: learning_outcome_link_created
      title: LearningOutcomeLinkCreated
      summary: The event is emitted anytime an outcome is linked to a context by an end user or API request. Only changes
        to the fields included in the body of the event payload will emit the `updated` event.
      description: Triggered when an outcome is linked inside of a context.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/LearningOutcomeLinkCreatedEventPayload'
      tags:
      - name: Outcomes
    LearningOutcomeLinkUpdatedEvent:
      name: learning_outcome_link_updated
      title: LearningOutcomeLinkUpdated
      summary: The event is emitted anytime an outcome context link is changed by an end user or API request.
      description: Triggered when an outcome link is changed inside of a context.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/LearningOutcomeLinkUpdatedEventPayload'
      tags:
      - name: Outcomes
    LearningOutcomeResultCreatedEvent:
      name: learning_outcome_result_created
      title: LearningOutcomeResultCreated
      summary: 'The event is emitted anytime a submission is assessed against an outcome. The following setup should be enabled
        in Canvas in order for the event to be triggered:

        1. Administrator has set up learning outcomes 

# --- truncated at 32 KB (189 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canvas-lms/refs/heads/main/openapi/canvas-lms-live-events-asyncapi.yml