🤖 For AI agents: The complete documentation index is available at /docs/llms.txt. A markdown version of this page is available at /docs/extend/events-and-webhooks/events/user/user-update-complete.md.

User Update Complete

version
This event has been available since 1.30.0

This event is generated when a user update transaction has completed.

Event type
user.update.complete

Event Scope

Prior to version 1.37.0 this was a tenant or application scoped event. It can be sent to all applications or to one or more specified applications.

The ability to limit the generation of an event for only certain applications is legacy functionality and is removed as of version 1.37.0. In earlier versions, you almost certainly want to enable this event at the tenant level and optionally filter on the tenantId when consuming the event.

In version 1.37.0 and later this is a tenant scoped event. It can be sent to all tenants or to one or more specified tenants. Those tenants will only be sent events related to their tenant. You can optionally also filter on the **applicationId** when consuming the event.

Transaction Compatibility

This event is non-transactional. The operation will succeed regardless of the webhook response status code.

Event Body

event.createInstant Long

The instant that the event was generated.

event.id UUID

The unique Id of the event. You may receive an event more than once based upon your transaction settings. This Id may be used to identify a duplicate event.

event.info.data Object

An object that can hold any information about the event that should be persisted.

event.info.deviceDescription String

The description of the device associated with the event.

event.info.deviceName String

The device name associated with the event.

event.info.deviceType String

The type of device associated with the event.

event.info.ipAddress String

The source IP address of the event.

event.info.location.city String

The city where the event originated.

Note: To use event location data, you'll need an Enterprise plan.

event.info.location.country String

The country where the event originated.

Note: To use event location data, you'll need an Enterprise plan.

event.info.location.latitude Double

The latitude where the event originated.

Note: To use event location data, you'll need an Enterprise plan.

event.info.location.longitude Double

The longitude where the event originated.

Note: To use event location data, you'll need an Enterprise plan.

event.info.location.region String

The geographic location where the event originated.

Note: To use event location data, you'll need an Enterprise plan.

event.info.location.zipcode String

The zip code where the event originated.

Note: To use event location data, you'll need an Enterprise plan.

event.info.os String

The operating system associated with the event.

event.info.userAgent String

The user agent associated with the event.

event.linkedObjectId UUID Available since 1.53.0

The Id of the user related to this event.

event.original Object

The user before the update occurred, this is the old version of the user. See the Users API for property definitions and example JSON.

event.tenantId UUID

The unique tenant identifier. This value may not be returned if not applicable.

event.type String

The event type, this value will always be user.update.complete.

event.user Object

The user after the update, this is the new version of the user. See the Users API for property definitions and example JSON.

Example Event JSON

{
  "event": {
    "createInstant": 1505762615056,
    "id": "e502168a-b469-45d9-a079-fd45f83e0406",
    "info": {
      "ipAddress": "42.42.42.42",
      "location": {
        "city": "Denver",
        "country": "US",
        "displayString": "Denver, CO, US",
        "latitude": 39.77777,
        "longitude": -104.9191,
        "region": "CO"
      },
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
    },
    "original": {
      "active": true,
      "connectorId": "e3306678-a53a-4964-9040-1c96f36dda72",
      "email": "example@fusionauth.io",
      "id": "00000000-0000-0001-0000-000000000000",
      "lastLoginInstant": 1471786483322,
      "passwordChangeRequired": false,
      "passwordLastUpdateInstant": 1471786483322,
      "registrations": [
        {
          "applicationId": "10000000-0000-0002-0000-000000000001",
          "id": "00000000-0000-0002-0000-000000000000",
          "insertInstant": 1446064706250,
          "lastLoginInstant": 1456064601291,
          "roles": [
            "user"
          ],
          "usernameStatus": "ACTIVE"
        }
      ],
      "twoFactorEnabled": false,
      "usernameStatus": "ACTIVE",
      "verified": true
    },
    "tenantId": "e872a880-b14f-6d62-c312-cb40f22af465",
    "type": "user.update.complete",
    "user": {
      "active": true,
      "connectorId": "e3306678-a53a-4964-9040-1c96f36dda72",
      "email": "john@fusionauth.io",
      "id": "00000000-0000-0001-0000-000000000000",
      "lastLoginInstant": 1471786483322,
      "passwordChangeRequired": false,
      "passwordLastUpdateInstant": 1471786483322,
      "registrations": [
        {
          "applicationId": "10000000-0000-0002-0000-000000000001",
          "id": "00000000-0000-0002-0000-000000000000",
          "insertInstant": 1446064706250,
          "lastLoginInstant": 1456064601291,
          "roles": [
            "user"
          ],
          "usernameStatus": "ACTIVE"
        }
      ],
      "tenantId": "f24aca2b-ce4a-4dad-951a-c9d690e71415",
      "twoFactorEnabled": false,
      "usernameStatus": "ACTIVE",
      "verified": true
    }
  }
}