Simulate Webhook
Send a test card webhook to your callback URL in sandbox. Only the webhook is sent: the card balance and transaction history don't change.
Auth & Scope
HMAC authentication (standard /api auth)
Sandbox only — production returns 403
Request
Issue a POST with the event_type you want to send.
Path Parameters
The unique identifier of the card to simulate the webhook for.
Body Parameters
Optional. The card is taken from the path.
Which card event to send. Must be one of the values listed below.
Allowed values, and the webhook each one sends:
authorization → virtualcard.transaction.authorization
settlement → virtualcard.transaction.settlement
reversal → virtualcard.transaction.reversed
decline → virtualcard.transaction.declined
Response
A successful call returns 200 OK and sends the webhook to the card's webhook_url, or to your account's webhook URL if the card has none.
Response Fields
Whether the simulation request was accepted.
Human-readable status message.
The fully-qualified webhook event type that was simulated (e.g. 'virtualcard.transaction.authorization').
Unique reference for the simulated event, prefixed by event kind (e.g. 'SIMULATE_AUTH_<uuid>').
The URL the webhook was sent to, partially masked.
True when the synthetic webhook was actually sent. False when delivery was skipped.
Why delivery was skipped, for example no webhook URL on the card or the account. Empty when 'dispatched' is true.
ISO-8601 timestamp of the response.
Errors
400 Bad Request — invalid body, or event_type not in the allowed set.
403 Forbidden — called outside sandbox.
Notes for Integrators
No money moves. The card balance and transaction history stay the same, so use this to test your webhook handling, not balance changes.
You can only simulate webhooks for your own cards.