Events and Payloads
Learn about when each webhook event occurs and what the payload contains
All eduMe webhooks have the following top-level properties:
-
type
indicates the type of the event that triggered the webhook. -
payload
contains the data associated with the event. -
timestamp
the date and time when the event occurred.
{
"type": "course.deleted",
"payload": { /* ... */ },
"timestamp": "2022-07-13T12:03:54.530Z"
}
Course-level WebhooksCopied!
course.addedCopied!
This event occurs when a new course is created
{
"type": "course.added",
"payload": {
"group": {
"groupId": 1297
},
"teams": [],
"course": {
"courseId": 14148,
"courseKey": "reboarding_your_workforce4900",
"title": "Reboarding your workforce",
},
"modules": [
{
"moduleId": 15010
}
],
"activities": [
{"activityId": 8558, "published": false, "type": "lesson"},
{"activityId": 2642, "published": false, "type": "survey"},
{"activityId": 6743, "published": false, "type": "assessment"},
],
"version": 1
},
"timestamp": "2023-05-31T11:42:57.633Z"
}
interface courseAdded {
type: "course.added";
payload: {
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
title: string,
},
modules: Array<{
moduleId: number,
}>,
activities: Array<{
activityId: number,
type: "lesson" | "survey" | "assessment"
published: boolean,
}>,
version: 1,
};
timestamp: string;
}
course.deletedCopied!
This event occurs when a course is deleted
{
"type": "course.deleted",
"payload": {
"group": {
"groupId": 3294
},
"teams": [
{
"teamId": 3493
}
],
"course": {
"courseId": 14147,
"courseKey": "reboarding_your_workforce4900"
"title": "Reboarding your workforce",
},
"modules": [
{
"moduleId": 15009
}
],
"activities": [],
"version": 1
},
"timestamp": "2023-05-31T11:34:31.290Z"
}
interface courseDeleted {
type: "course.deleted";
payload: {
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
title: string,
},
modules: Array<{
moduleId: number,
}>,
activities: Array<{
activityId: number,
type: "lesson" | "survey" | "assessment"
published: boolean,
}>,
version: 1,
};
timestamp: string;
}
course.publishedCopied!
This event occurs when a course is published
{
"type": "course.published",
"payload": {
"group": {
"groupId": 12779
},
"teams": [
{
"teamId": 55526
}
],
"course": {
"courseId": 22299,
"courseKey": "tips_for_good_mental_health7506"
"title": "Tips for good mental health",
},
"modules": [
{
"moduleId": 24775
}
],
"activities": [
{"activityId": 8558, "published": true, "type": "lesson"},
{"activityId": 2642, "published": true, "type": "survey"},
{"activityId": 6743, "published": true, "type": "assessment"},
],
"version": 1
},
"timestamp": "2023-06-09T09:27:28.210Z"
}
interface coursePublished {
type: "course.published";
payload: {
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
title: string,
},
modules: Array<{
moduleId: number,
}>,
activities: Array<{
activityId: number,
type: "lesson" | "survey" | "assessment"
published: boolean,
}>,
version: 1,
};
timestamp: string;
}
course.unpublishedCopied!
This event occurs when a course is unpublished
{
"type": "course.unpublished",
"payload": {
"group": {
"groupId": 12779
},
"teams": [
{
"teamId": 55526
}
],
"course": {
"courseId": 22299,
"courseKey": "tips_for_good_mental_health7506",
"title": "Tips for good mental health",
},
"modules": [
{
"moduleId": 24775
}
],
"activities": [
{"activityId": 8558, "published": false, "type": "lesson"},
{"activityId": 2642, "published": false, "type": "survey"},
{"activityId": 6743, "published": false, "type": "assessment"},
],
"version": 1
},
"timestamp": "2023-06-09T09:27:30.665Z"
}
interface courseUnpublished {
type: "course.unpublished";
payload: {
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
title: string,
},
modules: Array<{
moduleId: number,
}>,
activities: Array<{
activityId: number,
type: "lesson" | "survey" | "assessment"
published: boolean,
}>,
version: 1,
};
timestamp: string;
}
course.updatedCopied!
This event occurs when:
-
A course title is updated
-
A new activity is published within a published course
-
A team is assigned to a course
-
A team is unassigned from a course
{
"type": "course.updated",
"payload": {
"type": "title.changed",
"group": {
"groupId": 12779
},
"teams": [
{
"teamId": 55526
}
],
"course": {
"courseId": 22299,
"courseKey": "tips_for_good_mental_health7506",
"title": "Tips for good mental health",
},
"modules": [
{
"moduleId": 24775
}
],
"activities": [
{"activityId": 8558, "published": true, "type": "lesson"},
{"activityId": 2642, "published": true, "type": "survey"},
{"activityId": 6743, "published": true, "type": "assessment"},
],
"version": 1
},
"timestamp": "2023-06-09T09:27:35.655Z"
}
interface courseUpdated {
type: "course.updated";
payload: {
type: "title.changed" | "activity.published" | "team.assigned" | "team.removed",
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
courseKey: string,
title: string,
},
modules: Array<{
moduleId: number,
}>,
activities: Array<{
activityId: number,
type: "lesson" | "survey" | "assessment"
published: boolean,
}>,
version: 1,
};
timestamp: string;
}
Learner-level WebhooksCopied!
learner.addedCopied!
This event occurs when a learner is added to group or team
{
"type": "learner.added",
"payload": {
"user": {
"eId": "e1004a57-bac6-4e9d-9c5f-758b6582800b",
"userId": 112125,
"identifiers": []
},
"group": {
"groupId": 1297
},
"teams": [
{
"teamId": 8429
}
],
"courses": [
{
"courseId": 14148
}
],
"version": 1
},
"timestamp": "2023-05-31T15:10:15.380Z"
}
interface learnerAdded {
type: "learner.added";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
courses: Array<{
courseId: number,
}>,
version: 1,
};
timestamp: string;
}
learner.activatedCopied!
This event occurs when a learner activates their eduMe account
{
"type": "learner.activated",
"payload": {
"user": {
"eId": "eca95b3b-84be-40bd-83ae-aea08bda66f2",
"userId": 112122,
"identifiers": []
},
"group": {
"groupId": 1297
},
"teams": [
{
"teamId": 8429
}
],
"courses": [
{
"courseId": 8078
}
],
"version": 1
},
"timestamp": "2023-05-31T11:50:16.409Z"
}
interface learnerActivated {
type: "learner.activated";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
courses: Array<{
courseId: number,
}>,
version: 1,
};
timestamp: string;
}
learner.started.courseCopied!
This event occurs when a learner starts a course
{
"type": "learner.started.course",
"payload": {
"user": {
"eId": "e1004a57-bac6-4e9d-9c5f-758b6582800b",
"userId": 112125,
"identifiers": []
},
"group": {
"groupId": 1297
},
"teams": [
{
"teamId": 8429
}
],
"course": {
"courseId": 14148
},
"version": 1
},
"timestamp": "2023-05-31T15:11:50.655Z"
}
interface learnerStartedCourse {
type: "learner.started.course";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
},
version: 1,
};
timestamp: string;
}
learner.started.lessonCopied!
This event occurs when a learner starts a lesson
{
"type": "learner.started.lesson",
"payload": {
"user": {
"eId": "3497b389-7076-43ef-b53b-13bec756cae5",
"userId": 10215,
"identifiers": []
},
"group": {
"groupId": 5
},
"teams": [
{
"teamId": 8429
}
],
"course": {
"courseId": 9961
},
"module": {
"moduleId": 10658
},
"lesson": {
"lessonId": 28856
},
"version": 1
},
"timestamp": "2023-06-09T09:26:30.740Z"
}
interface learnerStartedLesson {
type: "learner.started.lesson";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
},
module: {
moduleId: number,
},
lesson: {
lessonId: number,
},
version: 1,
};
timestamp: string;
}
learner.started.assessmentCopied!
This event occurs when a learner starts a assessment
{
"type": "learner.started.assessment",
"payload": {
"user": {
"userId": 112121,
"identifiers": []
},
"group": {
"groupId": 3294
},
"teams": [
{
"teamId": 8429
}
],
"course": {
"courseId": 13615
},
"module": {
"moduleId": 14461
},
"assessment": {
"assessmentId": 37856
},
"version": 1
},
"timestamp": "2023-05-31T11:35:20.209Z"
}
interface learnerStartedAssessment {
type: "learner.started.assessment";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
},
module: {
moduleId: number,
},
assessment: {
assessmentId: number
},
version: 1,
};
timestamp: string;
}
learner.started.guideCopied!
This event occurs when a learner starts a guide
{
"type": "learner.started.guide",
"payload": {
"user": {
"eId": "3497b389-7076-43ef-b53b-13bec756cae5",
"userId": 10215,
"identifiers": []
},
"group": {
"groupId": 5
},
"teams": [
{
"teamId": 8429
}
],
"guide": {
"guideId": 1
},
"version": 1
},
"timestamp": "2024-02-08T11:18:19.369Z"
}
interface learnerStartedGuide {
type: "learner.started.guide";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
guide: {
guideId: number,
},
version: 1,
};
timestamp: string;
}
learner.completed.courseCopied!
This event occurs when a learner completes a course
{
"type": "learner.completed.course",
"payload": {
"user": {
"eId": "e1004a57-bac6-4e9d-9c5f-758b6582800b",
"userId": 112125,
"identifiers": []
},
"group": {
"groupId": 1297
},
"teams": [
{
"teamId": 8429
}
],
"course": {
"courseId": 14148
},
"version": 1
},
"timestamp": "2023-05-31T15:12:15.194Z"
}
interface learnerCompletedCourse {
type: "learner.completed.course";
payload: {
user: {
eId?: string;
userId: number;
identifiers: Array<{
id: number;
key: string;
value: string;
createdAt: string;
}>;
};
group: {
groupId: number;
};
teams: Array<{
teamId: number;
}>;
course: {
courseId: number;
certificateId?: string;
};
version: 1;
};
timestamp: string;
}
learner.completed.lessonCopied!
This event occurs when a learner completes a lesson
{
"type": "learner.completed.lesson",
"payload": {
"user": {
"eId": "e1004a57-bac6-4e9d-9c5f-758b6582800b",
"userId": 112125,
"identifiers": []
},
"group": {
"groupId": 1297
},
"teams": [
{
"teamId": 8429
}
],
"course": {
"courseId": 14148
},
"module": {
"moduleId": 15010
},
"lesson": {
"lessonId": 39298
},
"version": 1
},
"timestamp": "2023-05-31T15:12:00.927Z"
}
interface learnerCompletedLesson {
type: "learner.completed.lesson";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
},
module: {
moduleId: number,
},
lesson: {
lessonId: number,
},
version: 1,
};
timestamp: string;
}
learner.completed.assessmentCopied!
This event occurs when a learner completes an assessment
{
"type": "learner.completed.assessment",
"payload": {
"user": {
"eId": "62b35f8b-b2c0-45a5-8310-5ed1d0948e30",
"userId": 10217,
"identifiers": []
},
"group": {
"groupId": 5
},
"teams": [
{
"teamId": 8429
}
],
"course": {
"courseId": 9961
},
"module": {
"moduleId": 10658
},
"assessment": {
"assessmentId": 29216,
"status": "passed",
"score": 100,
"minimumScoreRequired": 0
},
"version": 1
},
"timestamp": "2023-06-09T09:25:58.375Z"
}
interface learnerCompletedAssessment {
type: "learner.completed.assessment";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
course: {
courseId: number,
},
module: {
moduleId: number,
},
assessment: {
assessmentId: number,
status: "passed" | "failed",
score: number,
minimumScoreRequired: number
},
version: 1,
};
timestamp: string;
}
learner.completed.surveyCopied!
This event occurs when a learner completes a survey
{
"type": "learner.completed.survey",
"payload": {
"user": {
"eId": "3497b389-7076-43ef-b53b-13bec756cae5",
"userId": 10215,
"identifiers": []
},
"group": {
"groupId": 5
},
"teams": [
{
"teamId": 8429
}
],
"course": {
"courseId": 9961
},
"module": {
"moduleId": 10658
},
"survey": {
"surveyId": 2159,
"type": "multipleChoice",
"hasFreeText": true,
"status": "completed"
},
"version": 1
},
"timestamp": "2023-06-09T09:25:12.462Z"
}
interface learnerCompletedSurvey {
type: "learner.completed.survey";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
survey: {
surveyId: number,
type: "enpsScore" | "freeText" | "multipleChoice",
hasFreeText: boolean,
status: "dismissed" | "completed",
},
version: 1,
};
timestamp: string;
}
learner.completed.guideCopied!
This event occurs when a learner completes a guide
{
"type": "learner.completed.guide",
"payload": {
"user": {
"eId": "3497b389-7076-43ef-b53b-13bec756cae5",
"userId": 10215,
"identifiers": []
},
"group": {
"groupId": 5
},
"teams": [
{
"teamId": 8429
}
],
"guide": {
"guideId": 1
},
"version": 1
},
"timestamp": "2024-02-08T11:18:00.653Z"
}
interface learnerCompletedGuide {
type: "learner.completed.guide";
payload: {
user: {
eId?: string,
userId: number,
identifiers: Array<{
id: number,
key: string,
value: string,
createdAt: string,
}>,
},
group: {
groupId: number,
},
teams: Array<{
teamId: number,
}>,
guide: {
guideId: number,
}
version: 1,
};
timestamp: string;
}