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 |
activity_type_selector_changed Webhook
Triggered when a user changes the activity type selector in the analytics header (switching between all activities and classroom activities).
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 |
| originalValue required | string Enum: "all" "classroom-activities" The original activity type selection (all or classroom-activities) |
| newValue required | string Enum: "all" "classroom-activities" The new activity type selection (all or classroom-activities) |
date_range_changed Webhook
Triggered when a user changes the date range in the analytics header, either by selecting a preset or a custom date range. Tracks the new state only.
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 |
| preset required | string or null Enum: "all-time" "last-90" "last-30" "last-7" "custom" The preset selection (all-time, last-90, last-30, last-7, or custom) |
| from required | string or null The start date in ISO format, or null for all-time |
| to required | string or null The end date in ISO format, or null for all-time |
node_clicked Webhook
Triggered when a user navigates to a node on 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 |
| source required | string Enum: "knowledge-graph" "ranking-element" "breadcrumb" Source of the clicked node |
| nodeType required | string Enum: "folder" "lecture" "parent-topic" "topic" "overview" Source of navigation to the node. |
| performance | number or null Performance of the clicked node |
| engagement | number or null Engagement score of the clicked node |
ranking_settings_changed Webhook
Triggered when a user changes ranking settings (node type, sort by, or sort direction) in the knowledge graph ranking list.
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 |
| selectedNodeType required | string or null Enum: "folder" "lecture" "parent-topic" "topic" Type of the currently selected node in the knowledge graph |
required | object The state of all ranking settings before the change |
required | object The state of all ranking settings after the change |
topic_pages_preview_opened Webhook
Triggered when the topic pages preview dialog is opened, tracking where it was opened from and which topic is being viewed.
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: "graph-quick-actions" "graph-node-type-tag" Where the dialog was opened from (quick-actions button, node-type-tag click, or other) |
| selectedNodeType required | string or null Enum: "lecture" "parent-topic" "topic" Type of the selected node in the knowledge graph when the dialog was opened |
| targetTopicId required | string or null ID of the target topic to scroll to when the dialog opens (if any) |
| initialViewMode required | string Enum: "only-pages" "pages-tab" "exam-tab" Initial view mode when the dialog opens (pages or exam) |
| lectureId required | string or null ID of the lecture being previewed |
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 |
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" "knowledge-graph" 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 |
| includeImages required | boolean Whether the exam was generated with images |
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-chat" "ai-flashcard-from-flashcard" "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 |
| includeImages required | boolean Whether the flashcard was created with images |
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" "sidebar" "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_imported Webhook
Triggered when a user imports 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 |
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" "flashcard_deck_generation_dialog" "exam_generation_chat_tool" "summary_generation_chat_tool" "deck_generation_chat_tool" "podcast_generation_dialog" "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" "flashcard_deck_generation_dialog" "exam_generation_chat_tool" "summary_generation_chat_tool" "deck_generation_chat_tool" "podcast_generation_dialog" "decks_overview" "search_modal" "tasks" "sidebar" "dailyquiz" "home" The location of the lecture upload |
| fileType required | string The MIME type of the uploaded file |
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_empty_state" "create_exam_dialog" "create_flashcard_dialog" "exam_configurator" "chat_messages" "exams" "flashcards" "summaries" "podcast_episodes" "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 |
number or number The remaining exam quota | |
| examsLimitsPeriodEnd | number The end of the current exam quota period |
number or number The remaining summaries quota | |
| summariesLimitsPeriodEnd | number The end of the current summaries quota period |
number or number The remaining flashcards quota | |
| flashcardsLimitsPeriodEnd | number The end of the current flashcards quota period |
number or 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_empty_state" "create_exam_dialog" "create_flashcard_dialog" "exam_configurator" "chat_messages" "exams" "flashcards" "summaries" "podcast_episodes" "flashcard_additions" "question_additions" "note_export" "exam_export" "flashcard_export" |
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" "podcast_episodes" "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_empty_state" "create_exam_dialog" "create_flashcard_dialog" "exam_configurator" "chat_messages" "exams" "flashcards" "summaries" "podcast_episodes" "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" "podcast_episodes" 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 |
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 |
podcast_created Webhook
Triggered when a user creates a podcast.
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 |
| template required | string Enum: "explainer" "dialogue" "narrative" "review" The template used for the podcast creation |
| location required | string Enum: "podcast_overview" "workspace" "sidebar" "library" "planner" The location of the podcast 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 podcast |
| episodeCount required | number The number of episodes in the podcast |
| withClips required | boolean Whether the exam was generated with clips |
podcast_episode_ended Webhook
Automatically triggered when an episode ends and manually triggered when it reached 90% of the duration.
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 episode |
| template required | string Enum: "explainer" "dialogue" "narrative" "review" The template of the episode |
podcast_episode_generated Webhook
Triggered when a user generates an episode.
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 |
| episodeIndex required | number The index of the episode that was generated |
| template required | string Enum: "explainer" "dialogue" "narrative" "review" The template used for the episode generation |
| 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 episode |
| withClips required | boolean Whether the episode was generated with clips |
podcast_episode_played_paused Webhook
Triggered when a user plays/pauses an episode.
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 |
| played required | boolean Whether the episode was played or paused |
| location required | string Enum: "sticky-bottom-player" "episode-card" "mini-player" The location from where the episode was played/paused |
| currentTime required | number The current time of the episode |
| duration required | number The duration of the episode |
| listenedSeconds required | number The listened seconds of the episode when the event is triggered |
podcast_playback_rate_changed Webhook
Triggered when a user changes the playback rate of an episode.
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 |
| playbackRate required | number The new playback rate of the episode |
| prevPlaybackRate required | number The previous playback rate of the episode |
| location required | string Enum: "sticky-bottom-player" "episode-card" "mini-player" The location from where the playback rate was changed |
| template | string Enum: "explainer" "dialogue" "narrative" "review" The template of the episode |
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: "header_students" "header_educators" "header_blog" "header_glossary" "header_community" "header_university" "header_public_course" "header_public_exam" "header_legal" "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" "podcast_episode" "flashcard_deck_generation_dialog" Location where the citation was clicked |
| page | number Page number that was clicked |
knowledge_graph_opened Webhook
Triggered when a user opens 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 |
| lectureId required | string |
| location required | string Enum: "pdf_toolbar" "item_action_select" Location from which the user opened the knowledge graph |
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 |
lecture_pdf_downloaded Webhook
Triggered when a lecture PDF is downloaded
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 |
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 |
| noteId required | string Unique identifier for the note |
| withClips required | boolean Whether the note was exported with clips |
| includeCitations required | boolean Whether citations were included in the exported PDF |
open_chat_with_source Webhook
Triggered when a user opens chat with a lecture as source
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 |
| location required | string Enum: "pdf_toolbar" "pdf_highlight" Location from which the user opened chat with a lecture as source |
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" "knowledge-graph" "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" "podcast_card" "podcast_episode" Location from which the user opened the panel content |
| visiblePanels required | Array of strings Items Enum: "lecture" "note" "chat" "flashcard" List of visible panels. |