> ## 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.

# raindrop_redemption.completed

<Update label="v1.0.0" description="initial release">
  ### raindrop\_redemption.completed webhook

  Added the `raindrop_redemption.completed` webhook. This webhook is sent when a travel redemption is marked COMPLETED for partner-managed tenants (PARTNER\_ONCHAIN and PARTNER\_OFFCHAIN modes).

  For `PARTNER_ONCHAIN`, use this event to burn or otherwise debit the user's points in your system. For `PARTNER_OFFCHAIN`, Rain has already debited the off-chain balance before sending the webhook.

  #### Payload Fields

  | Field                 | Type                | Description                                                         |
  | --------------------- | ------------------- | ------------------------------------------------------------------- |
  | `id`                  | `string`            | Webhook ID                                                          |
  | `resource`            | `string`            | Always `"raindrop_redemption"`                                      |
  | `action`              | `string`            | Always `"completed"`                                                |
  | `version`             | `string`            | The webhook version                                                 |
  | `body.id`             | `string`            | The redemption ID                                                   |
  | `body.userId`         | `string`            | The ID of the user who redeemed points                              |
  | `body.type`           | `string`            | The redemption type. Currently `"TRAVEL_PORTAL"`                    |
  | `body.raindropAmount` | `string`            | The amount of points redeemed                                       |
  | `body.bookingId`      | `string` (optional) | The travel booking ID. Only present for `TRAVEL_PORTAL` redemptions |
  | `eventReceivedAt`     | `string` (optional) | ISO-8601 timestamp                                                  |

  #### Example Payload

  ```json theme={null}
  {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "resource": "raindrop_redemption",
      "action": "completed",
      "version": "1.0.0",
      "body": {
          "id": "redemption_abc123",
          "userId": "user_def456",
          "type": "TRAVEL_PORTAL",
          "raindropAmount": "1000",
          "bookingId": "booking_xyz789"
      },
      "eventReceivedAt": "2026-06-08T14:30:00.000Z"
  }
  ```
</Update>
