Webhook

Stytch Consumer Webhook Event Types

This is the list of event types that we currently send.
For guidance on how to listen to these events, take a look at Svix's guide to consuming webhooks.

dashboard.user.create

User created via dashboard

Example
JSON
{
  "action": "CREATE",
  "event_id": "webhook-event-test-00000000-0000-0000-0000-000000000000",
  "id": "user-test-00000000-0000-0000-0000-000000000000",
  "object_type": "user",
  "project_id": "project-test-00000000-0000-0000-0000-000000000000",
  "source": "DASHBOARD",
  "timestamp": "2024-11-21T06:47:49.555247073Z",
  "user": {
    "biometric_registrations": [],
    "created_at": "2024-01-02T03:04:05Z",
    "crypto_wallets": [],
    "emails": [
      {
        "email": "adalovelace@stytch.example.com",
        "email_id": "email-test-00000000-0000-0000-0000-000000000000",
        "verified": false
      }
    ],
    "external_id": "",
    "is_locked": false,
    "lock_created_at": null,
    "lock_expires_at": null,
    "name": {
      "first_name": "Ada",
      "last_name": "Lovelace",
      "middle_name": ""
    },
    "password": null,
    "phone_numbers": [],
    "providers": [],
    "status": "active",
    "totps": [],
    "trusted_metadata": {},
    "untrusted_metadata": {},
    "user_id": "user-test-00000000-0000-0000-0000-000000000000",
    "webauthn_registrations": []
  },
  "vertical": "CONSUMER"
}

dashboard.user.delete

User deleted via dashboard

Example
JSON
{
  "action": "DELETE",
  "event_id": "webhook-event-test-00000000-0000-0000-0000-000000000000",
  "id": "user-test-00000000-0000-0000-0000-000000000000",
  "object_type": "user",
  "project_id": "project-test-00000000-0000-0000-0000-000000000000",
  "source": "DASHBOARD",
  "timestamp": "2024-11-21T06:47:49.555247073Z",
  "vertical": "CONSUMER"
}

dashboard.user.update

User updated via dashboard

Example
JSON
{
  "action": "UPDATE",
  "event_id": "webhook-event-test-00000000-0000-0000-0000-000000000000",
  "id": "user-test-00000000-0000-0000-0000-000000000000",
  "object_type": "user",
  "project_id": "project-test-00000000-0000-0000-0000-000000000000",
  "source": "DASHBOARD",
  "timestamp": "2024-11-21T06:47:49.555247073Z",
  "user": {
    "biometric_registrations": [],
    "created_at": "2024-01-02T03:04:05Z",
    "crypto_wallets": [],
    "emails": [
      {
        "email": "adalovelace@stytch.example.com",
        "email_id": "email-test-00000000-0000-0000-0000-000000000000",
        "verified": false
      }
    ],
    "external_id": "",
    "is_locked": false,
    "lock_created_at": null,
    "lock_expires_at": null,
    "name": {
      "first_name": "Ada",
      "last_name": "Lovelace",
      "middle_name": ""
    },
    "password": null,
    "phone_numbers": [],
    "providers": [],
    "status": "active",
    "totps": [],
    "trusted_metadata": {},
    "untrusted_metadata": {},
    "user_id": "user-test-00000000-0000-0000-0000-000000000000",
    "webauthn_registrations": []
  },
  "vertical": "CONSUMER"
}

direct.user.create

User created via API or SDK call

Example
JSON
{
  "action": "CREATE",
  "event_id": "webhook-event-test-00000000-0000-0000-0000-000000000000",
  "id": "user-test-00000000-0000-0000-0000-000000000000",
  "object_type": "user",
  "project_id": "project-test-00000000-0000-0000-0000-000000000000",
  "source": "DIRECT",
  "timestamp": "2024-11-21T06:47:49.555247073Z",
  "user": {
    "biometric_registrations": [],
    "created_at": "2024-01-02T03:04:05Z",
    "crypto_wallets": [],
    "emails": [
      {
        "email": "adalovelace@stytch.example.com",
        "email_id": "email-test-00000000-0000-0000-0000-000000000000",
        "verified": false
      }
    ],
    "external_id": "",
    "is_locked": false,
    "lock_created_at": null,
    "lock_expires_at": null,
    "name": {
      "first_name": "Ada",
      "last_name": "Lovelace",
      "middle_name": ""
    },
    "password": null,
    "phone_numbers": [],
    "providers": [],
    "status": "active",
    "totps": [],
    "trusted_metadata": {},
    "untrusted_metadata": {},
    "user_id": "user-test-00000000-0000-0000-0000-000000000000",
    "webauthn_registrations": []
  },
  "vertical": "CONSUMER"
}

direct.user.delete

User deleted via API or SDK call

Example
JSON
{
  "action": "DELETE",
  "event_id": "webhook-event-test-00000000-0000-0000-0000-000000000000",
  "id": "user-test-00000000-0000-0000-0000-000000000000",
  "object_type": "user",
  "project_id": "project-test-00000000-0000-0000-0000-000000000000",
  "source": "DIRECT",
  "timestamp": "2024-11-21T06:47:49.555247073Z",
  "vertical": "CONSUMER"
}

direct.user.update

User updated via API or SDK call

Example
JSON
{
  "action": "UPDATE",
  "event_id": "webhook-event-test-00000000-0000-0000-0000-000000000000",
  "id": "user-test-00000000-0000-0000-0000-000000000000",
  "object_type": "user",
  "project_id": "project-test-00000000-0000-0000-0000-000000000000",
  "source": "DIRECT",
  "timestamp": "2024-11-21T06:47:49.555247073Z",
  "user": {
    "biometric_registrations": [],
    "created_at": "2024-01-02T03:04:05Z",
    "crypto_wallets": [],
    "emails": [
      {
        "email": "adalovelace@stytch.example.com",
        "email_id": "email-test-00000000-0000-0000-0000-000000000000",
        "verified": false
      }
    ],
    "external_id": "",
    "is_locked": false,
    "lock_created_at": null,
    "lock_expires_at": null,
    "name": {
      "first_name": "Ada",
      "last_name": "Lovelace",
      "middle_name": ""
    },
    "password": null,
    "phone_numbers": [],
    "providers": [],
    "status": "active",
    "totps": [],
    "trusted_metadata": {},
    "untrusted_metadata": {},
    "user_id": "user-test-00000000-0000-0000-0000-000000000000",
    "webauthn_registrations": []
  },
  "vertical": "CONSUMER"
}

direct.user_device.new_device_attribute

New device attribute seen for user via API or SDK call

Example
JSON
{
  "action": "NEW_DEVICE_ATTRIBUTE",
  "event_id": "webhook-event-test-00000000-0000-0000-0000-000000000000",
  "id": "user-test-00000000-0000-0000-0000-000000000000",
  "object_type": "user_device",
  "project_id": "project-test-00000000-0000-0000-0000-000000000000",
  "source": "DIRECT",
  "timestamp": "2025-08-12T14:54:42.678901Z",
  "user_device": {
    "ip_address": "192.0.2.0",
    "ip_address_details": {
      "first_seen_at": "2025-08-01T21:26:30Z",
      "is_new": false,
      "last_seen_at": "2025-08-04T01:45:42Z"
    },
    "ip_geo_city": "San Francisco",
    "ip_geo_country": "US",
    "ip_geo_country_details": {
      "first_seen_at": "2025-08-01T21:26:30Z",
      "is_new": false,
      "last_seen_at": "2025-08-04T01:45:42Z"
    },
    "ip_geo_region": "California",
    "visitor_id": "visitor-00000000-0000-0000-0000-000000000000",
    "visitor_id_details": {
      "first_seen_at": "2025-08-12T14:54:42Z",
      "is_new": true,
      "last_seen_at": null
    }
  },
  "vertical": "CONSUMER"
}