> For the complete documentation index, see [llms.txt](https://docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verifone.com/verifone-central-device-management/verifone-central/devices/event-notifications.md).

# Event Notifications

Use **Event Notifications** to receive email or webhook updates when device events occur.

Use this page to identify supported events, understand the payload structure, and request webhook delivery.

### Before you start

Confirm that you know:

* which device events you want to monitor
* whether you need **email** delivery or **webhook** delivery
* which team or endpoint will receive the notifications

If you are using webhooks, prepare:

* the HTTPS endpoint URL
* any required authorization headers
* the list of event types you want to subscribe to

### Choose the delivery path

Use **email** when people need to review and act on the event.

Use **webhook** when another system should receive and process the event automatically.

### What Event Notifications support

Use Event Notifications to:

* subscribe to operational device events
* route events to email or webhook destinations
* integrate device events with external monitoring or workflow tools

### Choose a delivery method

#### Email

Use email when a team needs human-readable updates for follow-up work.

#### Webhook

Use webhooks when another system needs to receive and process events automatically.

{% hint style="info" %}
Webhook delivery requires Verifone support to complete the setup.
{% endhint %}

### Prepare for webhook setup

Before you request webhook delivery, confirm that:

* the receiving endpoint is reachable over HTTPS
* the receiving system can accept the event payload format
* the required headers and authentication values are ready

### Common event categories

Most subscriptions fall into these categories:

* **Device status and lifecycle** — activation, status change, deletion, missing device
* **Device changes** — hierarchy change, group change, parameter change, reboot
* **Platform and software events** — software version updates, hierarchy creation, group deletion

Use the full event catalog when you need exact event names and payload fields.

### Full event catalog

Events are the topics a notification listens to. A notification is sent when the selected event occurs.

<details>

<summary>View supported event types</summary>

<table data-full-width="true"><thead><tr><th width="274" valign="top">Event Type</th><th width="290" valign="top">Description</th><th valign="top">Details</th></tr></thead><tbody><tr><td valign="top">EstateDeviceStatusUpdated</td><td valign="top">Status of Device is Changed</td><td valign="top"><p>Any change in the status of the device.</p><p>See more details in the <a href="#device-status__00a0">Device Status</a> section.</p></td></tr><tr><td valign="top">EstateDeviceDeleted</td><td valign="top">Device is Deleted</td><td valign="top"><p>The Device is deleted temporarily (SOFT) or permanently (HARD).</p><p>In the case of a SOFT deletion, the device is no longer displayed in Device Management. The data can be retrieved by undeleting the device.</p></td></tr><tr><td valign="top">EstateDeviceSwapped</td><td valign="top">Device is Swapped</td><td valign="top">An existing device at the merchant is swapped with a new device.</td></tr><tr><td valign="top">EstateDeviceActivated</td><td valign="top">New Device is Activated</td><td valign="top">A new device is registered and is actively managed in Device Management.</td></tr><tr><td valign="top">EstateDeviceBoarded</td><td valign="top">New Device is Boarded</td><td valign="top"><p>A new device is configured in Device Management.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>The physical device is not yet registered.</p></div></td></tr><tr><td valign="top">EstateDevicePaired</td><td valign="top">Device is Paired</td><td valign="top"><p>A new device with a specified Serial Number is paired with a device configured in Device Management.</p><ol start="1"><li>The new device is configured in Device Management and identified by Device ID.</li><li>Once the physical device arrives at the merchant store, the merchant or operator enters the assigned Device ID and starts registration.</li><li>The device registers with Device Management.</li><li>The physical device identified by Serial Number is paired with the configured device record.</li></ol></td></tr><tr><td valign="top">EstateDeviceParametersUpdated</td><td valign="top">Device Parameters are Updated</td><td valign="top"><p>Parameters of the device are changed.</p><p>Parameters can be added, updated, or deleted in the portal, through APIs, or on the physical device.</p></td></tr><tr><td valign="top">EstateDeviceRebooted</td><td valign="top">Device has Rebooted</td><td valign="top"><p>The device has rebooted.</p><p><em>rebootType</em> indicates the source of the reboot:</p><ul><li>PCI - reboot triggered automatically for PCI compliance</li><li>AGENT - reboot triggered by the agent</li><li>SYSTEM - reboot triggered by the operating system</li></ul></td></tr><tr><td valign="top">EstateDeviceTampered</td><td valign="top">Device is Tampered</td><td valign="top">The security of the device is compromised. This can be a physical tamper or a soft tamper, such as invalid security keys or temperature outside the normal range.</td></tr><tr><td valign="top">EMVVersionMismatch</td><td valign="top">EMV Version Mismatch</td><td valign="top">The EMV version of the payment device and PIN pad do not match.</td></tr><tr><td valign="top">EstateDeviceHierarchyUpdated</td><td valign="top">Device Hierarchy is Changed</td><td valign="top">The device is moved to a different hierarchy.</td></tr><tr><td valign="top">EstateDeviceGroupUpdated</td><td valign="top">Device Group is Changed</td><td valign="top"><p>The device is added or moved to one or more groups.</p><p>The device is removed from one or more groups.</p></td></tr><tr><td valign="top">SoftwareVersionUpdated</td><td valign="top"><p>New software version is available</p><p>or</p><p>An existing software version is not available anymore</p></td><td valign="top"><p>A new software package is uploaded and becomes available for use.</p><p>or</p><p>An existing software package is deleted.</p></td></tr><tr><td valign="top">HierarchyUpdated</td><td valign="top">New hierarchy is added</td><td valign="top">A new hierarchy is added.</td></tr><tr><td valign="top">GroupDeleted</td><td valign="top">Device Group is deleted</td><td valign="top">The device group is deleted.</td></tr><tr><td valign="top">EstateDeletedDeviceContacting</td><td valign="top">Deleted Device is trying to communicate with Device Management</td><td valign="top"><p>Deleted devices are expected to be out of service and no longer used for transactions.</p><p>Any communication from a deleted device can indicate malicious activity.</p></td></tr><tr><td valign="top">EstateDeviceMissing</td><td valign="top">Device missing</td><td valign="top"><p>The device has not communicated with the server for an extended period.</p><p>For example, if the device sends heartbeats every 15 minutes, the event can be raised after 30 minutes without communication.</p></td></tr><tr><td valign="top">EstateDeviceUpdated</td><td valign="top">Device updated</td><td valign="top"><p>One or more device attributes changed.</p><ul><li>Device IP Address</li><li>Location</li></ul></td></tr></tbody></table>

</details>

### Understand the payload structure

Every event payload contains:

* standard attributes shared across events
* event-specific data in the `content` object

#### Standard attributes

Use these fields to identify the event source, type, and affected object.

<details>

<summary>View standard payload attributes</summary>

<table data-full-width="true"><thead><tr><th width="264">Attribute</th><th>Description</th></tr></thead><tbody><tr><td>eventId</td><td>Unique identifier of the event for audit and logging.</td></tr><tr><td>eventDateTime</td><td>Date and time when the event occurred, usually at local time.</td></tr><tr><td>itemId</td><td><p>Unique identifier of the object related to the event.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>This can be a JSON object when the item uses a composite key. If the item has a single key, that key is used directly.</p></div></td></tr><tr><td>entityUid</td><td>Unique identifier of the entity for which the event is generated.</td></tr><tr><td>eoEntityUid</td><td>Unique identifier of the owner, customer, or merchant of the event.</td></tr><tr><td>source</td><td>Name of the source application sending the event.</td></tr><tr><td>component</td><td>Source component sending the event.</td></tr><tr><td>received</td><td>Date and time, in UTC, when the server received the event notification.</td></tr><tr><td>eventType</td><td>String naming the event type.</td></tr><tr><td>objectType</td><td>`DeviceEvent` or `StandardEvent`.</td></tr><tr><td>content</td><td>Associated event data. This field is optional and varies by event type.</td></tr><tr><td>userUid</td><td>Unique identifier of the user that triggered the event, when relevant.</td></tr><tr><td>deviceType</td><td>Device model.</td></tr><tr><td>estateManagementId</td><td>Terminal device ID.</td></tr><tr><td>serialNumber</td><td>Device serial number.</td></tr><tr><td>estateManagementHierarchyId</td><td>Hierarchy ID of the terminal in Device Management.</td></tr></tbody></table>

</details>

### Register for webhook events

To request webhook delivery:

1. Open a support ticket with Verifone support.
2. Provide your organization name.
3. Provide the list of event types you want to receive.
4. Provide the HTTPS endpoint URL for delivery.
5. Provide any required authorization headers.
6. Complete the setup with Verifone support.
7. Verify event delivery and payload handling in your receiving system.

### Verify the result

After setup, confirm that:

* the correct event types are subscribed
* the receiving email address or webhook endpoint gets the expected events
* your receiving system can process the payload fields you need

### Event payload reference

Use this section when you need field-level detail or sample payloads for implementation.

<details>

<summary>View event parameters and sample payloads</summary>

<table data-full-width="true"><thead><tr><th width="180" valign="top">Event</th><th width="188" valign="top">Parameter</th><th width="83" valign="top">Type</th><th width="203" valign="top">Description</th><th>Sample payload</th></tr></thead><tbody><tr><td valign="top">Status of Device is Changed</td><td valign="top">newStatus</td><td valign="top">String</td><td valign="top">New status of the device</td><td><pre class="language-json"><code class="lang-json">{
    "content": {
        "newStatus": "Active",
        "oldStatus": "Inactive"
    },
    "eventType": "EstateDeviceStatusUpdated",
    "objectType": "DeviceEvent"
}
</code></pre><p><br><br></p></td></tr><tr><td valign="top"></td><td valign="top">oldStatus</td><td valign="top">String</td><td valign="top">Old status of the device</td><td></td></tr><tr><td valign="top">Device Is Deleted</td><td valign="top">Type</td><td valign="top">String</td><td valign="top"><p>Indicates the mode of device deletion:</p><ul><li>SOFT - Soft deleted</li><li>HARD - Permanently deleted</li></ul></td><td><pre class="language-json"><code class="lang-json">{
    "content": {
        "type": "SOFT",
        "certificates": [
            {
                "certificate": "-----BEGIN CERTIFICATE-----\nMIIECjCCAvKgAwIBAg+O0a7haOHtNAoRS0GTNLsick982I\n-----END CERTIFICATE-----\n"
            },
            {
                "certificate": "-----BEGIN CERTIFICATE-----\nMIIECjCCAvKgAwIBAg+O0a7haOHtNAoRS0GTNLsick982I\n-----END CERTIFICATE-----\n"
            }
        ]
    },
    "eventType": "EstateDeviceDeleted",
    "objectType": "DeviceEvent"
}
</code></pre></td></tr><tr><td valign="top">Device is Swapped</td><td valign="top">newDeviceModel</td><td valign="top">String</td><td valign="top">Device model name of the new device</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": { 
        "oldSerialNumber": "123-459-789", 
        "oldDeviceModel": "CM5P", 
        "newSerialNumber": "111-111-111", 
        "newDeviceModel": "CM5P" 
    }, 
    "eventType": "EstateDeviceSwapped", 
    "objectType": "DeviceEvent" 
}
</code></pre></td></tr><tr><td valign="top"></td><td valign="top">newSerialNumber</td><td valign="top">String</td><td valign="top">Serial number of the new device</td><td></td></tr><tr><td valign="top"></td><td valign="top">oldDeviceModel</td><td valign="top">String</td><td valign="top">Device model name of the device being replaced</td><td></td></tr><tr><td valign="top"></td><td valign="top">oldSerialNumber</td><td valign="top">String</td><td valign="top">Serial number of the device being replaced</td><td></td></tr><tr><td valign="top">New Device is Activated</td><td valign="top">hierarchy</td><td valign="top">String</td><td valign="top">Hierarchy path of the device</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": { 
        "hierarchy": "Root >> Region >> City >> Store", 
        "newStatus": "Active", 
        "oldStatus": "PendingRegistration" 
    }, 
    "eventType": "EstateDeviceActivated", 
    "objectType": "DeviceEvent" 
} 
</code></pre></td></tr><tr><td valign="top"></td><td valign="top">newStatus</td><td valign="top">String</td><td valign="top">New status of device</td><td></td></tr><tr><td valign="top"></td><td valign="top">oldStatus</td><td valign="top">String</td><td valign="top">Old status of device</td><td></td></tr><tr><td valign="top">New Device is boarded</td><td valign="top">hierarchy</td><td valign="top">String</td><td valign="top">Hierarchy path of the device</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": { 
        "hierarchy": "Root >> Region >> City >> Store " 
    }, 
    "eventType": " EstateDeviceBoarded", 
    "objectType": "DeviceEvent" 
} 
</code></pre></td></tr><tr><td valign="top">Device is paired</td><td valign="top">serialNumber</td><td valign="top">String</td><td valign="top">Serial number of the device</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": { 
        "serialNumber": "111-111-111", 
        "deviceId": "111-111-111", 
        "deviceModel": "CM5P" 
    }, 
    "eventType": "EstateDevicePaired", 
    "objectType": "DeviceEvent" 
} 
</code></pre></td></tr><tr><td valign="top"></td><td valign="top">deviceId</td><td valign="top">String</td><td valign="top">Device ID of the device</td><td></td></tr><tr><td valign="top"></td><td valign="top">deviceModel</td><td valign="top">String</td><td valign="top">Model name of the device</td><td></td></tr><tr><td valign="top">Device Parameters are updated</td><td valign="top">applicationName</td><td valign="top">String</td><td valign="top">Application name</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": { 
        "applicationVersion": "5.330.40", 
        "applicationName": "com.android.settings", 
        "parameters": { 
            "value": { 
                "Main": [ 
                    { 
                        "tip": "false" 
                    } 
                ] 
            }, 
            "operation": "update" 
        } 
    }, 
    "eventType": "EstateDeviceParametersUpdated", 
    "objectType": "DeviceEvent" 
} 
</code></pre></td></tr><tr><td valign="top"></td><td valign="top">applicationVersion</td><td valign="top">String</td><td valign="top">Version of the application</td><td></td></tr><tr><td valign="top"></td><td valign="top">parameters</td><td valign="top">String</td><td valign="top"><p>Modified parameters of the application.</p><p>For more details refer to the Device parameters updated sample payload section.</p></td><td></td></tr><tr><td valign="top">Device has rebooted</td><td valign="top">rebootType</td><td valign="top">String</td><td valign="top"><p>Possible values:</p><ul><li>PCI - Device is rebooted automatically by the system as part of PCI compliance.</li><li>AGENT - Device is rebooted by the DMS Agent.</li><li>SYSTEM - Device is rebooted automatically by the Operating system</li></ul></td><td><pre class="language-json"><code class="lang-json">{ 
    "content": {"rebootType":"SYSTEM"}, 
    "eventType": "EstateDeviceRebooted", 
    "objectType":"DeviceEvent" 
} 
</code></pre></td></tr><tr><td valign="top">Device is tampered</td><td valign="top">N/A</td><td valign="top">N/A</td><td valign="top">N/A</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": null, 
    "eventType": "EstateDeviceTampered", 
    "objectType": "DeviceEvent" 
} 
</code></pre></td></tr><tr><td valign="top">EMV Version mismatch</td><td valign="top">N/A</td><td valign="top">N/A</td><td valign="top">N/A</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": null, 
    "eventType": "EMVVersionMismatch", 
    "objectType": "DeviceEvent" 
}
</code></pre></td></tr><tr><td valign="top">Device Hierarchy is changed</td><td valign="top">N/A</td><td valign="top">N/A</td><td valign="top">N/A</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": null, 
    "eventType": "EstateDeviceHierarchyUpdated", 
    "objectType": "DeviceEvent" 
} 
</code></pre></td></tr><tr><td valign="top">Device Group is changed</td><td valign="top">groupId</td><td valign="top">String</td><td valign="top">Comma separated list of all the Group IDs that the Device belongs to after the change.</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": { 
        "groupId":"10,11" 
    }, 
    "eventType": "EstateDeviceGroupUpdated", 
    "objectType": "DeviceEvent" 
} 
</code></pre></td></tr><tr><td valign="top"><p>New software version available</p><p>Or</p><p>An existing software version no more available</p></td><td valign="top">applicationName</td><td valign="top">String</td><td valign="top">Name of the package</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": { 
        "version": "3.2.16-653", 
        "deviceModel": "", 
        "softwareType": "EngageAgent", 
        "status": "Updated", 
        "osType": "VOS2", 
        "applicationName": "" 
    }, 
    "eventType": "SoftwareVersionUpdated", 
    "objectType": "StandardEvent" 
} 
</code></pre></td></tr><tr><td valign="top"></td><td valign="top">version</td><td valign="top">String</td><td valign="top">Package version</td><td></td></tr><tr><td valign="top"></td><td valign="top">deviceModel</td><td valign="top">String</td><td valign="top">Comma separated list of device models compatible with the Package.</td><td></td></tr><tr><td valign="top"></td><td valign="top">softwareType</td><td valign="top">String</td><td valign="top">Software type of the package, e.g.: Android, Engage, etc.</td><td></td></tr><tr><td valign="top"></td><td valign="top">status</td><td valign="top">String</td><td valign="top"><p>status = Updated - a new package is added</p><p>status = Deleted - an existing package is removed.</p></td><td></td></tr><tr><td valign="top"></td><td valign="top">osType</td><td valign="top">String</td><td valign="top">Package OS type, e.g., VX, VOS, VOS2, VOS3.</td><td></td></tr><tr><td valign="top">New hierarchy is added</td><td valign="top">parentHierarchyId</td><td valign="top">String</td><td valign="top">Parent Hierarchy Id of the hierarchy</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": { 
        "parentHierarchyId": "6465", 
        "hierarchyId": "6466" 
    }, 
    "eventType": "HierarchyUpdated", 
    "objectType": "StandardEvent" 
} 
</code></pre></td></tr><tr><td valign="top"></td><td valign="top">hierarchyId</td><td valign="top">String</td><td valign="top">Hierarchy Id of the newly added hierarchy</td><td></td></tr><tr><td valign="top">Device Group is deleted</td><td valign="top">groupId</td><td valign="top">String</td><td valign="top">Group Id of the deleted Group</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": { 
        "groupId":"10" 
    }, 
    "eventType": "GroupDeleted", 
    "objectType": "StandardEvent" 
} 
</code></pre></td></tr><tr><td valign="top">Deleted Device is trying to communicate with DMS</td><td valign="top">N/A</td><td valign="top">N/A</td><td valign="top">N/A</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": null, 
    "eventType": "EstateDeletedDeviceContacting", 
    "objectType": "DeviceEvent" 
} 
</code></pre></td></tr><tr><td valign="top">Device missing</td><td valign="top">N/A</td><td valign="top">N/A</td><td valign="top">N/A</td><td><pre class="language-json"><code class="lang-json">{ 
    "content": null, 
    "eventType": "EstateDeviceMissing", 
    "objectType": "DeviceEvent" 
}
</code></pre></td></tr><tr><td valign="top">Device updated</td><td valign="top">delta</td><td valign="top">Object</td><td valign="top"><p>IP Address Change:</p><p>It's an object that has details of IP Address.</p></td><td><pre class="language-json"><code class="lang-json">{
"content": {
"delta": {
"ipAddress": {
"old": "xx.xx.xx.xx"
"new": "yy.yy.yy.yy"
},
"location": {
"old": "North Kennedy Bvld",
"new": "East Kennedy Bvld"
}
}
},
"eventType": "EstateDeviceUpdated",
"objectType": "DeviceEvent"
}
</code></pre></td></tr><tr><td valign="top"></td><td valign="top">delta</td><td valign="top">Object</td><td valign="top"><p>Location Change:</p><p>It's an object that has details of location.</p></td><td></td></tr></tbody></table>

</details>

### References

#### Device status <a href="#device-status__00a0" id="device-status__00a0"></a>

These values are relevant to device status change events.

The device status can have the following values:

* **Pending Registration** — the device is not yet registered with the server. Pre-boarded devices are placed in this state by default.
* **Pending Hierarchy Assignment** — the device is not yet assigned successfully to a hierarchy after registration.
* **Active** — the device is registered, assigned, and ready for use.
* **Inactive** — the device exists in the estate but is not currently active.
* **Deleted** — the device is soft deleted and can return to its previous state if undeleted. Permanently deleted devices cannot be undeleted.

#### Device parameters updated sample payload

Use these operations to add, update, or delete parameters:

* ***parameters > Operation = add*** — adds parameters. `value` contains the new parameters.
* ***parameters > Operation = update*** — updates parameters. `value` contains the updated parameters.
* ***parameters > Operation = delete*** — deletes parameters. `value` contains the deleted parameters.

```json
{ 
   "CONTENT":{ 
      "applicationName":"com.verifone.settings", 
      "applicationVersion":"1.0", 
      "parameters":[ 
         { 
            "operation":"add", 
            "value":{              
                "Merchant":[ 
                    { 
                        "MerchantId":"1", 
                        "MerchantSurcharge":[ 
                            { 
                                "MaxSurchargeableAmount":"0", 
                                "SurchargeValue":"0", 
                                "MaxSurchargeAdjAmount":"0", 
                                "SurchargeValueInternational":"0" 
                            } 
                        ] 
                    } 
                ]         
            }            
         }, 
         { 
            "operation":"update", 
            "value":{ 
               "Terminal":[ 
                  { 

                     "ChipMaxTriesBeforeFallback":"3", 
                     "MsrMaxTriesBeforeFallback":"3", 
                     "SAFEnabled":"1", 
                     "SettlementContinueOnSAFQueueFlushFailure":"0", 
                     "EmvCtlsTerm":[ 
                        { 

                           "TerminalType_9F35":"", 
                           "ToneVolume_DF62":"" 
                        } 
                     ] 
                  } 
               ] 
            } 
         }, 
         { 

            "operation":"delete", 
            "value":{ 
               "Acquirer":[ 
                  { 
                     "AcquirerId":"1" 
                  }, 
                  { 
                     "AcquirerId":"2" 
                  } 
               ] 
            } 
         } 
      ] 
   } 
} 
```

### Result

Event Notifications route device events to the people or systems that need to respond.

### Next steps

* [Notifications](/verifone-central-device-management/verifone-central/devices/alerts-and-notifications/notifications.md) — review in-product notification updates
* [Alerts and notifications](/verifone-central-device-management/verifone-central/devices/alerts-and-notifications.md) — understand the broader event and alert model
* [Device life cycle](/verifone-central-device-management/verifone-central/devices/registering-the-device/device-life-cycle.md) — understand status values used in event payloads


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verifone.com/verifone-central-device-management/verifone-central/devices/event-notifications.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
