Webhook Event Catalog

All events AuthWorx can deliver to your endpoint, with full payload examples.

Payload envelope

Every webhook delivery shares the same outer envelope:

{
  "event":     "member.joined",
  "orgId":     "org_01ABCD",
  "orgSlug":   "acme-corp",
  "timestamp": "2025-05-23T14:00:00.000Z",
  "data":      { ... }
}
FieldTypeDescription
eventstringEvent name (see catalog below).
orgIdstringID of the organization that triggered the event.
orgSlugstringSlug of the organization.
timestampstring (ISO 8601)UTC time when the event occurred.
dataobjectEvent-specific payload (see each event below).
ℹ️
Always verify the X-Webhook-Signature header before processing the payload. See Signature Verification.

Member events

member.invited An org admin sent an invitation email.
{
  "event": "member.invited",
  "orgId": "org_01ABCD",
  "orgSlug": "acme-corp",
  "timestamp": "2025-05-23T14:00:00.000Z",
  "data": {
    "inviteId": "inv_01XYZ",
    "email": "bob@acme.com",
    "role": "member",
    "invitedBy": {
      "id": "usr_01HXYZ",
      "email": "alice@acme.com"
    },
    "expiresAt": "2025-05-30T14:00:00.000Z"
  }
}
member.joined A user accepted an invitation and joined the org.
{
  "event": "member.joined",
  "orgId": "org_01ABCD",
  "orgSlug": "acme-corp",
  "timestamp": "2025-05-24T09:15:00.000Z",
  "data": {
    "user": {
      "id": "usr_01HABC",
      "name": "Bob Smith",
      "email": "bob@acme.com"
    },
    "membership": {
      "role": "member",
      "status": "active",
      "joinedAt": "2025-05-24T09:15:00.000Z"
    }
  }
}
member.removed A member was removed from the org by an admin.
{
  "event": "member.removed",
  "orgId": "org_01ABCD",
  "orgSlug": "acme-corp",
  "timestamp": "2025-05-25T16:00:00.000Z",
  "data": {
    "user": {
      "id": "usr_01HABC",
      "email": "bob@acme.com"
    },
    "removedBy": {
      "id": "usr_01HXYZ",
      "email": "alice@acme.com"
    }
  }
}

Organization events

org.updated Organization settings were changed.
{
  "event": "org.updated",
  "orgId": "org_01ABCD",
  "orgSlug": "acme-corp",
  "timestamp": "2025-05-23T11:00:00.000Z",
  "data": {
    "org": {
      "id": "org_01ABCD",
      "name": "Acme Corporation",
      "slug": "acme-corp",
      "appUrl": "https://app.acme.com",
      "plan": "pro",
      "status": "active"
    }
  }
}
org.suspended The organization was suspended or deleted by a platform admin.
{
  "event": "org.suspended",
  "orgId": "org_01ABCD",
  "orgSlug": "acme-corp",
  "timestamp": "2025-05-26T08:00:00.000Z",
  "data": {
    "org": {
      "id": "org_01ABCD",
      "name": "Acme Corp",
      "slug": "acme-corp",
      "status": "suspended"
    }
  }
}

User events

user.login A user successfully completed login (including 2FA if enabled).
{
  "event": "user.login",
  "orgId": "org_01ABCD",
  "orgSlug": "acme-corp",
  "timestamp": "2025-05-23T09:01:00.000Z",
  "data": {
    "user": {
      "id": "usr_01HXYZ",
      "email": "alice@acme.com",
      "name": "Alice Chen"
    }
  }
}
user.deleted A user account was permanently deleted.
{
  "event": "user.deleted",
  "orgId": "org_01ABCD",
  "orgSlug": "acme-corp",
  "timestamp": "2025-05-27T10:00:00.000Z",
  "data": {
    "user": {
      "id": "usr_01HXYZ",
      "email": "alice@acme.com"
    }
  }
}

Test events

webhook.test Sent when you click Test on a webhook. Not a real event — safe to ignore in production.
{
  "event": "webhook.test",
  "orgId": "org_01ABCD",
  "orgSlug": "acme-corp",
  "timestamp": "2025-05-23T15:00:00.000Z",
  "data": { "message": "This is a test delivery from AuthWorx." }
}

Full event list

EventTrigger
member.invitedOrg admin sends an invitation.
member.joinedUser accepts invite and joins.
member.removedOrg admin removes a member.
org.updatedOrg settings are changed.
org.suspendedOrg is suspended or deleted by platform admin.
user.loginSuccessful login (including after 2FA).
user.deletedUser account is permanently deleted.
webhook.testManual test delivery from admin panel.