events (or pass ["*"]) to receive every event type.
Subscribe
id and secret. Store the secret immediately; it is only shown on create and rotate.
Delivery envelope
Every POST to your endpoint uses this shape. Useid for idempotent processing.
All monetary amounts in
data are integer cents unless noted.
Verify signatures (TypeScript)
Webhook delivery logs
Inspect outbound delivery attempts (pending, delivered, or failed) for your business.Response item
id to correlate with the id sent in the webhook body. Fix your endpoint, then rely on automatic retries for in-flight deliveries or investigate failed rows after the final attempt.
Retries
Failed deliveries (non-2xx or network error) retry with exponential backoff up to ten attempts. Design your handler to be idempotent using the deliveryid in the payload.
Events
Subscribe using exact event names or wildcards (see Wildcards). Each delivery setstype to the event name and data to the payload below. Amounts are integer cents unless noted.
Across user-scoped events, userId is the same Mongo ObjectId returned by POST /users and GET /users/{userId}. Card events include user: { id, name } instead of top-level userId / userCode.
Deposits
deposit.created
Treasury deposit created.deposit.proof_submitted
Proof of payment uploaded.deposit.approved
Deposit approved and treasury credited.deposit.declined
Deposit rejected by ops.deposit.expired
Deposit expired without matching transfer.Trading
payAmount, receiveAmount, and convertedAmount are integer cents. pay is the asset you pay; receive / convertedCurrency is the asset you receive.
trade.approved
Trade completed and treasury balances were updated. Same shape as the buy/sell API response (nostatus field).
Card transactions
amount is integer cents. transactionDateAt is the ISO-8601 time for this event.
Lifecycle: the first event is usually card.transaction.pending (authorization held). Later you may receive completed, declined, or reversed.
card.transaction.pending
Authorization or hold recorded. Usual first event for a new spend.card.transaction.completed
Transaction settled.card.transaction.declined
Authorization declined.card.transaction.reversed
Reversal or refund.Card disputes
card.dispute.created fires when a dispute is filed. card.dispute.updated fires when the status or textEvidence changes.
data.id is the dispute id. data.transactionId is the same id used on card transaction events. See Transaction disputes.
Status values: pending, inReview, accepted, rejected, canceled, resolvedByMerchant.
When the card network accepts a dispute, the credit arrives separately as card.transaction.completed with a negative amount.
card.dispute.created
card.dispute.updated
EasyCard application
business.application.pending
Company application submitted (POST /business/application).
business.application.needs_verification
Additional issuer verification required for the company application.business.application.approved
Company application approved - you may enroll end users.business.application.rejected
Company application declined.Card enrollment
card.enrollment.pending
End user enrolled on the EasyCard application; compliance in progress.card.enrollment.needs_verification
Issuer requires additional verification before enrollment can be approved.card.enrollment.approved
User compliance approved - you may issue cards.card.enrollment.rejected
User enrollment declined.Card status
card.status.changed
Card frozen, unfrozen, or terminated.Card programme movements
card.fund.completed
Corporate EasyCard programme funding completed.spendingPower is the updated company programme balance.
card / user may be omitted for programme-level funds.
card.withdraw.completed
Corporate EasyCard programme withdrawal completed.spendingPower is the updated company programme balance.
card / user may be omitted for programme-level withdrawals.
Users
user.created
End user provisioned.user.deleted
End user removed.user.updated
End user profile updated viaPATCH /users/{userId} or retail/ops changes. Includes only fields that changed (name, firstName, lastName, email, phone, subAccount, twoFactorEnabled, emailVerified, and/or phoneVerified).