For Developers

Events

Events are the payload sent to your subscribers. They represent actions taken on the Edlink platform, such as user logins, integration updates, or materialization failures. Each event has a specific type and a payload that contains relevant information about the event.

Event Structure

Each event is structured as a JSON object with the following fields:

  • type: The type of the event (e.g. person.login, materialization.scheduled).
  • date: The timestamp of when the event occurred.
  • payload: An object containing additional information specific to the event type.
{
    "type": "person.login",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "string",
        "materialization_id": "string"
    }
}

Event Types

Click on an event type below to see its details:

TypeWhen
person.loginEmitted when a standard login is performed by a Person into your Application, (e.g. via Edlink's sso page).
person.login.ltiEmitted when a LTI login is performed by a Person into your Application.
person.login.scopedEmitted when a scoped login is performed by a Person into your Application (typically this is the Edlink Widget authenticating).
person.login.errorEmitted when a login is attempted but fails.
person.login.initiatedEmitted when a Person initiates a login into your Application.
application.createdEmitted when a new application is created on your team.
application.updatedEmitted when an application's settings are updated.
application.deletedEmitted when an application is marked as destroyed.
application.secret.createdEmitted when a new secret is created on your Application.
application.secret.deletedEmitted when a secret is deleted from your Application.
integration.createdEmitted when a new integration is created between a Source and your Application. This usually occurs during onboarding.
integration.updatedEmitted when an integration's properties is updated.
integration.marked_for_deletionEmitted when an integration's state is changed to destroyed. It will be deleted within 3 days.
integration.destroyedEmitted when an integration is actually destroyed. This action is irreversible.
sharing_rule.createdEmitted when a sharing rule (or its conditions) is created on an integration.
sharing_rule.updatedEmitted when a sharing rule (or its conditions) is updated on an integration.
sharing_rule.deletedEmitted when a sharing rule (and its conditions) is deleted from an integration.
transformation.createdEmitted when a transformation is added to an integration.
transformation.updatedEmitted when a transformation on an integration is updated.
transformation.deletedEmitted when a transformation is removed from an integration.
materialization.scheduledEmitted when a new materialization is scheduled. Typically as the result of a change to sharing rules, transformations, etc.
materialization.startedEmitted when a materialization is claimed and starts running.
materialization.completedEmitted when a materialization finished successfully.
materialization.pendingEmitted when a materialization is halted because it exceeded a safety threshold and requires manual review.
materialization.errorEmitted when a materialization fails.
materialization.canceledEmitted when a materialization is canceled.
materialization.data_changedEmitted when a materialization finished and resulted in data being changed.
service_account.createdEmitted when a service account is created on your team.
service_account.deletedEmitted when a service account is deleted from your team.
service_account.token.createdEmitted when a token is created for a service account on your team.
service_account.token.deletedEmitted when a token is deleted from a service account on your team.
team.updatedEmitted when your team's settings are updated.
team.member.invitedEmitted when someone is invited to join your team.
team.member.addedEmitted when someone accepts an invitation and is added to your team.
team.member.updatedEmitted when a team member's role is updated.
team.member.deletedEmitted when a team member is removed from your team.

Events

Events can vary based on the actions taken on the platform. Here are the current event types you can expect to receive:

Fields that are not required could be omitted from the payload or be null / undefined.

Team-scoped events (service accounts, team settings, and memberships) are delivered to all non-destroyed applications on the team.


Person Login

Emitted when a standard login is performed by a Person into your Application, (e.g. via Edlink's sso page).

FieldRequiredDescription
application_idThe UUID of the application the login is for.
integration_idThe UUID of the integration the login is for (if known).
person_idThe UUID of the person that is logging in (if known).

Example

{
    "type": "person.login",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "person_id": "00000000-0000-0000-0000-000000000000"
    }
}

Person Login LTI

Emitted when a LTI login is performed by a Person into your Application.

FieldRequiredDescription
application_idThe UUID of the application the login is for.
integration_idThe UUID of the integration the login is for (if known).
person_idThe UUID of the person that is logging in (if known).

Example

{
    "type": "person.login.lti",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "person_id": "00000000-0000-0000-0000-000000000000"
    }
}

Person Login Scoped

Emitted when a scoped login is performed by a Person into your Application (typically this is the Edlink Widget authenticating).

FieldRequiredDescription
application_idThe UUID of the application the login is for.
integration_idThe UUID of the integration the login is for (if known).
person_idThe UUID of the person that is logging in (if known).

Example

{
    "type": "person.login.scoped",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "person_id": "00000000-0000-0000-0000-000000000000"
    }
}

Person Login Error

Emitted when a login is attempted but fails.

FieldRequiredDescription
application_idThe UUID of the application the login is for.
integration_idThe UUID of the integration the login is for (if known).
person_idThe UUID of the person that is logging in (if known).

Example

{
    "type": "person.login.error",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": null,
        "person_id": null
    }
}

Person Login Initiated

Emitted when a Person initiates a login into your Application.

FieldRequiredDescription
application_idThe UUID of the application the login is for.
integration_idThe UUID of the integration the login is for (if known).
person_idThe UUID of the person that is logging in (if known).

Example

{
    "type": "person.login.initiated",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": null,
        "person_id": null
    }
}

Application Created

Emitted when a new application is created on your team.

FieldRequiredDescription
application_idThe UUID of the application that was created.
team_idThe UUID of the team that owns the application.
application_nameThe name of the application.
application_statusThe status of the application.

Example

{
    "type": "application.created",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "team_id": "00000000-0000-0000-0000-000000000000",
        "application_name": "My Application",
        "application_status": "released"
    }
}

Application Updated

Emitted when an application's settings are updated.

FieldRequiredDescription
application_idThe UUID of the application that was updated.
team_idThe UUID of the team that owns the application.
application_nameThe name of the application.
application_statusThe status of the application.

Example

{
    "type": "application.updated",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "team_id": "00000000-0000-0000-0000-000000000000",
        "application_name": "My Application",
        "application_status": "released"
    }
}

Application Deleted

Emitted when an application is marked as destroyed.

FieldRequiredDescription
application_idThe UUID of the application that was deleted.
team_idThe UUID of the team that owned the application.
application_nameThe name of the application.

Example

{
    "type": "application.deleted",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "team_id": "00000000-0000-0000-0000-000000000000",
        "application_name": "My Application"
    }
}

Application Secret Created

Emitted when a secret is created for your Application.

FieldRequiredDescription
application_idThe UUID of the application the secret is for.
credential_idThe UUID of the credential that was created.

Example

{
    "type": "application.secret.created",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "credential_id": "00000000-0000-0000-0000-000000000000"
    }
}

Application Secret Deleted

Emitted when a secret is deleted from your Application.

FieldRequiredDescription
application_idThe UUID of the application the secret is for.
credential_idThe UUID of the credential that was deleted.

Example

{
    "type": "application.secret.deleted",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "application_id": "00000000-0000-0000-0000-000000000000",
        "credential_id": "00000000-0000-0000-0000-000000000000"
    }
}

Integration Created

Emitted when a new integration is created between a Source and your Application. This usually occurs during onboarding.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
application_idThe UUID of the application the integration is for.
source_idThe UUID of the source the integration is for.
destination_idThe UUID of the destination the integration is for.
permissionsThe permissions granted to the integration.
propertiesThe properties of the integration.
statusThe status of the integration.
region_idThe UUID of the region the integration is in.

Example

{
    "type": "integration.created",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000",
        "application_id": "00000000-0000-0000-0000-000000000000",
        "source_id": "00000000-0000-0000-0000-000000000000",
        "destination_id": null,
        "permissions": [],
        "properties": { "custom_property": "value" },
        "status": "requested",
        "region_id": "00000000-0000-0000-0000-000000000000"
    }
}

Integration Updated

Emitted when an integration's settings or properties are updated.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
application_idThe UUID of the application the integration is for.
source_idThe UUID of the source the integration is for.
destination_idThe UUID of the destination the integration is for.
permissionsThe permissions granted to the integration.
propertiesThe properties of the integration.
statusThe status of the integration.
region_idThe UUID of the region the integration is in.

Example

{
    "type": "integration.updated",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000",
        "application_id": "00000000-0000-0000-0000-000000000000",
        "source_id": "00000000-0000-0000-0000-000000000000",
        "destination_id": null,
        "permissions": [],
        "properties": { "custom_property": "value" },
        "status": "active",
        "region_id": "00000000-0000-0000-0000-000000000000"
    }
}

Integration Marked for Deletion

Emitted when an integration's state is changed to destroyed. It will be deleted within 3 days.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
application_idThe UUID of the application the integration is for.
source_idThe UUID of the source the integration is for.
destination_idThe UUID of the destination the integration is for.
permissionsThe permissions granted to the integration.
propertiesThe properties of the integration.
statusThe status of the integration.
region_idThe UUID of the region the integration is in.

Example

{
    "type": "integration.marked_for_deletion",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000",
        "application_id": "00000000-0000-0000-0000-000000000000",
        "source_id": "00000000-0000-0000-0000-000000000000",
        "destination_id": null,
        "permissions": [],
        "properties": { "custom_property": "value" },
        "status": "destroyed",
        "region_id": "00000000-0000-0000-0000-000000000000"
    }
}

Integration Destroyed

Emitted when an integration is actually destroyed. This action is irreversible.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.

Example

{
    "type": "integration.destroyed",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000"
    }
}

Sharing Rule Created

Emitted when a sharing rule (or its conditions) is created on an integration.

FieldRequiredDescription
rule_idThe UUID of the rule that was created.
integration_idThe UUID of the integration the rule belongs to.
source_idThe UUID of the source for the integration.
rule_typeThe type of the rule.
rule_stateThe state of the rule.
rule_targetThe target of the rule.

Example

{
    "type": "sharing_rule.created",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "rule_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "source_id": "00000000-0000-0000-0000-000000000000",
        "rule_type": "sharing",
        "rule_state": "draft",
        "rule_target": "people"
    }
}

Sharing Rule Updated

Emitted when a sharing rule (or its conditions) is updated on an integration.

FieldRequiredDescription
rule_idThe UUID of the rule that was updated.
integration_idThe UUID of the integration the rule belongs to.
source_idThe UUID of the source for the integration.
rule_typeThe type of the rule.
rule_stateThe state of the rule.
rule_targetThe target of the rule.

Example

{
    "type": "sharing_rule.updated",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "rule_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "source_id": "00000000-0000-0000-0000-000000000000",
        "rule_type": "sharing",
        "rule_state": "active",
        "rule_target": "people"
    }
}

Sharing Rule Deleted

Emitted when a sharing rule (and its conditions) is deleted from an integration.

FieldRequiredDescription
rule_idThe UUID of the rule that was deleted.
integration_idThe UUID of the integration the rule belonged to.
source_idThe UUID of the source for the integration.
rule_typeThe type of the rule.

Example

{
    "type": "sharing_rule.deleted",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "rule_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "source_id": "00000000-0000-0000-0000-000000000000",
        "rule_type": "sharing"
    }
}

Transformation Created

Emitted when a transformation is added to an integration.

FieldRequiredDescription
transformation_idThe UUID of the transformation that was created.
integration_idThe UUID of the integration the transformation is for.
block_idThe UUID of the block used by the transformation.

Example

{
    "type": "transformation.created",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "transformation_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "block_id": "00000000-0000-0000-0000-000000000000"
    }
}

Transformation Updated

Emitted when a transformation on an integration is updated.

FieldRequiredDescription
transformation_idThe UUID of the transformation that was updated.
integration_idThe UUID of the integration the transformation is for.
block_idThe UUID of the block used by the transformation.

Example

{
    "type": "transformation.updated",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "transformation_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "block_id": "00000000-0000-0000-0000-000000000000"
    }
}

Transformation Deleted

Emitted when a transformation is removed from an integration.

FieldRequiredDescription
transformation_idThe UUID of the transformation that was deleted.
integration_idThe UUID of the integration the transformation was for.

Example

{
    "type": "transformation.deleted",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "transformation_id": "00000000-0000-0000-0000-000000000000",
        "integration_id": "00000000-0000-0000-0000-000000000000"
    }
}

Materialization Scheduled

Emitted when a new materialization is scheduled. Typically as the result of a change to sharing rules, transformations, etc.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
materialization_idThe UUID of the materialization that was scheduled.

Example

{
    "type": "materialization.scheduled",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000"
    }
}

Materialization Started

Emitted when a materialization is claimed and starts running.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
materialization_idThe UUID of the materialization that has started.

Example

{
    "type": "materialization.started",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000"
    }
}

Materialization Completed

Emitted when a materialization finished successfully.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
materialization_idThe UUID of the materialization that ran.

Example

{
    "type": "materialization.completed",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000"
    }
}

Materialization Pending

Emitted when a materialization is halted because it exceeded a safety threshold and requires manual review.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
materialization_idThe UUID of the materialization that was halted.
reasonA description of why the materialization was halted.
thresholdsDetails about which thresholds were exceeded.

Example

{
    "type": "materialization.pending",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000",
        "reason": "Create threshold exceeded for people (absolute)",
        "thresholds": {
            "people": {
                "threshold": 100,
                "actual": 250
            }
        }
    }
}

Materialization Error

Emitted when a materialization fails.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
materialization_idThe UUID of the materialization that failed.

Example

{
    "type": "materialization.error",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000"
    }
}

Materialization Canceled

Emitted when a materialization is canceled.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
materialization_idThe UUID of the materialization that was canceled.

Example

{
    "type": "materialization.canceled",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000"
    }
}

Materialization Data Changed

Emitted when a materialization finished and resulted in data being changed.

FieldRequiredDescription
integration_idThe UUID of the integration the materialization is for.
materialization_idThe UUID of the materialization that completed and changed data.
changesA summary of the changes made during the materialization process.

The changes field in the materialization.data_changed event payload contains a summary of the changes made during the materialization process. It is an object where each key is the entity type that was affected, and the value is another object detailing the number of records inserted, updated, and deleted.

Example

{
    "type": "materialization.data_changed",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "integration_id": "00000000-0000-0000-0000-000000000000",
        "materialization_id": "00000000-0000-0000-0000-000000000000",
        "changes": {
            "districts": { "inserted": 0, "updated": 0, "deleted": 0 },
            "schools": { "inserted": 1, "updated": 2, "deleted": 0 },
            "sessions": { "inserted": 0, "updated": 0, "deleted": 0 },
            "periods": { "inserted": 0, "updated": 0, "deleted": 0 },
            "stops": { "inserted": 0, "updated": 0, "deleted": 0 },
            "calendars": { "inserted": 0, "updated": 0, "deleted": 0 },
            "days": { "inserted": 0, "updated": 0, "deleted": 0 },
            "departments": { "inserted": 0, "updated": 0, "deleted": 0 },
            "subjects": { "inserted": 0, "updated": 0, "deleted": 0 },
            "facilities": { "inserted": 0, "updated": 0, "deleted": 0 },
            "rooms": { "inserted": 0, "updated": 0, "deleted": 0 },
            "courses": { "inserted": 0, "updated": 0, "deleted": 0 },
            "classes": { "inserted": 4, "updated": 6, "deleted": 2 },
            "sections": { "inserted": 0, "updated": 0, "deleted": 0 },
            "people": { "inserted": 10, "updated": 5, "deleted": 2 },
            "incidents": { "inserted": 0, "updated": 0, "deleted": 0 },
            "enrollments": { "inserted": 15, "updated": 3, "deleted": 1 },
            "agents": { "inserted": 0, "updated": 0, "deleted": 0 },
            "meetings": { "inserted": 0, "updated": 0, "deleted": 0 },
            "attendance": { "inserted": 0, "updated": 0, "deleted": 0 },
            "assets": { "inserted": 0, "updated": 0, "deleted": 0 },
            "vehicles": { "inserted": 0, "updated": 0, "deleted": 0 },
            "routes": { "inserted": 0, "updated": 0, "deleted": 0 },
            "fees": { "inserted": 0, "updated": 0, "deleted": 0 }
        }
    }
}

Service Account Created

Emitted when a service account is created on your team.

FieldRequiredDescription
team_idThe UUID of the team the service account is for.
user_idThe UUID of the service account user.

Example

{
    "type": "service_account.created",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "team_id": "00000000-0000-0000-0000-000000000000",
        "user_id": "00000000-0000-0000-0000-000000000000"
    }
}

Service Account Deleted

Emitted when a service account is deleted from your team.

FieldRequiredDescription
team_idThe UUID of the team the service account was for.
user_idThe UUID of the service account user.

Example

{
    "type": "service_account.deleted",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "team_id": "00000000-0000-0000-0000-000000000000",
        "user_id": "00000000-0000-0000-0000-000000000000"
    }
}

Service Account Token Created

Emitted when a token is created for a service account on your team.

FieldRequiredDescription
team_idThe UUID of the team the service account is for.
user_idThe UUID of the service account user.
token_idThe UUID of the token that was created.

Example

{
    "type": "service_account.token.created",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "team_id": "00000000-0000-0000-0000-000000000000",
        "user_id": "00000000-0000-0000-0000-000000000000",
        "token_id": "00000000-0000-0000-0000-000000000000"
    }
}

Service Account Token Deleted

Emitted when a token is deleted from a service account on your team.

FieldRequiredDescription
team_idThe UUID of the team the service account is for.
user_idThe UUID of the service account user.
token_idThe UUID of the token that was deleted.

Example

{
    "type": "service_account.token.deleted",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "team_id": "00000000-0000-0000-0000-000000000000",
        "user_id": "00000000-0000-0000-0000-000000000000",
        "token_id": "00000000-0000-0000-0000-000000000000"
    }
}

Team Updated

Emitted when your team's settings are updated.

FieldRequiredDescription
team_idThe UUID of the team.
team_nameThe name of the team.
team_typeThe type of the team.
team_statusThe status of the team.

Example

{
    "type": "team.updated",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "team_id": "00000000-0000-0000-0000-000000000000",
        "team_name": "My Team",
        "team_type": "developer",
        "team_status": "active"
    }
}

Team Member Invited

Emitted when someone is invited to join your team.

FieldRequiredDescription
team_idThe UUID of the team.
invitation_idThe UUID of the invitation.
invitation_emailThe email address of the invitee.
invitation_typeThe membership type being offered.

Example

{
    "type": "team.member.invited",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "team_id": "00000000-0000-0000-0000-000000000000",
        "invitation_id": "00000000-0000-0000-0000-000000000000",
        "invitation_email": "user@example.com",
        "invitation_type": "readwrite"
    }
}

Team Member Added

Emitted when someone accepts an invitation and is added to your team.

FieldRequiredDescription
team_idThe UUID of the team.
membership_idThe UUID of the new membership.
user_idThe UUID of the user who was added.
membership_typeThe membership type that was granted.

Example

{
    "type": "team.member.added",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "team_id": "00000000-0000-0000-0000-000000000000",
        "membership_id": "00000000-0000-0000-0000-000000000000",
        "user_id": "00000000-0000-0000-0000-000000000000",
        "membership_type": "readwrite"
    }
}

Team Member Updated

Emitted when a team member's role is updated.

FieldRequiredDescription
team_idThe UUID of the team.
membership_idThe UUID of the membership.
user_idThe UUID of the user.
membership_typeThe updated membership type.

Example

{
    "type": "team.member.updated",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "team_id": "00000000-0000-0000-0000-000000000000",
        "membership_id": "00000000-0000-0000-0000-000000000000",
        "user_id": "00000000-0000-0000-0000-000000000000",
        "membership_type": "owner"
    }
}

Team Member Deleted

Emitted when a team member is removed from your team.

FieldRequiredDescription
team_idThe UUID of the team.
membership_idThe UUID of the membership.
user_idThe UUID of the user who was removed.
membership_typeThe membership type that was removed.

Example

{
    "type": "team.member.deleted",
    "date": "2024-08-11T12:34:56Z",
    "payload": {
        "team_id": "00000000-0000-0000-0000-000000000000",
        "membership_id": "00000000-0000-0000-0000-000000000000",
        "user_id": "00000000-0000-0000-0000-000000000000",
        "membership_type": "readwrite"
    }
}