---
title: "Event types"
description: "Every event type Fluveo sends to webhook endpoints, when it is sent and the object it carries."
url: https://docs.fluveo.com/webhooks/events/
---

> Index of every page: https://docs.fluveo.com/llms.txt. Integrating Fluveo? Read https://docs.fluveo.com/agents/integrate.md first.

# Event types

Every event type Fluveo sends to webhook endpoints, when it is sent and the object it carries.

Fluveo sends an event to your webhook endpoints each time something below happens, and lists the last 30 days of events on `GET /v1/events`. Each event's `data.object` is the object named here, as it was at that moment; an update also carries `data.previous_attributes`. An endpoint gets only the types in its `enabled_events`, or all of them with `*`.

> **For AI agents:**
>
> Verify the Fluveo-Signature header of every delivery before you trust it. Handle each event id once: the same event can arrive more than once. Do not rely on the order of deliveries; read the object again when order matters.

| Type | data.object |
| --- | --- |
| [`account.updated`](https://docs.fluveo.com/webhooks/events.md#account.updated) | [`account`](https://docs.fluveo.com/api/account.md#object-account) |
| [`balance.available`](https://docs.fluveo.com/webhooks/events.md#balance.available) | [`balance`](https://docs.fluveo.com/api/balance.md#object-balance) |
| [`charge.captured`](https://docs.fluveo.com/webhooks/events.md#charge.captured) | [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) |
| [`charge.dispute.closed`](https://docs.fluveo.com/webhooks/events.md#charge.dispute.closed) | [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) |
| [`charge.dispute.created`](https://docs.fluveo.com/webhooks/events.md#charge.dispute.created) | [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) |
| [`charge.dispute.funds_reinstated`](https://docs.fluveo.com/webhooks/events.md#charge.dispute.funds_reinstated) | [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) |
| [`charge.dispute.funds_withdrawn`](https://docs.fluveo.com/webhooks/events.md#charge.dispute.funds_withdrawn) | [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) |
| [`charge.dispute.updated`](https://docs.fluveo.com/webhooks/events.md#charge.dispute.updated) | [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) |
| [`charge.expired`](https://docs.fluveo.com/webhooks/events.md#charge.expired) | [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) |
| [`charge.failed`](https://docs.fluveo.com/webhooks/events.md#charge.failed) | [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) |
| [`charge.refund.updated`](https://docs.fluveo.com/webhooks/events.md#charge.refund.updated) | [`refund`](https://docs.fluveo.com/api/refunds.md#object-refund) |
| [`charge.refunded`](https://docs.fluveo.com/webhooks/events.md#charge.refunded) | [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) |
| [`charge.succeeded`](https://docs.fluveo.com/webhooks/events.md#charge.succeeded) | [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) |
| [`charge.updated`](https://docs.fluveo.com/webhooks/events.md#charge.updated) | [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) |
| [`checkout.session.async_payment_failed`](https://docs.fluveo.com/webhooks/events.md#checkout.session.async_payment_failed) | [`checkout.session`](https://docs.fluveo.com/api/checkout_sessions.md#object-checkout_session) |
| [`checkout.session.async_payment_succeeded`](https://docs.fluveo.com/webhooks/events.md#checkout.session.async_payment_succeeded) | [`checkout.session`](https://docs.fluveo.com/api/checkout_sessions.md#object-checkout_session) |
| [`checkout.session.completed`](https://docs.fluveo.com/webhooks/events.md#checkout.session.completed) | [`checkout.session`](https://docs.fluveo.com/api/checkout_sessions.md#object-checkout_session) |
| [`checkout.session.expired`](https://docs.fluveo.com/webhooks/events.md#checkout.session.expired) | [`checkout.session`](https://docs.fluveo.com/api/checkout_sessions.md#object-checkout_session) |
| [`customer.created`](https://docs.fluveo.com/webhooks/events.md#customer.created) | [`customer`](https://docs.fluveo.com/api/customers.md#object-customer) |
| [`customer.deleted`](https://docs.fluveo.com/webhooks/events.md#customer.deleted) | [`customer`](https://docs.fluveo.com/api/customers.md#object-customer) |
| [`customer.tax_id.created`](https://docs.fluveo.com/webhooks/events.md#customer.tax_id.created) | [`tax_id`](https://docs.fluveo.com/api/customers.md#object-tax_id) |
| [`customer.tax_id.deleted`](https://docs.fluveo.com/webhooks/events.md#customer.tax_id.deleted) | [`tax_id`](https://docs.fluveo.com/api/customers.md#object-tax_id) |
| [`customer.tax_id.updated`](https://docs.fluveo.com/webhooks/events.md#customer.tax_id.updated) | [`tax_id`](https://docs.fluveo.com/api/customers.md#object-tax_id) |
| [`customer.updated`](https://docs.fluveo.com/webhooks/events.md#customer.updated) | [`customer`](https://docs.fluveo.com/api/customers.md#object-customer) |
| [`payment_intent.amount_capturable_updated`](https://docs.fluveo.com/webhooks/events.md#payment_intent.amount_capturable_updated) | [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) |
| [`payment_intent.canceled`](https://docs.fluveo.com/webhooks/events.md#payment_intent.canceled) | [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) |
| [`payment_intent.created`](https://docs.fluveo.com/webhooks/events.md#payment_intent.created) | [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) |
| [`payment_intent.payment_failed`](https://docs.fluveo.com/webhooks/events.md#payment_intent.payment_failed) | [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) |
| [`payment_intent.processing`](https://docs.fluveo.com/webhooks/events.md#payment_intent.processing) | [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) |
| [`payment_intent.requires_action`](https://docs.fluveo.com/webhooks/events.md#payment_intent.requires_action) | [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) |
| [`payment_intent.succeeded`](https://docs.fluveo.com/webhooks/events.md#payment_intent.succeeded) | [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) |
| [`payment_link.created`](https://docs.fluveo.com/webhooks/events.md#payment_link.created) | [`payment_link`](https://docs.fluveo.com/api/payment_links.md#object-payment_link) |
| [`payment_link.updated`](https://docs.fluveo.com/webhooks/events.md#payment_link.updated) | [`payment_link`](https://docs.fluveo.com/api/payment_links.md#object-payment_link) |
| [`payment_method.attached`](https://docs.fluveo.com/webhooks/events.md#payment_method.attached) | [`payment_method`](https://docs.fluveo.com/api/payment_methods.md#object-payment_method) |
| [`payment_method.detached`](https://docs.fluveo.com/webhooks/events.md#payment_method.detached) | [`payment_method`](https://docs.fluveo.com/api/payment_methods.md#object-payment_method) |
| [`payment_method.updated`](https://docs.fluveo.com/webhooks/events.md#payment_method.updated) | [`payment_method`](https://docs.fluveo.com/api/payment_methods.md#object-payment_method) |
| [`payout.canceled`](https://docs.fluveo.com/webhooks/events.md#payout.canceled) | [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) |
| [`payout.created`](https://docs.fluveo.com/webhooks/events.md#payout.created) | [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) |
| [`payout.failed`](https://docs.fluveo.com/webhooks/events.md#payout.failed) | [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) |
| [`payout.paid`](https://docs.fluveo.com/webhooks/events.md#payout.paid) | [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) |
| [`payout.updated`](https://docs.fluveo.com/webhooks/events.md#payout.updated) | [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) |
| [`price.created`](https://docs.fluveo.com/webhooks/events.md#price.created) | [`price`](https://docs.fluveo.com/api/prices.md#object-price) |
| [`price.updated`](https://docs.fluveo.com/webhooks/events.md#price.updated) | [`price`](https://docs.fluveo.com/api/prices.md#object-price) |
| [`product.created`](https://docs.fluveo.com/webhooks/events.md#product.created) | [`product`](https://docs.fluveo.com/api/products.md#object-product) |
| [`product.deleted`](https://docs.fluveo.com/webhooks/events.md#product.deleted) | [`product`](https://docs.fluveo.com/api/products.md#object-product) |
| [`product.updated`](https://docs.fluveo.com/webhooks/events.md#product.updated) | [`product`](https://docs.fluveo.com/api/products.md#object-product) |
| [`radar.early_fraud_warning.created`](https://docs.fluveo.com/webhooks/events.md#radar.early_fraud_warning.created) | [`radar.early_fraud_warning`](https://docs.fluveo.com/api/early_fraud_warnings.md#object-radar_early_fraud_warning) |
| [`radar.early_fraud_warning.updated`](https://docs.fluveo.com/webhooks/events.md#radar.early_fraud_warning.updated) | [`radar.early_fraud_warning`](https://docs.fluveo.com/api/early_fraud_warnings.md#object-radar_early_fraud_warning) |
| [`refund.created`](https://docs.fluveo.com/webhooks/events.md#refund.created) | [`refund`](https://docs.fluveo.com/api/refunds.md#object-refund) |
| [`refund.failed`](https://docs.fluveo.com/webhooks/events.md#refund.failed) | [`refund`](https://docs.fluveo.com/api/refunds.md#object-refund) |
| [`refund.updated`](https://docs.fluveo.com/webhooks/events.md#refund.updated) | [`refund`](https://docs.fluveo.com/api/refunds.md#object-refund) |
| [`reserve.hold.created`](https://docs.fluveo.com/webhooks/events.md#reserve.hold.created) | `reserve.hold` |
| [`reserve.hold.updated`](https://docs.fluveo.com/webhooks/events.md#reserve.hold.updated) | `reserve.hold` |
| [`reserve.plan.created`](https://docs.fluveo.com/webhooks/events.md#reserve.plan.created) | `reserve.plan` |
| [`reserve.plan.disabled`](https://docs.fluveo.com/webhooks/events.md#reserve.plan.disabled) | `reserve.plan` |
| [`reserve.plan.expired`](https://docs.fluveo.com/webhooks/events.md#reserve.plan.expired) | `reserve.plan` |
| [`reserve.plan.updated`](https://docs.fluveo.com/webhooks/events.md#reserve.plan.updated) | `reserve.plan` |
| [`reserve.release.created`](https://docs.fluveo.com/webhooks/events.md#reserve.release.created) | `reserve.release` |
| [`setup_intent.canceled`](https://docs.fluveo.com/webhooks/events.md#setup_intent.canceled) | [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) |
| [`setup_intent.created`](https://docs.fluveo.com/webhooks/events.md#setup_intent.created) | [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) |
| [`setup_intent.requires_action`](https://docs.fluveo.com/webhooks/events.md#setup_intent.requires_action) | [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) |
| [`setup_intent.setup_failed`](https://docs.fluveo.com/webhooks/events.md#setup_intent.setup_failed) | [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) |
| [`setup_intent.succeeded`](https://docs.fluveo.com/webhooks/events.md#setup_intent.succeeded) | [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) |

## `account` events

### `account.updated`

Sent when the store's Account changed; previous_attributes holds the old values. `data.object` is a [`account`](https://docs.fluveo.com/api/account.md#object-account) object.

## `balance` events

### `balance.available`

Sent when money in the store's balance became available to pay out. `data.object` is a [`balance`](https://docs.fluveo.com/api/balance.md#object-balance) object.

## `charge` events

### `charge.captured`

Sent when an authorized charge was captured. `data.object` is a [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) object.

### `charge.dispute.closed`

Sent when a dispute ended, won or lost. `data.object` is a [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) object.

### `charge.dispute.created`

Sent when a buyer disputed a charge. `data.object` is a [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) object.

### `charge.dispute.funds_reinstated`

Sent when the disputed amount came back to the store's balance. `data.object` is a [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) object.

### `charge.dispute.funds_withdrawn`

Sent when the disputed amount was taken from the store's balance. `data.object` is a [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) object.

### `charge.dispute.updated`

Sent when a dispute changed, for example after evidence was sent. `data.object` is a [`dispute`](https://docs.fluveo.com/api/disputes.md#object-dispute) object.

### `charge.expired`

Sent when an authorization ran out before it was captured. `data.object` is a [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) object.

### `charge.failed`

Sent when a payment attempt was declined or failed. `data.object` is a [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) object.

### `charge.refund.updated`

Sent when a refund of the charge changed. `data.object` is a [`refund`](https://docs.fluveo.com/api/refunds.md#object-refund) object.

### `charge.refunded`

Sent when a charge was refunded, in full or in part. `data.object` is a [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) object.

### `charge.succeeded`

Sent when a payment attempt succeeded. `data.object` is a [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) object.

### `charge.updated`

Sent when a charge's description or metadata changed, or its balance transaction was booked (about 3 s after the sale; not sent when a refund came first). `data.object` is a [`charge`](https://docs.fluveo.com/api/charges.md#object-charge) object.

## `checkout` events

### `checkout.session.async_payment_failed`

Sent when the Boleto of a complete Checkout Session expired unpaid. `data.object` is a [`checkout.session`](https://docs.fluveo.com/api/checkout_sessions.md#object-checkout_session) object.

### `checkout.session.async_payment_succeeded`

Sent when the Boleto of a complete Checkout Session was paid. `data.object` is a [`checkout.session`](https://docs.fluveo.com/api/checkout_sessions.md#object-checkout_session) object.

### `checkout.session.completed`

Sent when the buyer paid through a Checkout Session, or issued its Boleto (then payment_status is unpaid). `data.object` is a [`checkout.session`](https://docs.fluveo.com/api/checkout_sessions.md#object-checkout_session) object.

### `checkout.session.expired`

Sent when a Checkout Session expired without payment. `data.object` is a [`checkout.session`](https://docs.fluveo.com/api/checkout_sessions.md#object-checkout_session) object.

## `customer` events

### `customer.created`

Sent when a customer was created. `data.object` is a [`customer`](https://docs.fluveo.com/api/customers.md#object-customer) object.

### `customer.deleted`

Sent when a customer was deleted. `data.object` is a [`customer`](https://docs.fluveo.com/api/customers.md#object-customer) object.

### `customer.tax_id.created`

Sent when a tax ID was added to a customer. `data.object` is a [`tax_id`](https://docs.fluveo.com/api/customers.md#object-tax_id) object.

### `customer.tax_id.deleted`

Sent when a tax ID was removed from a customer. `data.object` is a [`tax_id`](https://docs.fluveo.com/api/customers.md#object-tax_id) object.

### `customer.tax_id.updated`

Sent when the check of an au_abn, eu_vat or gb_vat tax ID finished; data.object.verification holds the result and previous_attributes the old values. `data.object` is a [`tax_id`](https://docs.fluveo.com/api/customers.md#object-tax_id) object.

### `customer.updated`

Sent when a customer changed. `data.object` is a [`customer`](https://docs.fluveo.com/api/customers.md#object-customer) object.

## `payment_intent` events

### `payment_intent.amount_capturable_updated`

Sent when an authorization is held and waits for a manual capture. `data.object` is a [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) object.

### `payment_intent.canceled`

Sent when a PaymentIntent was canceled. `data.object` is a [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) object.

### `payment_intent.created`

Sent when a PaymentIntent was created. `data.object` is a [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) object.

### `payment_intent.payment_failed`

Sent when a payment attempt on the PaymentIntent failed. `data.object` is a [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) object.

### `payment_intent.processing`

Sent when the payment is being processed and its result is not known yet. `data.object` is a [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) object.

### `payment_intent.requires_action`

Sent when the buyer must act before the payment can go on, for example to pass 3D Secure. `data.object` is a [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) object.

### `payment_intent.succeeded`

Sent when the payment succeeded. `data.object` is a [`payment_intent`](https://docs.fluveo.com/api/payment_intents.md#object-payment_intent) object.

## `payment_link` events

### `payment_link.created`

Sent when the store created a payment link. `data.object` is a [`payment_link`](https://docs.fluveo.com/api/payment_links.md#object-payment_link) object.

### `payment_link.updated`

Sent when a payment link changed, such as being switched off; previous_attributes holds the old values. `data.object` is a [`payment_link`](https://docs.fluveo.com/api/payment_links.md#object-payment_link) object.

## `payment_method` events

### `payment_method.attached`

Sent when a payment method was attached to a customer. `data.object` is a [`payment_method`](https://docs.fluveo.com/api/payment_methods.md#object-payment_method) object.

### `payment_method.detached`

Sent when a payment method was detached from a customer. `data.object` is a [`payment_method`](https://docs.fluveo.com/api/payment_methods.md#object-payment_method) object.

### `payment_method.updated`

Sent when a payment method changed. `data.object` is a [`payment_method`](https://docs.fluveo.com/api/payment_methods.md#object-payment_method) object.

## `payout` events

### `payout.canceled`

Sent when a payout was canceled. `data.object` is a [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) object.

### `payout.created`

Sent when a payout was created. `data.object` is a [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) object.

### `payout.failed`

Sent when a payout failed and the money returned to the balance. `data.object` is a [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) object.

### `payout.paid`

Sent when a payout reached the bank. `data.object` is a [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) object.

### `payout.updated`

Sent when a payout changed. `data.object` is a [`payout`](https://docs.fluveo.com/api/payouts.md#object-payout) object.

## `price` events

### `price.created`

Sent when a price was created, alone or with its product. `data.object` is a [`price`](https://docs.fluveo.com/api/prices.md#object-price) object.

### `price.updated`

Sent when a price changed, also when another price took its lookup_key; previous_attributes holds the old values. `data.object` is a [`price`](https://docs.fluveo.com/api/prices.md#object-price) object.

## `product` events

### `product.created`

Sent when a product was created, alone or through a price's product_data. `data.object` is a [`product`](https://docs.fluveo.com/api/products.md#object-product) object.

### `product.deleted`

Sent when a product was deleted. `data.object` is a [`product`](https://docs.fluveo.com/api/products.md#object-product) object.

### `product.updated`

Sent when a product changed; previous_attributes holds the old values. `data.object` is a [`product`](https://docs.fluveo.com/api/products.md#object-product) object.

## `radar` events

### `radar.early_fraud_warning.created`

Sent when a card issuer warned that a charge of the store is likely fraud. `data.object` is a [`radar.early_fraud_warning`](https://docs.fluveo.com/api/early_fraud_warnings.md#object-radar_early_fraud_warning) object.

### `radar.early_fraud_warning.updated`

Sent when an early fraud warning changed, such as actionable turning false after a full refund; previous_attributes holds the old values. `data.object` is a [`radar.early_fraud_warning`](https://docs.fluveo.com/api/early_fraud_warnings.md#object-radar_early_fraud_warning) object.

## `refund` events

### `refund.created`

Sent when a refund was created. `data.object` is a [`refund`](https://docs.fluveo.com/api/refunds.md#object-refund) object.

### `refund.failed`

Sent when a refund failed. `data.object` is a [`refund`](https://docs.fluveo.com/api/refunds.md#object-refund) object.

### `refund.updated`

Sent when a refund changed. `data.object` is a [`refund`](https://docs.fluveo.com/api/refunds.md#object-refund) object.

## `reserve` events

### `reserve.hold.created`

Sent when money from a sale was held back in the reserve of the store's account. `data.object` is a `reserve.hold` object.

### `reserve.hold.updated`

Sent when a reserve hold changed, such as its release date or the part still held. `data.object` is a `reserve.hold` object.

### `reserve.plan.created`

Sent when a reserve plan was set up on the store's account. `data.object` is a `reserve.plan` object.

### `reserve.plan.disabled`

Sent when a reserve plan was turned off and its holds are being released. `data.object` is a `reserve.plan` object.

### `reserve.plan.expired`

Sent when a reserve plan reached its end and its holds are being released. `data.object` is a `reserve.plan` object.

### `reserve.plan.updated`

Sent when a reserve plan's terms changed. `data.object` is a `reserve.plan` object.

### `reserve.release.created`

Sent when money held in the reserve was released: on its date, early, or by a refund or dispute. `data.object` is a `reserve.release` object.

## `setup_intent` events

### `setup_intent.canceled`

Sent when a SetupIntent was canceled. `data.object` is a [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) object.

### `setup_intent.created`

Sent when a SetupIntent was created. `data.object` is a [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) object.

### `setup_intent.requires_action`

Sent when the buyer must pass 3D Secure before the card is set up. `data.object` is a [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) object.

### `setup_intent.setup_failed`

Sent when setting up a card failed: a decline or a failed 3D Secure; last_setup_error says which. `data.object` is a [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) object.

### `setup_intent.succeeded`

Sent when a card was set up and attached to the SetupIntent's customer. `data.object` is a [`setup_intent`](https://docs.fluveo.com/api/setup_intents.md#object-setup_intent) object.
