Home
Wise
Wise Platform Webhooks
Wise · AsyncAPI Specification
Wise Platform Webhooks
Version 2.0.0
AsyncAPI 2.6 description of the Wise Platform webhook surface. Wise pushes HTTP `POST` notifications to subscriber-defined HTTPS endpoints when events occur against profiles, transfers, balances, cards, multi-currency account details, batches, settlements, holds, disputes and partner support cases. Each delivery is signed with an RSA-SHA256 signature over the raw HTTP request body. The signature is Base64-encoded and transmitted in the `X-Signature-SHA256` header. Subscribers verify the signature using Wise's published RSA public keys (separate keys for production and sandbox) and must reject any request whose signature does not validate. Subscribers must respond with a `2xx` HTTP status within 5 seconds. Failed deliveries are retried up to 25 times with increasing back-off over a two-week window. Events may arrive out of order; consumers should use the event-specific ordering fields (typically `data.occurred_at`). Sources: - https://docs.wise.com/guides/developer/webhooks/event-handling - https://docs.wise.com/guides/developer/webhooks/event-types - https://github.com/transferwise/digital-signatures-examples/tree/main/verify-webhook-signature
Channels
transfers#state-change
subscribe onTransferStateChange
Receive transfer state change notifications.
Triggered whenever a transfer's state changes. Available at both profile and application subscription levels.
transfers#active-cases
subscribe onTransferActiveCases
Receive transfer active cases notifications.
Triggered when the list of active cases on a transfer is updated.
transfers#refund
subscribe onTransferRefund
Receive transfer refund notifications.
Triggered when a transfer becomes `funds_refunded`, providing refund amount and currency information.
transfers#payout-failure
subscribe onTransferPayoutFailure
Receive transfer payout failure notifications.
Triggered when a transfer payout fails, including failure reason codes.
balances#update
subscribe onBalanceUpdate
Receive balance credit/debit notifications.
Primary balance event. Triggered for credit or debit transactions on a multi-currency balance. Supersedes `balances#credit`.
balances#credit
subscribe onBalanceCredit
Receive (deprecated) balance credit notifications.
Profile-level event triggered every time a multi-currency balance is credited. Deprecated in favour of `balances#update`.
balances#account-state-change
subscribe onBalanceAccountStateChange
Receive balance account state change notifications.
Application-level event triggered when a balance account is activated or deactivated.
profiles#verification-state-change
subscribe onProfileVerificationStateChange
Receive profile verification state change notifications.
Triggered when the verification state of a connected profile changes between `verified` and `not_verified`.
profiles#state-change
subscribe onProfileStateChange
Receive profile state change notifications.
Triggered every time a profile's state is updated.
profiles#cdd-check-state-change
subscribe onProfileCddCheckStateChange
Receive CDD check state change notifications.
Triggered when a Customer Due Diligence check state changes, including required evidences and review outcome.
profiles#overdraft-limit-threshold
subscribe onProfileOverdraftLimitThreshold
Receive overdraft limit threshold notifications.
Triggered when overdraft usage reaches the 70% threshold (rate-limited to a maximum of once per hour per profile).
users#state-change
subscribe onUserStateChange
Receive user state change notifications.
Application-level event triggered when a user's state changes (ACTIVE, WITHDRAW_ONLY, DEACTIVATED).
cards#card-status-change
subscribe onCardStatusChange
Receive card status change notifications.
Triggered for initial and subsequent card status updates.
cards#card-production-status-change
subscribe onCardProductionStatusChange
Receive card production status notifications.
Triggered for physical cards using `KIOSK_COLLECTION` delivery.
cards#3ds-challenge
subscribe onCard3dsChallenge
Receive 3DS challenge notifications.
Triggered for 3D Secure push notifications during card transactions.
cards#manual-provisioning-verification
subscribe onCardManualProvisioningVerification
Receive manual provisioning verification notifications.
Triggered for manual wallet provisioning verification.
cards#transaction-state-change
subscribe onCardTransactionStateChange
Receive card transaction state change notifications.
Triggered when a card transaction state changes. Includes merchant, fees, debits and credits.
cards#card-order-status-change
subscribe onCardOrderStatusChange
Receive card order status notifications.
Triggered when a card order status changes.
account-details-order#order-state-change
subscribe onAccountDetailsOrderStateChange
Receive account details order state change notifications.
Application-level event triggered when a multi-currency account details order state changes (PENDING_USER, PENDING_TW, REQUIREMENTS_FULFILLED, DONE).
account-details-payment#state-change
subscribe onAccountDetailsPaymentStateChange
Receive account details pay-in state change notifications.
Triggered every time a pay-in is made into the specified account details.
hold-limit-breach#update
subscribe onHoldLimitBreachUpdate
Receive hold limit breach notifications.
Triggered whenever a regulatory hold limit breach is opened or closed.
batch-payment-initiations#state-change
subscribe onBatchPaymentInitiationStateChange
Receive batch payment initiation state change notifications.
Application-level event triggered when a batch payment initiation state changes (NEW, PROCESSING, COMPLETED, FAILED, CHARGED_BACK).
bulk-settlement#payment-received
subscribe onBulkSettlementPaymentReceived
Receive bulk settlement payment notifications.
Application-level event triggered when bulk settlement funds arrive.
transaction-disputes#update
subscribe onTransactionDisputeUpdate
Receive transaction dispute update notifications.
Application-level event triggered when a transaction dispute is submitted or updated.
partner-support#case-changed
subscribe onPartnerSupportCaseChanged
Receive partner support case change notifications.
Application-level beta event triggered when a partner support case updates, including comments or status changes.
swift-in#credit
subscribe onSwiftInCredit
Receive SWIFT inbound credit notifications.
Triggered when a SWIFT inbound credit is received, including UETR, sender, recipient, exchange rate, and fee breakdown.
Messages
✉
TransferStateChangeEvent
Transfer State Change
Transfer status was updated.
✉
TransferActiveCasesEvent
Transfer Active Cases
Active case list on the transfer was updated.
✉
TransferRefundEvent
Transfer Refund
Transfer status became funds_refunded.
✉
TransferPayoutFailureEvent
Transfer Payout Failure
A transfer payout failed.
✉
BalanceUpdateEvent
Balance Update
A credit or debit posted to a multi-currency balance.
✉
BalanceCreditEvent
Balance Credit (deprecated)
Deprecated profile-level balance credit event.
✉
BalanceAccountStateChangeEvent
Balance Account State Change
Balance account was activated or deactivated.
✉
ProfileVerificationStateChangeEvent
Profile Verification State Change
A connected profile's verification state changed.
✉
ProfileStateChangeEvent
Profile State Change
Profile state was updated.
✉
ProfileCddCheckStateChangeEvent
Profile CDD Check State Change
Customer Due Diligence check state changed.
✉
ProfileOverdraftLimitThresholdEvent
Profile Overdraft Limit Threshold
Overdraft usage reached the configured threshold.
✉
UserStateChangeEvent
User State Change
User account state changed.
✉
CardStatusChangeEvent
Card Status Change
Card status was updated.
✉
CardProductionStatusChangeEvent
Card Production Status Change
Physical card production status changed.
✉
Card3dsChallengeEvent
Card 3DS Challenge
A 3D Secure challenge was issued.
✉
CardManualProvisioningVerificationEvent
Card Manual Provisioning Verification
Manual wallet provisioning verification event.
✉
CardTransactionStateChangeEvent
Card Transaction State Change
A card transaction state changed.
✉
CardOrderStatusChangeEvent
Card Order Status Change
Card order status changed.
✉
AccountDetailsOrderStateChangeEvent
Account Details Order State Change
Multi-currency account details order state changed.
✉
AccountDetailsPaymentStateChangeEvent
Account Details Payment State Change
A pay-in to an account-details set was processed.
✉
HoldLimitBreachUpdateEvent
Hold Limit Breach Update
Regulatory hold limit breach opened or closed.
✉
BatchPaymentInitiationStateChangeEvent
Batch Payment Initiation State Change
Batch payment initiation moved through its lifecycle.
✉
BulkSettlementPaymentReceivedEvent
Bulk Settlement Payment Received
Bulk settlement funds arrived.
✉
TransactionDisputeUpdateEvent
Transaction Dispute Update
A transaction dispute was submitted or updated.
✉
PartnerSupportCaseChangedEvent
Partner Support Case Changed
Partner support case updated (beta).
✉
SwiftInCreditEvent
SWIFT Inbound Credit
A SWIFT inbound credit was received.
Servers
https
production
https://{subscriberHost}
The subscriber's HTTPS endpoint that receives Wise webhook notifications in production. Signatures are verified using the production RSA public key.
https
sandbox
https://{subscriberHost}
Sandbox subscriber endpoint. Notifications originate from api.sandbox.transferwise.tech and are signed with the sandbox RSA public key.
AsyncAPI Specification