Overview
A withdrawal allows users to transfer funds from their Fluz balance to an external account. Users can withdraw from two types of balances:- Cash Balance - Funds deposited by the user into their Fluz account
- Rewards Balance - Cashback earnings accumulated from purchases
Withdraw Cash Balance
Sample Request
You can initiate a withdrawal with thewithdrawCashBalance mutation. This mutation transfers funds from a user’s Fluz balance to their specified external account.
WithdrawCashBalanceInput input type. Any field marked with an exclamation mark (!) in the schema is mandatory and must be included in the request.
Input Fields
WithdrawCashBalanceInput
Sample Response
The response from thewithdrawCashBalance mutation includes the withdrawal record(s) and the user’s updated balances.
Response Fields
Withdraw Object
Required Scope
This mutation requires theMAKE_WITHDRAWAL scope to be granted to the access token.
Withdrawal Methods by Account Type
Error Handling
Common error scenarios:Example Error Response
Multiple Withdrawals
In some cases, a single withdrawal request may result in multiple withdrawal records. This can happen when the withdrawal amount is split across multiple seats (network positions). The response will contain all withdrawal records created.Best Practices
- Always use unique idempotency keys - Generate a new UUID for each withdrawal request to prevent duplicate transactions.
- Check balances before withdrawing - Use the
getWalletquery to verify the user has sufficient funds before initiating a withdrawal. - Handle pending states - Withdrawals may take time to process. The
statusfield will indicate the current state of the withdrawal. - Store transaction references - Save the
withdrawIdandtransactionLogIdfor reconciliation and support purposes.
Changelog
v1.2.0 - 2024-11-20
Schema refinements and field cleanup- Removed
isExpeditedfield fromWithdrawCashBalanceInput- expedited ACH is no longer configurable via the API - Changed
seat_idfield onWithdrawtype from optional to required (UUID→UUID!) - Updated description for
BANK_CARDmethod to remove “expedited” reference
v1.1.0 - 2024-10-15
Added Venmo support and rewards balance withdrawals- Added
VENMOtoWithdrawMethodsenum - Added
venmoAccountIdfield toWithdrawCashBalanceInput - Added
REWARDS_BALANCEtoWithdrawSourceenum to support withdrawing cashback earnings - Added
seat_idfield toWithdrawresponse type for multi-seat account tracking
v1.0.0 - 2024-09-01
Initial release- Introduced
withdrawCashBalancemutation withMAKE_WITHDRAWALscope requirement - Added
WithdrawMethodsenum withPAYPAL,BANK_ACH, andBANK_CARDmethods - Added
WithdrawSourceenum withCASH_BALANCEsource - Added
WithdrawCashBalanceInputinput type with idempotency support - Added
Withdrawresponse type with full withdrawal record details - Added
WithdrawCashBalanceResponsetype returning withdrawal records and updated balances - Integrated with payout-service for withdrawal processing
- Added application action logging for audit trail