Rewards webhooks:Rewards webhooks cover both the Rain-Managed travel authorization flow and
Partner-Managed balance, completion, and refund events.
raindrop_balance.requested
Rain sends this webhook to PARTNER_ONCHAIN tenants when it needs a user’s
current Raindrops balance. Your endpoint must return the user’s
availableBalance within 1500ms. PARTNER_OFFCHAIN tenants do not receive
this webhook because Rain manages their balance ledger.
Rain signs the raw JSON request body with your webhook signing key and sends
the hex HMAC-SHA256 digest in the Signature header. Verify this signature
before you return a balance.
Request
Response
Return a JSON response with the user’s available balance as a string.Response
If you return a non-2xx status, malformed JSON, or no response within 1500ms,
Rain treats the balance as unavailable and the calling travel-balance or
travel-redemption request receives
503 Service Unavailable.
raindrop_redemption.created
This webhook is sent for Rain-Managed redemptions when Rain reserves the
redemption and needs your application to prompt the user for on-chain burn
authorization, such as when the travel portal reserves a booking. The amount
is in native 18-decimal TenantToken units. Partner-Managed travel redemptions
skip this step and do not receive created.
Payload
raindrop_redemption.completed
This webhook is sent to Partner-Managed tenants when a travel redemption is
marked completed. For PARTNER_ONCHAIN, use this event to burn the user’s
points in your system. For PARTNER_OFFCHAIN, Rain has already debited the
off-chain balance and the event is informational.
Payload
raindrop_redemption.refunded
This webhook is sent when a travel portal redemption is refunded. For
PARTNER_ONCHAIN, update the user’s balance in your own system. For
PARTNER_OFFCHAIN and Rain-Managed programs, Rain handles the refund balance
update.
Payload
What’s next
How webhooks work
Browse every other event category from the hub.