Airwallex · AsyncAPI Specification
Airwallex Webhooks
Version
View Spec
View on GitHub
Cross-Border PaymentsFintechForeign ExchangePaymentsGlobalEmbedded FinanceMulti-CurrencyAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-30'
method: searched
source: https://www.airwallex.com/docs/developer-tools/webhooks/webhooks-overview.md
spec_type: null
note: 'Airwallex publishes NO AsyncAPI document — probed /asyncapi.yaml and /asyncapi.json on every baseURL and
docs host, and searched the github.com/airwallex org: nothing. It does publish a first-class webhook surface,
and the full event catalogue is enumerated in the OAuth scopes reference, where every scope row lists the webhook
events it may subscribe to. The 178 event names below were extracted from that provider-published table; no event
name here was invented. Emitted as type: Webhooks, not AsyncAPI.'
webhooks:
docs: https://www.airwallex.com/docs/developer-tools/webhooks/webhooks-overview
setup_docs: https://www.airwallex.com/docs/developer-tools/webhooks/listen-for-webhook-events
replay_docs: https://www.airwallex.com/docs/developer-tools/webhooks/view-and-re-trigger-webhook-events
transport: HTTPS POST, JSON payload
subscription_model: per-subscription notification URL plus a selected event set, configured in the Airwallex web
app
expected_response: 200 OK
retry_policy: exponential back-off for approximately three days until the endpoint returns 200
ordering_guarantee: none - use the payload created_at field when ordering matters
duplicate_delivery: at-least-once; the event id is stable across retries so handlers must be idempotent on it
signature:
scheme: HMAC over the request timestamp and body, compared against the signature request header
secret_scope: one secret key per subscription, shown in the Airwallex web app
docs: https://www.airwallex.com/docs/developer-tools/webhooks/listen-for-webhook-events#check-webhook-signatures
source_ip_allowlist:
required: true
docs: https://www.airwallex.com/docs/developer-tools/webhooks/listen-for-webhook-events#whitelist-ip-addresses
note: separate production and sandbox IP ranges are published; the sandbox list must be allowlisted to receive
sandbox events
replay: events can be inspected (success/queued/failed) and re-delivered from the Airwallex web app
connected_accounts: platforms receive connected-account events on the platform subscription
event_count: 178
event_domains:
account: 5
balance: 3
batch_transfers: 19
billing_checkout: 3
billing_transaction: 3
conversion: 4
credit_note: 3
customer: 2
funds_split: 4
ga: 1
invoice: 8
issuing: 20
payment_attempt: 14
payment_consent: 5
payment_dispute: 9
payment_intent: 8
payment_method: 5
payout: 18
refund: 4
rfi: 3
spend: 24
subscription: 7
usage_event: 1
wallet_transfer: 5
events:
- account.action_required
- account.active
- account.connected
- account.submitted
- account.suspended
- balance.adjustment
- balance.ga.top_up
- balance.va.top_up
- batch_transfers.approval_blocked
- batch_transfers.approval_recalled
- batch_transfers.approval_rejected
- batch_transfers.booked
- batch_transfers.booking
- batch_transfers.cancellation_requested
- batch_transfers.cancelled
- batch_transfers.drafting
- batch_transfers.failed
- batch_transfers.funding.failed
- batch_transfers.funding.funded
- batch_transfers.funding.processing
- batch_transfers.funding.requires_funding_confirmation
- batch_transfers.funding.reversed
- batch_transfers.funding.scheduled
- batch_transfers.in_approval
- batch_transfers.overdue
- batch_transfers.partially_booked
- batch_transfers.scheduled
- billing_checkout.cancelled
- billing_checkout.completed
- billing_checkout.created
- billing_transaction.cancelled
- billing_transaction.created
- billing_transaction.succeeded
- conversion.cancelled
- conversion.overdue
- conversion.scheduled
- conversion.settled
- credit_note.created
- credit_note.finalized
- credit_note.voided
- customer.created
- customer.updated
- funds_split.created
- funds_split.failed
- funds_split.released
- funds_split.settled
- ga.new
- invoice.created
- invoice.finalized
- invoice.paid
- invoice.payment.paid
- invoice.payment_attempt_failed
- invoice.payment_failed
- invoice.sent
- invoice.voided
- issuing.card.active
- issuing.card.blocked
- issuing.card.closed
- issuing.card.expired
- issuing.card.failed
- issuing.card.inactive
- issuing.card.lost
- issuing.card.low_remaining_transaction_limit
- issuing.card.modified
- issuing.card.pending
- issuing.card.stolen
- issuing.card_notification.created
- issuing.card_notification.physical_activated
- issuing.cardholder.deleted
- issuing.cardholder.disabled
- issuing.cardholder.incomplete
- issuing.cardholder.pending
- issuing.cardholder.ready
- issuing.transaction.failed
- issuing.transaction.succeeded
- payment_attempt.authentication_failed
- payment_attempt.authentication_redirected
- payment_attempt.authorization_failed
- payment_attempt.authorized
- payment_attempt.cancelled
- payment_attempt.capture_failed
- payment_attempt.capture_requested
- payment_attempt.expired
- payment_attempt.failed_to_process
- payment_attempt.paid
- payment_attempt.pending_authorization
- payment_attempt.received
- payment_attempt.risk_declined
- payment_attempt.settled
- payment_consent.created
- payment_consent.disabled
- payment_consent.pending
- payment_consent.updated
- payment_consent.verified
- payment_dispute.accepted
- payment_dispute.challenged
- payment_dispute.expired
- payment_dispute.lost
- payment_dispute.pending_closure
- payment_dispute.pending_decision
- payment_dispute.requires_response
- payment_dispute.reversed
- payment_dispute.won
- payment_intent.cancelled
- payment_intent.created
- payment_intent.payment_failed
- payment_intent.pending
- payment_intent.requires_capture
- payment_intent.requires_customer_action
- payment_intent.requires_payment_method
- payment_intent.succeeded
- payment_method.attached
- payment_method.created
- payment_method.detached
- payment_method.disabled
- payment_method.updated
- payout.transfer.approval_blocked
- payout.transfer.approval_recalled
- payout.transfer.approval_rejected
- payout.transfer.cancellation_requested
- payout.transfer.cancelled
- payout.transfer.failed
- payout.transfer.funding.failed
- payout.transfer.funding.funded
- payout.transfer.funding.processing
- payout.transfer.funding.requires_funding_confirmation
- payout.transfer.funding.reversed
- payout.transfer.funding.scheduled
- payout.transfer.in_approval
- payout.transfer.overdue
- payout.transfer.paid
- payout.transfer.processing
- payout.transfer.scheduled
- payout.transfer.sent
- refund.accepted
- refund.failed
- refund.received
- refund.settled
- rfi.action_required
- rfi.answered
- rfi.closed
- spend.bill.awaiting_approval
- spend.bill.awaiting_payment
- spend.bill.deleted
- spend.bill.paid
- spend.bill.payment_in_progress
- spend.bill.rejected
- spend.bill.scheduled
- spend.bill.updated
- spend.expense.approved
- spend.expense.archived
- spend.expense.awaiting_approval
- spend.expense.deleted
- spend.expense.draft
- spend.expense.rejected
- spend.expense.updated
- spend.reimbursement_report.awaiting_approval
- spend.reimbursement_report.awaiting_payment
- spend.reimbursement_report.deleted
- spend.reimbursement_report.draft
- spend.reimbursement_report.mark_as_paid
- spend.reimbursement_report.paid
- spend.reimbursement_report.payment_in_progress
- spend.reimbursement_report.rejected
- spend.reimbursement_report.updated
- subscription.active
- subscription.cancelled
- subscription.created
- subscription.in_trial
- subscription.modified
- subscription.unpaid
- subscription.updated
- usage_event.aggregation_failed
- wallet_transfer.created
- wallet_transfer.failed
- wallet_transfer.processing
- wallet_transfer.sent
- wallet_transfer.settled
asyncapi:
published: false
probes:
- url: https://www.airwallex.com/asyncapi.yaml
status: 404
- url: https://api.airwallex.com/asyncapi.json
status: 404
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/airwallex-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.