> ## Documentation Index
> Fetch the complete documentation index at: https://rain-sandbox-trial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Event Catalog

> Look up any Rain webhook event to see its category, whether it needs a response, and what triggers it.

Use this catalog to identify each event's delivery behavior, response requirements, and where it applies. Events are grouped by category. **Synchronous** events expect a response that influences the outcome, such as approving an authorization. **Asynchronous** events are informational and only need a `2xx` acknowledgement. See [Respond to webhooks](/docs/webhook-delivery#respond-to-webhooks) for response requirements.

Some events reach only the tenants a feature is enabled for, and one is legacy. Check the "When it fires" column to see if an event applies to your program.

| Event                                                                              | Category               | Delivery     | When it fires                                                                                                                                                             |
| ---------------------------------------------------------------------------------- | ---------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`transaction.requested`](/docs/transaction#transaction-requested)                 | Transactions           | Synchronous  | A cardholder attempts to authorize a purchase                                                                                                                             |
| [`transaction.created`](/docs/transaction#transaction-created)                     | Transactions           | Asynchronous | A spend, collateral, or payment transaction is created                                                                                                                    |
| [`transaction.updated`](/docs/transaction#transaction-updated)                     | Transactions           | Asynchronous | A transaction changes, such as an incremental authorization or refund                                                                                                     |
| [`transaction.completed`](/docs/transaction#transaction-completed)                 | Transactions           | Asynchronous | A spend or payment transaction reaches a final, settled state                                                                                                             |
| [`transactionReward.created`](/changelog/webhooks/v1/transactionReward/created)    | Transactions           | Asynchronous | A card transaction settles and its reward is finalized. Sent only for partner-managed on-chain tenants                                                                    |
| [`transactionTransfer.created`](/docs/transaction#transactiontransfer-created)     | Transactions           | Asynchronous | A transfer between accounts is created                                                                                                                                    |
| [`transactionTransfer.updated`](/docs/transaction#transactiontransfer-updated)     | Transactions           | Asynchronous | A transfer changes state                                                                                                                                                  |
| [`transactionTransfer.completed`](/docs/transaction#transactiontransfer-completed) | Transactions           | Asynchronous | A transfer reaches a final state                                                                                                                                          |
| [`onchainRefund.created`](/docs/handling-refunds#webhook-notifications)            | Transactions           | Asynchronous | An on-chain refund is created and processing begins. Sent to tenants with on-chain refunds or Auth Pull enabled                                                           |
| [`onchainRefund.completed`](/docs/handling-refunds#webhook-notifications)          | Transactions           | Asynchronous | An on-chain refund settles and the funds reach their destination. Sent to tenants with on-chain refunds or Auth Pull enabled                                              |
| [`card.created`](/docs/card#card-created)                                          | Cards & Authentication | Asynchronous | A card is created, whether issued via the API or internally by Rain                                                                                                       |
| [`card.updated`](/docs/card#card-updated)                                          | Cards & Authentication | Asynchronous | A card status changes or a card is added to a digital wallet                                                                                                              |
| [`card.notification`](/docs/card#card-notification)                                | Cards & Authentication | Asynchronous | A card provisioning or wallet token decision is made                                                                                                                      |
| [`challenge.requested`](/docs/card#challenge-requested)                            | Cards & Authentication | Synchronous  | A 3D Secure challenge is issued during authentication                                                                                                                     |
| [`3ds.notification`](/changelog/webhooks/v1/3ds/notification)                      | Cards & Authentication | Synchronous  | Legacy. A 3D Secure challenge is initiated, for tenants that have not migrated to `challenge.requested`. Same 60-second, single-attempt delivery as `challenge.requested` |
| [`user.updated`](/docs/identity-and-compliance#user-updated)                       | Identity & Compliance  | Asynchronous | A user's KYC or application status changes                                                                                                                                |
| [`company.updated`](/docs/identity-and-compliance#company-updated)                 | Identity & Compliance  | Asynchronous | A company's KYB or application status changes                                                                                                                             |
| [`dispute.created`](/docs/disputes#dispute-created)                                | Disputes               | Asynchronous | A new dispute is opened                                                                                                                                                   |
| [`dispute.updated`](/docs/disputes#dispute-updated)                                | Disputes               | Asynchronous | A dispute changes status or evidence is modified                                                                                                                          |
| [`dispute.evidenceRequested`](/docs/disputes#dispute-evidencerequested)            | Disputes               | Asynchronous | Reserved; not currently emitted. Evidence requests reach you through your Rain contact                                                                                    |
| [`dispute.chargebackCreated`](/docs/disputes#dispute-chargebackcreated)            | Disputes               | Asynchronous | A chargeback is created for a dispute                                                                                                                                     |
| [`contract.created`](/docs/account-and-reports#contract-created)                   | Account & Reports      | Asynchronous | A collateral contract is created                                                                                                                                          |
| [`report.created`](/docs/account-and-reports#report-created)                       | Account & Reports      | Asynchronous | A BIN report is ready                                                                                                                                                     |
| [`paymentRoute.created`](/docs/paymentRoute#paymentroute-created)                  | Payment Routes         | Asynchronous | A payment route becomes active and ready to receive deposits                                                                                                              |
| [`microDeposit.received`](/docs/paymentRoute#microdeposit-received)                | Payment Routes         | Asynchronous | A deposit under \$2.00 arrives on a payment route with a bank account, usually to verify account ownership. Rain records it but never processes it                        |
| [`raindrop_balance.requested`](/docs/raindrops#raindrop_balance-requested)         | Raindrops Rewards      | Synchronous  | Rain needs a user's current Raindrops balance                                                                                                                             |
| [`raindrop_redemption.created`](/docs/raindrops#raindrop_redemption-created)       | Raindrops Rewards      | Asynchronous | A Rain-Managed redemption needs on-chain burn authorization                                                                                                               |
| [`raindrop_redemption.completed`](/docs/raindrops#raindrop_redemption-completed)   | Raindrops Rewards      | Asynchronous | A travel redemption is marked completed                                                                                                                                   |
| [`raindrop_redemption.refunded`](/docs/raindrops#raindrop_redemption-refunded)     | Raindrops Rewards      | Asynchronous | A travel redemption is refunded                                                                                                                                           |
