successful payout-intent-action and transaction record are created synchronously as part of the same operation — this endpoint has no pending or pending-approval outcome.pending-approval or terminated; the requested amount must not exceed the card's current cached_balance.money_action_confirmation_id (minted via POST /money-action-confirmations with action_type card_withdrawal, and, when the confirmation was minted with a reference, matching virtual_card_id) in the request body, obtained after the caller re-confirms their PIN. This requirement is skipped entirely for secret-API-key requests, since PIN confirmation only applies to interactive human sessions.curl --location '/virtual-card-withdrawals' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"virtual_card_id": "01HXYZ1234567890ABCDEFGHIJ",
"amount": 25000
}'{
"message": "Virtual card withdrawal created successfully",
"status": "success",
"data": {
"id": "01HXYZ5555666677778888AA",
"entity_id": "01HENT1234567890ABCDEFGHIJ",
"account_id": "01HACC1234567890ABCDEFGHIJ",
"direction": "credit",
"type": "payout",
"amount": 25000,
"currency": "NGN",
"applicable_fee": 0,
"balance_after": 125000,
"status": "successful",
"status_reason": null,
"narration": "Card withdrawal",
"counterparty_id": null,
"initiating_counterparty": null,
"receiving_counterparty": null,
"source": {
"type": "payout_intent_action",
"id": "01HPIA1234567890ABCDEFGHIJ"
},
"created": 1754392100000,
"updated": 1754392100000
}
}