Event Types (by Categories):
| Event Category | Event Type | Description |
|---|---|---|
| Customer Events | — | |
| customer.created | Triggered when a new customer is initially created. | |
| customer.updated | Triggered when a customer’s status or details change. | |
| Payment Account Events | — | |
| payment_account.created | Triggered when a new payment account is added/created. | |
| payment_account.deleted | Triggered when a payment account is removed/deleted. | |
| Transaction Events | — | |
| transaction.created | Triggered when a transaction is initiated (created). | |
| transaction.updated | Triggered when a transaction’s status changes (e.g. moves from created to processing, completed, etc). | |
| deposit.created | Triggered when a deposit is made to a customer’s account (e.g FERN_CRYPTO_WALLET, FERN_FIAT_ACCOUNT). Same payload as transaction.created. | |
| deposit.updated | Triggered when a transaction corresponding to deposit has a status change. Same payload as transaction.updated. |
Event Structure:
All webhook event payloads share a common structure. The HTTP POST request body is a JSON object with the following top-level fields:- id (string): A unique identifier for the event notification. This can be used to detect duplicate deliveries.
- apiVersion (string): The API version for the payload format (e.g. “v1”).
- type (string): The event type name (as listed above, e.g. “customer.created”).
- createdAt (string): Timestamp (ISO 8601 format) when the event occurred.
- resource (object): The payload data specific to the event, containing the resource or entity information. The content of this object varies by event type:
- For customer events, the resource includes details about the customer (e.g. customerId, customerStatus, name, email, etc.), which matches the response of the
GETCustomer end-point response. - For payment account events, the resource includes details of the payment account, which matches the
GETPayment-Accounts end-point response - For transaction events, the resource includes details of the transaction, which matches the
GETTransaction end-point response
- For customer events, the resource includes details about the customer (e.g. customerId, customerStatus, name, email, etc.), which matches the response of the