PostHog Events Documentation (1.0.0)
This documentation describes all analytics events captured by our application. Each event represents a specific user action or system occurrence that we track for analytics purposes.
Note: The events shown here are documented using OpenAPI's webhook format. The "application/json" label is shown due to OpenAPI conventions, but these are event payload structures, not API requests.
Identify Webhook
Properties that are automatically attached to all events for user identification
Request Body schema: application/jsonrequired
| email required | string <email> User's email address |
| userType required | string Enum: "student" "educator" Type of user |
| tenant | string Enum: "acemate" "ihk-aila" Tenant of the user |
| subscriptionStatus | string Enum: "free" "trialing" "active" "incomplete" "incomplete_expired" "past_due" "canceled" "unpaid" User's subscription status |
| isPartOfAnyClassroom required | boolean Whether the user is part of any classroom |
| isPartOfAnyOrganization | boolean Whether the user is part of any organization |
| universityId required | string <uuid> ID of the user's university |
| degreeProgramId | string <uuid> ID of the user's degree program |
| usageReasons | Array of strings Items Enum: "chat_documents" "personalized_exams" "understand_relationships" "find_university_resources" "create_flashcards" "create_summaries" User's selected usage reasons (can be predefined or custom) |
| learningGoals | Array of strings Items Enum: "pass_exams" "better_grades" "top_1_percent" User's selected learning goals |
| referralSource | string User's referral source |
node_clicked Webhook
Triggered when a user clicks on a node in the knowledge graph.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| performance | number or null Performance of the clicked node |
chat_message_copied Webhook
Triggered when a user copies a message in the chat.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| content required | string Content of the message |
| messageRole required | string Role of the message |
chat_message_sent Webhook
Triggered when a user sends a message in the chat.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| charLength required | number Length of the message |
| content required | string Content of the message |
| location required | string Enum: "workspace" "exam" "flashcard" Location of the message |
| featureLocation required | string Enum: "chat" "suggested_message" "search_modal" The location of the message sent within the feature, in case it was not sent from the main chat input |
| numberOfAttachments | number Default: 0 The number of attachments in the message |
exam_viewed_from_chat Webhook
Triggered when a user views an exam from chat.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| type required | string Enum: "lecture-based-generated" "uploaded" "exam-based-generated" "daily-quiz" |
transcription_used Webhook
Triggered when a user uses the transcription feature.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| charLength required | number Length of the transcription |
course_linked Webhook
Triggered when a user links a public course to a private course.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| publicCourseId required | string Identifier of the linked public course |
course_unlinked Webhook
Triggered when a user unlinks a public course from their account.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| publicId required | string Identifier of the unlinked public course |
exam_imported Webhook
Triggered when a user imports an exam from a public course.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
classroom_duplicated Webhook
Triggered when a user duplicates a classroom.
Request Body schema: application/json
| numberOfCopies required | number The number of copies of the classroom |
| inheritContentStatus required | boolean Whether the content status should be inherited |
| maintainChapterStructure required | boolean Whether the chapter structure should be maintained |
exam_completed Webhook
Triggered when a user completes an exam. Captures information about the exam score, points, and percentage.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| score required | number The score of the exam |
| points required | number The points of the exam |
| percentage required | number The percentage of the exam |
| examType required | string Enum: "lecture-based-generated" "uploaded" "exam-based-generated" "daily-quiz" The type of exam that was completed |
exam_generated Webhook
Triggered when a user generates an exam. Captures information about the exam type, number of sections, and number of questions.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| type required | string Enum: "lecture-based-generated" "exam-based-generated" The type of exam that is being generated |
| location required | string Enum: "create_exam_page" "chat" "exam_header" "quick_actions" "workspace" "sidebar" "tasks" "exam_end_screen" "exams_overview" "library" "planner" "home" The location from where the exam was generated |
| withClips required | boolean Whether the exam was generated with clips |
| template | string Enum: "quickQuiz" "multipleChoice" "progressivePractice" "deepDive" The template that was used to generate the exam |
| numSections | number The number of sections in the exam |
| numQuestions | number The number of questions in the exam |
| language required | string Enum: "english" "german" "spanish" "french" "portuguese" "italian" "greek" "dutch" "chinese" "polish" "turkish" "arabic" "ukrainian" "danish" "romanian" "swedish" "russian" "persian/farsi" "urdu" "hindi" "bengali" "czech" "hungarian" "bulgarian" "serbian" "croatian" "kurdish" "finnish" "slovak" "norwegian" "vietnamese" "thai" "lithuanian" "slovenian" "latvian" "estonian" "albanian" "macedonian" "bosnian" "belarusian" "armenian" "georgian" "azerbaijani" "japanese" "korean" "indonesian" "hebrew" "filipino" "swahili" "punjabi" "auto-detect" The language of the generated exam |
exam_hint_requested Webhook
Triggered when a user requests a hint in an exam.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| type required | string Enum: "FT" "MC" "CS" The type of question being hinted |
exam_pdf_exported Webhook
Triggered when a user exports an exam as a PDF. Captures information about the exam type, number of sections, and number of questions.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| type required | string Enum: "lecture-based-generated" "uploaded" "exam-based-generated" "daily-quiz" The type of exam that is being generated |
| withClips required | boolean Whether the exam was generated with clips |
exam_question_answered Webhook
Triggered when a user answers a question in an exam.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| type required | string Enum: "FT" "MC" "CS" The type of question being answered |
| examType required | string Enum: "lecture-based-generated" "uploaded" "exam-based-generated" "daily-quiz" The type of exam that the question was answered in |
| score required | number The score of the question |
exam_review_clicked Webhook
Triggered when a user click on review of an exam
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
question_generated Webhook
Triggered when a user generates a question.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| language required | string Enum: "english" "german" "spanish" "french" "portuguese" "italian" "greek" "dutch" "chinese" "polish" "turkish" "arabic" "ukrainian" "danish" "romanian" "swedish" "russian" "persian/farsi" "urdu" "hindi" "bengali" "czech" "hungarian" "bulgarian" "serbian" "croatian" "kurdish" "finnish" "slovak" "norwegian" "vietnamese" "thai" "lithuanian" "slovenian" "latvian" "estonian" "albanian" "macedonian" "bosnian" "belarusian" "armenian" "georgian" "azerbaijani" "japanese" "korean" "indonesian" "hebrew" "filipino" "swahili" "punjabi" "auto-detect" The language of the generated question |
ai_flashcard_created Webhook
Triggered when a user adds an AI flashcard to a deck with the AI flashcard workbench.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| mode required | string Enum: "ai-flashcard-from-lecture" "ai-flashcard-from-note" "ai-flashcard-from-source" The mode of the flashcard creation |
| hasUserPrompt required | boolean Whether additional instructions were provided for the flashcards |
| userPrompt | string The user prompt for the flashcard creation |
| numberTopics | number Selected subtopics for the flashcard in case of creation from source |
| isCreatingWithClips required | boolean Whether the flashcard was created with clips |
blank_flashcard_added Webhook
Triggered when a user adds blank flashcards to a deck.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
flashcard_deck_created Webhook
Triggered when a user creates a flashcard deck. Captures information about the deck type.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| type required | string Enum: "manual" "ai-generated" The type of generation being used |
| location required | string Enum: "decks_overview" "workspace" "planner" "deck_editor_actions" "deck_editor_floating_actions" "library" "exam" "ai-chat" The location of the deck creation |
| language | string Enum: "english" "german" "spanish" "french" "portuguese" "italian" "greek" "dutch" "chinese" "polish" "turkish" "arabic" "ukrainian" "danish" "romanian" "swedish" "russian" "persian/farsi" "urdu" "hindi" "bengali" "czech" "hungarian" "bulgarian" "serbian" "croatian" "kurdish" "finnish" "slovak" "norwegian" "vietnamese" "thai" "lithuanian" "slovenian" "latvian" "estonian" "albanian" "macedonian" "bosnian" "belarusian" "armenian" "georgian" "azerbaijani" "japanese" "korean" "indonesian" "hebrew" "filipino" "swahili" "punjabi" "auto-detect" The language of the flashcards |
| difficulty | string Enum: "default" "easy" "hard" "impossible" The difficulty of the flashcards |
| userPrompt | string Additional instructions for the flashcards |
| numFlashcards | number The number of flashcards in the deck |
| cardsCreatedWithClips | number The number of flashcards created with clips |
flashcard_deck_deleted Webhook
Triggered when a user deletes a deck. Captures information about the deck type.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| deleteFlashcards required | boolean Whether all flashcards the deck contains should also be deleted |
flashcard_deck_study_session_ended Webhook
Triggered when a user ends a study session for a flashcard deck.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| mode required | string Enum: "fsrs_scheduled" "weak_cards" "random" "sequential" "starred" The mode the user was studying in |
| totalCards required | number The total number of cards in the session |
| againCount required | number The number of cards the user rated as again |
| hardCount required | number The number of cards the user rated as hard |
| goodCount required | number The number of cards the user rated as good |
| easyCount required | number The number of cards the user rated as easy |
| successRate required | number The success rate of the session |
flashcard_deck_study_session_started Webhook
Triggered when a user starts a study session for a flashcard deck.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| location required | string Enum: "decks_overview" "deck_editor" "study_session_feedback" |
| mode required | string Enum: "fsrs_scheduled" "weak_cards" "random" "sequential" "starred" The mode the user is studying in |
| modeBefore | string Enum: "fsrs_scheduled" "weak_cards" "random" "sequential" "starred" The mode the user was studying in before the current session |
| limitNumberOfCards required | number or null The limit number of cards the user is studying in |
| limitNumberOfCardsBefore required | number or null The limit number of cards the user was studying in before the current session |
flashcard_deleted Webhook
Triggered when a user deletes a flashcard.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
flashcard_hint_requested Webhook
Triggered when a user requests a hint for a flashcard.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| errorType required | string or null Enum: "failedToFetchHint" "emptyFrontContent" "emptyBackContent" "emptyHint" The error type if the hint request failed |
flashcard_rated Webhook
Triggered when a user rates a flashcard.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| rating required | number The rating of the flashcard |
| method required | string Enum: "button" "keyboard" The method used to rate the flashcard |
| mode required | string Enum: "fsrs_scheduled" "weak_cards" "random" "sequential" "starred" The mode the user is studying in |
flashcard_topic_edited Webhook
Triggered when a user edits a flashcard topic.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
flashcard_topic_removed Webhook
Triggered when a user removes a flashcard topic.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
flashcards_exported Webhook
Triggered when a user exports a flashcard deck.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| numFlashcards required | number The number of flashcards added |
| withClips required | boolean Whether the flashcards were exported with clips |
flashcards_rejected Webhook
Triggered when a user rejects a flashcard.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| count required | number The number of flashcards rejected |
switch_flashcard_study_mode Webhook
Triggered when a user switches the flashcard study mode.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| oldMode required | string Enum: "fsrs_scheduled" "weak_cards" "random" "sequential" "starred" The old study mode |
| newMode required | string Enum: "fsrs_scheduled" "weak_cards" "random" "sequential" "starred" The new study mode |
| oldLimitNumberOfCards required | number or null The old limit number of cards |
| newLimitNumberOfCards required | number or null The new limit number of cards |
daily_quiz_completed Webhook
Triggered when a user completes a daily quiz.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| score | number The score the user got |
| currentStreak required | number The current streak of the user |
daily_quiz_generated Webhook
Triggered when a user generates a daily quiz.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| streak required | number The current streak of the user |
daily_quiz_results_viewed Webhook
Triggered when a user views the results of a daily quiz.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| streak required | number The current streak of the user |
daily_quiz_resumed Webhook
Triggered when a user resumes a daily quiz.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| streak required | number The current streak of the user |
default_task_clicked Webhook
Triggered when a user clicks on the default task.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| type required | string Enum: "upload_lecture" "create_exam" "create_flashcards" "create_summary" The type of the task |
task_completed Webhook
Triggered when a user completes a task.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| date required | string The date of the task |
task_created Webhook
Triggered when a user creates a task.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| date required | string The date of the task |
timer_started Webhook
Triggered when a user starts a study timer.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| duration required | number The duration of the timer |
exam_uploaded Webhook
Triggered when a user uploads an exam.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| numPages required | number The number of pages in the exam |
| selectedPages required | number The number of pages selected in the exam |
| location required | string Enum: "library" "planner" "quick_actions" "mindmap" "tutorial" "workspace" "exams_overview" "exam_generation_dialog" "summary_generation_dialog" "exam_generation_chat_tool" "summary_generation_chat_tool" "deck_generation_chat_tool" "decks_overview" "search_modal" "sidebar" "dailyquiz" "tasks" "home" The location of the exam upload |
lecture_deleted Webhook
Triggered when a user deletes a lecture.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
lecture_uploaded Webhook
Triggered when a user uploads a lecture.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| location required | string Enum: "library" "planner" "quick_actions" "mindmap" "tutorial" "workspace" "exams_overview" "exam_generation_dialog" "summary_generation_dialog" "exam_generation_chat_tool" "summary_generation_chat_tool" "deck_generation_chat_tool" "decks_overview" "search_modal" "tasks" "sidebar" "dailyquiz" "home" The location of the lecture upload |
link_created Webhook
Triggered when a user creates a link.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| location required | string Enum: "library" "planner" "sidebar" |
note_created Webhook
Triggered when a user creates a note.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| location required | string Enum: "quick_actions" "library" "sidebar" "planner" "workspace" "search_modal" |
note_deleted Webhook
Triggered when a user deletes a note.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
checkout_finished Webhook
Triggered when a user finishes a checkout.
Request Body schema: application/json
| success required | boolean Whether the checkout was successful |
| priceKey required | string or null Enum: "emerging_monthly" "emerging_semesterly" "emerging_yearly" "standard_monthly" "standard_semesterly" "standard_yearly" "premium_monthly" "premium_semesterly" "premium_yearly" The price key of the checkout |
checkout_started Webhook
Triggered when a user starts a checkout.
Request Body schema: application/json
| source required | string Enum: "sidebar" "personal_settings_tab" "pricing_page" "trial_badge" "trial_ended" "periodic" "upload_dialog" "chat_messages" "exams" "flashcards" "summaries" "flashcard_additions" "question_additions" "note_export" "exam_export" "flashcard_export" The source of the checkout |
| priceKey required | string Enum: "emerging_monthly" "emerging_semesterly" "emerging_yearly" "standard_monthly" "standard_semesterly" "standard_yearly" "premium_monthly" "premium_semesterly" "premium_yearly" The price key of the checkout |
| currency required | string The currency of the checkout |
| timezone required | string The timezone of the checkout |
| examsLimitsRemaining | number The remaining exam quota |
| examsLimitsPeriodEnd | number The end of the current exam quota period |
| summariesLimitsRemaining | number The remaining summaries quota |
| summariesLimitsPeriodEnd | number The end of the current summaries quota period |
| flashcardsLimitsRemaining | number The remaining flashcards quota |
| flashcardsLimitsPeriodEnd | number The end of the current flashcards quota period |
| chatMessagesLimitsRemaining | number The remaining chat messages quota |
| chatMessagesLimitsPeriodEnd | number The end of the current chat messages quota period |
| totalClips required | number The total clips of the checkout |
university_referral_opened Webhook
Triggered when a user opens the university referral modal.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| source required | string or null Enum: "sidebar" "personal_settings_tab" "pricing_page" "trial_badge" "trial_ended" "periodic" "upload_dialog" "chat_messages" "exams" "flashcards" "summaries" "flashcard_additions" "question_additions" "note_export" "exam_export" "flashcard_export" |
university_template_copied Webhook
Triggered when a user copies the university template.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| language required | string The language of the university template |
university_template_mail Webhook
Triggered when a user clicks the template mail button.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| language required | string The language of the university template |
unlocked_feature_with_clips Webhook
Triggered when a user unlocks a feature with clips.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| feature required | string Enum: "chat_messages" "exams" "flashcards" "summaries" "note_export" "exam_export" "flashcard_export" |
| clipsAmountSpent required | number The amount of clips that were spent |
| clipsBalance required | number The current balance of clips |
upgrade_modal_opened Webhook
Triggered when a user opens the upgrade modal.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
number or number | |
| examsLimitsPeriodEnd | number |
number or number | |
| summariesLimitsPeriodEnd | number |
number or number | |
| flashcardsLimitsPeriodEnd | number |
number or number | |
| chatMessagesLimitsPeriodEnd | number |
| totalClips | number |
| source required | string Enum: "sidebar" "personal_settings_tab" "pricing_page" "trial_badge" "trial_ended" "periodic" "upload_dialog" "chat_messages" "exams" "flashcards" "summaries" "flashcard_additions" "question_additions" "note_export" "exam_export" "flashcard_export" |
| perUseAmount | number |
usage_limit_reached Webhook
Triggered when a user reaches their usage limit.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| feature required | string Enum: "chat_messages" "exams" "flashcards" "summaries" The feature that the user reached their usage limit for |
| periodEnd | string The period end of the usage limit |
| perUseAmount | number The amount of usage that the user reached their usage limit for |
educator_onboarding_completed Webhook
Triggered when a user completes the onboarding process.
Request Body schema: application/json
| universityId required | string The university ID of the user |
| universityName | string or null The name of the university of the user |
| position required | string The position of the user |
| usageReasons required | Array of strings The reasons for using acemate |
onboarding_completed Webhook
Triggered when a user completes the onboarding process.
Request Body schema: application/json
| referral required | string The referral source of the user |
| adCampaignName | string or null The name of the ad campaign of the user |
| adAudienceName | string or null The name of the ad audience of the user |
| adName | string or null The name of the ad of the user |
| universityId | string The university ID of the user |
| universityName | string The name of the university of the user |
tutorial_completed Webhook
Triggered when a user completes the tutorial.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| numberUploadedFiles required | number The number of files uploaded by the user |
| degree required | string or null The degree selected by the user |
tutorial_degree_selected Webhook
Triggered when a user selects a degree in the tutorial.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| degree required | string The degree selected by the user |
tutorial_started Webhook
Triggered when a user starts the tutorial by clicking next from the discoverAcemate step.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
tutorial_upload_completed Webhook
Triggered when a user successfully completes the upload step in the tutorial.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| numberUploadedFiles required | number The number of files uploaded by the user |
tutorial_upload_skipped Webhook
Triggered when a user skips the upload step in the tutorial.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
chapter_created Webhook
Triggered when a user creates a chapter.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| id required | string Id of the chapter |
| title required | string Title of the chapter |
| description required | string or null Description of the chapter |
| publishedAt required | string or null <date-time> Published at of the chapter |
| location required | string Enum: "sidebar" "quick_actions" "library" "planner" Location of the chapter |
chapter_deleted Webhook
Triggered when a user deletes a chapter.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| chapterId required | string Id of the chapter |
| location required | string Enum: "planner" "sidebar" Location of the chapter |
chapter_updated Webhook
Triggered when a user updates a chapter.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| id required | string Id of the chapter |
| title required | string Title of the chapter |
| description required | string or null Description of the chapter |
| publishedAt required | string or null <date-time> Published at of the chapter |
| location required | string Enum: "sidebar" "planner" Location of the chapter |
signup Webhook
Triggered when a user signs up. Captures information about the authentication provider, the source where the signup originated, and if the signup was from Meta or Tiktok.
Request Body schema: application/json
| authProvider required | string Enum: "email" "google" "apple" "azure" The authentication provider used for signup |
| userType required | string Enum: "student" "educator" "org_scoped" The type of user that signed up |
| source required | string Enum: "login_page" "signup_page" "auth_dialog" "hero" "hero_dialog" "cta" "contact" "landing_page_upload" "landing_page_chat" "landing_page_quiz" "public_course" "public_exam" "blog" "glossary" "friend_invite" "unknown" The location of the user that signed up |
| isFromMeta required | boolean Whether the signup was from Meta |
| isFromTiktok required | boolean Whether the signup was from Tiktok |
| referral | string The referral code of the user |
| adCampaignName | string or null The name of the ad campaign of the user |
| adAudienceName | string or null The name of the ad audience of the user |
| adName | string or null The name of the ad of the user |
template_created Webhook
Triggered when a user creates a template.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| type required | string Value: "summary" |
| duplicatedSystemTemplate required | boolean Whether the template was duplicated from a system template |
chat_switched Webhook
Triggered when a user switches between chats.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
citation_clicked Webhook
Triggered when a user clicks on a citation reference.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| lectureId required | string ID of the lecture that was clicked |
| location required | string Enum: "flashcard_editor" "exam_configurator" "note_editor" "workspace_chat" "flashcard_chat" "exam_chat" "knowledge_graph" "flashcard_deck_generation_dialog" Location where the citation was clicked |
| page | number Page number that was clicked |
lecture_colors_inverted Webhook
Triggered when a user toggles lecture color inversion.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| areLectureColorsInverted required | boolean Whether lecture colors are inverted |
new_chat_clicked Webhook
Triggered when a user clicks to create a new chat.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
note_pdf_exported Webhook
Triggered when a note is exported as PDF
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| withClips required | boolean Whether the note was exported with clips |
summary_generated Webhook
Triggered when a user creates a summary.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| location required | string Enum: "workspace" "planner" "tutorial" "quick_actions" "tasks" "library" "sidebar" "search_modal" "chat" The location of the summary generation |
| language required | string Enum: "english" "german" "spanish" "french" "portuguese" "italian" "greek" "dutch" "chinese" "polish" "turkish" "arabic" "ukrainian" "danish" "romanian" "swedish" "russian" "persian/farsi" "urdu" "hindi" "bengali" "czech" "hungarian" "bulgarian" "serbian" "croatian" "kurdish" "finnish" "slovak" "norwegian" "vietnamese" "thai" "lithuanian" "slovenian" "latvian" "estonian" "albanian" "macedonian" "bosnian" "belarusian" "armenian" "georgian" "azerbaijani" "japanese" "korean" "indonesian" "hebrew" "filipino" "swahili" "punjabi" "auto-detect" The language of the summary |
| includeCitations required | boolean Whether the summary includes citations |
| template required | string Enum: "private" "detailed" "overview" "cheatsheet" "studyPlan" The template that was used to generate the summary |
| customPageRange required | boolean Whether the user selected a custom page range |
set_workspace_panel Webhook
Triggered when a user opens or closes a panel in the workspace.
Request Body schema: application/json
| courseId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the course |
| courseType required | string Enum: "private" "classroom" "demo" The type of course |
| courseRole required | string or null Enum: "admin" "student" "educator" The role of the user in the course |
| organizationId required | string or null <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Unique identifier for the organization |
| organizationRole required | string or null Enum: "admin" "student" "educator" The role of the user in the organization |
| source required | string Enum: "workspace" "quick_actions" "library" "planner" "search_modal" "sidebar" "flashcard" "exam" "upload_dialog" "tutorial" "decks_overview" "deck_editor_actions" "deck_editor_floating_actions" Location from which the user opened the panel content |
| visiblePanels required | Array of strings Items Enum: "lecture" "note" "chat" "flashcard" List of visible panels. |