# Event types
source: https://developer.mastercard.com/open-finance-data/documentation/event-notifications/event-types/index.md

This page outlines the various webhook event types you may receive when integrating with our Open Finance APIs.

The webhook endpoint definition, required headers (signature and replay protection), and the full payload schemas and examples are maintained in the OpenAPI specification, see [Payload Specification and Examples](https://developer.mastercard.com/open-finance-data/documentation/event-notifications/event-types/index.md#payload-specification-and-examples).

All notifications follow the [CloudEvents standard](https://cloudevents.io/) (with a small set of product-specific attributes). Use the `type` attribute to route each event and process the corresponding `data` payload.

### Event Types Summary {#event-types-summary}

|         **Event type (`type`)**         |                                                                                          **When is this event triggered?**                                                                                          |                                                                                                                                                                                                 **What to do when you receive this?**                                                                                                                                                                                                  |
|-----------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `obdata.accounts.modified`              | Triggered when account details (balances, holders) are updated, or when an account's status changes as part of refresh operations.                                                                                  | Fetch the updated account data (for example, via **Get Account** or **Get Accounts**) and update cached balances/metadata. If status changed, propagate the new status to downstream systems.                                                                                                                                                                                                                                          |
| `obdata.transactions.modified`          | Triggered when transaction retrieval from the provider is complete for the initial data access. Thereafter, triggered when new transactions are detected or existing transactions are updated during regular syncs. | Transactional data for the specified account has been updated. Invoke **Get Transactions** (or **Get Accounts**) to retrieve the latest data and update your local cache/state.                                                                                                                                                                                                                                                        |
| `obdata.consent.modified`               | Triggered when a consent transitions (for example, from **ACTIVE** to **INACTIVE**).                                                                                                                                | **INACTIVE:** Cease data retrieval and mark the consent inactive in your system. Initiate any retention/purge workflow consistent with your policies. Avoid further calls that assume the consent is active.                                                                                                                                                                                                                           |
| `obdata.connection.modified`            | Triggered on connection status transitions (for example: **ACTIVE** to **EXPIRED**).                                                                                                                                | **EXPIRED:** prompt the end user to reauthenticate when contextually appropriate. **ACTIVE (after reauth):** resume scheduled refresh processing. **REVOKED:** stop refresh attempts and mark related data flows inactive. **FAILED:** an error ocurred with the connection check reason and/or contact customer support. **TERMINATED** the data-sharing period has ended, connection can no longer be extended via reauthentication. |
| `obdata.connection.expiration_reminder` | Triggered ahead of a known connection expiration (for example, 7 days before).                                                                                                                                      | Schedule or surface a reauthentication prompt, ideally while the user is active so the connection does not lapse.                                                                                                                                                                                                                                                                                                                      |

### Payload Specification and Examples {#payload-specification-and-examples}


API Specification: `https://static.developer.mastercard.com/content/open-finance-data/swagger/data-webhooks.yaml`

