Reference

Webhook events

Every webhook event type, when it is sent, and the data it carries.

View .md llms.txt

Every webhook is a POST with this JSON body (JSON Schema: /schemas/webhook-event.json):

json
{
  "id": "evt_…",
  "type": "user.created",
  "createdAt": "2026-11-09T08:00:00.000Z",
  "tenant": "tnt_…",
  "environment": "production",
  "data": { … }
}

For events about a user, data also has userId and user, a snapshot of the user as the Management API returns it (null once deleted). Headers: 9in-signature, 9in-event-id, 9in-event-type, 9in-delivery-id. How to verify and process them: Webhooks.

#Users

EventWhendata (besides userId, user)
user.createdA user was created: sign-up, first social or enterprise sign-in, the console or the API
user.updatedProfile, identifiers, metadata or the blocked flag changedfields: the names that changed
user.deletedThe user was deleted
user.password_changedA password was set, reset or changedreason: set, reset or import

#Sign-in

EventWhendata
user.loginSomeone signed inmethod (pwd, otp, social, fed, link, joined with + and mfa, e.g. pwd+mfa), ip, client, and grant for the password grant
user.login_failedA sign-in failedreason (e.g. invalid_credentials, mfa_invalid_code), method, ip, client; userId is null
user.sessions_revokedAll of a user's sessions were ended (sign out everywhere, an admin, the API)count

#Sessions and tokens

EventWhendata
session.revokedOne session ended (sign-out, the account page, an admin, the API)sid
token.revokedA refresh or access token was revokedtype (refresh_token or access_token), clientId, sid, and jti for access tokens

APIs using hybrid verification pass these to verifier.handleEvent().

#Two-factor

EventWhendata
user.mfa_enabledThe user set up an authenticator app
user.mfa_disabledTwo-factor was turned offby: user or admin

#Testing

EventWhen
webhook.testYou pressed Send test on an endpoint in the console

Events are delivered at least once and not necessarily in order; the same event id repeats on retries and redeliveries.