> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fintoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Types of events

This is a list of all the event types Fintoc currently sends. We may add more event types in the future, so your implementation should not assume these are the only types that exist.

Event types follow the pattern `resource.event`, designed to be intuitive and easy to use.

<Note>
  The `link.created` event is the only type that **cannot be listened to using a webhook endpoint**. To receive this event, pass your backend URL when configuring the widget.
</Note>

| Event type                                  | Data object            | Description                                                                                                    |
| :------------------------------------------ | :--------------------- | :------------------------------------------------------------------------------------------------------------- |
| `account.refresh_intent.succeeded`          | `refresh_intent`       | Triggers when an Account is updated with the latest available movements from the bank                          |
| `account.refresh_intent.failed`             | `refresh_intent`       | Triggers when an Account movement update fails. Only for "Refresh On Demand" plans                             |
| `account.refresh_intent.rejected`           | `refresh_intent`       | Triggers when a movement update fails due to invalid Link credentials. Only for "Refresh On Demand" plans      |
| `account.refresh_intent.movements_removed`  | `refresh_intent`       | Triggers when the bank deletes transactions. Enable it from the dashboard webhook settings                     |
| `account.refresh_intent.movements_modified` | `refresh_intent`       | Triggers when the bank modifies transactions. Enable it from the dashboard webhook settings                    |
| `account_verification.succeeded`            | `account_verification` | Triggers when the target account holder information is retrieved successfully                                  |
| `account_verification.failed`               | `account_verification` | Triggers when the account holder information cannot be retrieved                                               |
| `charge.succeeded`                          | `charge`               | Triggers when a charge is validated as successful                                                              |
| `charge.failed`                             | `charge`               | Triggers when a charge fails due to insufficient funds, exceeded amount, or disabled authorization             |
| `checkout_session.finished`                 | `checkout_session`     | Triggers when the customer completes payment, with the final status information                                |
| `checkout_session.expired`                  | `checkout_session`     | Triggers when the customer leaves the payment flow before completing it                                        |
| `link.created`                              | `link`                 | Triggers when a Link is created                                                                                |
| `link.credentials_changed`                  | `link`                 | Triggers when a Link's credentials change and reconnection is needed                                           |
| `link.refresh_intent.succeeded`             | `refresh_intent`       | Triggers when a Link is completely updated. Currently for electronic invoices only                             |
| `payment_intent.succeeded`                  | `payment_intent`       | Triggers when a Payment Intent finishes successfully                                                           |
| `payment_intent.rejected`                   | `payment_intent`       | Triggers when the user rejects a Payment Intent                                                                |
| `payment_intent.expired`                    | `payment_intent`       | Triggers when the user doesn't complete a Payment Intent                                                       |
| `payment_intent.failed`                     | `payment_intent`       | Triggers when a Payment Intent fails                                                                           |
| `payment_intent.pending`                    | `payment_intent`       | Triggers when the final payment status is not available yet. A future webhook will provide the final status    |
| `payout.created`                            | `payout`               | Triggers when a Payout is created and starts processing                                                        |
| `payout.succeeded`                          | `payout`               | Triggers when a Payout is successfully transferred to the bank account                                         |
| `payout.canceled`                           | `payout`               | Triggers when a Payout is canceled and won't be sent to the bank account                                       |
| `payout.returned`                           | `payout`               | Mexico only. Triggers when a previously successful Payout is returned from the bank account                    |
| `refund.in_progress`                        | `refund`               | Triggers when a Refund starts processing                                                                       |
| `refund.succeeded`                          | `refund`               | Triggers when a Refund is successfully processed                                                               |
| `refund.failed`                             | `refund`               | Triggers when a Refund fails                                                                                   |
| `subscription_intent.succeeded`             | `subscription_intent`  | Triggers when a subscription intent is validated as successful, including the resulting subscription object    |
| `subscription_intent.failed`                | `subscription_intent`  | Triggers when a subscription intent fails due to a bank or Fintoc problem                                      |
| `subscription_intent.rejected`              | `subscription_intent`  | Triggers when the user rejects a subscription intent, including a failed MFA                                   |
| `subscription.activated`                    | `subscription`         | Triggers when the bank confirms the subscription is ready to accept charges                                    |
| `subscription.canceled`                     | `subscription`         | Triggers when the bank informs Fintoc that the subscription is canceled                                        |
| `transfer.outbound.succeeded`               | `transfer`             | Triggers when a Transfer successfully settles                                                                  |
| `transfer.outbound.returned`                | `transfer`             | Mexico: Banco de México or the counterparty rejects the transfer. Chile: the counterparty rejects the transfer |
| `transfer.outbound.failed`                  | `transfer`             | Triggers when a transfer cannot reach its destination due to a process error                                   |
| `transfer.inbound.succeeded`                | `transfer`             | Triggers when a Transfer is successfully received in the account                                               |
| `transfer.inbound.returned`                 | `transfer`             | Mexico only. Triggers when an Inbound Transfer is returned by the recipient                                    |
| `transfer.inbound.rejected`                 | `transfer`             | Mexico only. Triggers when an Inbound Transfer is rejected before credit                                       |
