Transfer Funds Between Spend Accounts
Move money between two of your own Fluz spend accounts — withdrawing from a source spend account and depositing into a destination spend account in a single operation, using the transferInternalBalance mutation.
This transfers between your own spend accounts.A spend account is a cash balance account (the
UserCashBalancetype). This mutation moves funds from one of your spend accounts to another. To send funds to a different Fluz user, use Create Wallet Transfer to Another Fluz Account instead.
Transfer Funds Between Spend Accounts
To move funds from one spend account to another, use the transferInternalBalance mutation. It takes a TransferInternalBalanceInput input object identifying the source spend account, the destination spend account, and the amount.
TransferInternalBalanceInput
| Field | Type | Required | Description |
|---|---|---|---|
| amount | Float! | Yes | The amount to transfer from the source spend account to the destination spend account. |
| idempotencyKey | String! | Yes | A unique client-generated string to ensure idempotent request processing. If the same key is submitted multiple times, only the first request is processed. |
| sourceUserCashBalanceId | UUID! | Yes | The spend account to withdraw funds from. |
| destinationUserCashBalanceId | UUID! | Yes | The spend account to deposit funds into. |
Both IDs must be your own spend accounts.Use Get Spend Accounts to look up the
userCashBalanceIdfor each spend account. The source and destination must be two different spend accounts, and the source must have enough available balance to cover the transfer.
Sample RequestaphQL
mutation transferInternalBalance($input: TransferInternalBalanceInput!) {
transferInternalBalance(input: $input) {
cashBalanceDeposit {
cashBalanceDepositId
depositDisplayId
depositAmount
depositFee
bankAccountId
transactionDate
clearedDate
status
expectedClearedDate
cashBalanceDepositType
cashBalanceSettlements {
cashBalanceSettlementId
cashBalanceDepositId
availabilityType
status
}
}
withdraw {
withdrawId
amount
processingFee
chargedFee
status
displayStatus
withdrawSource
submissionDate
createdAt
updatedAt
transactionLogId
externalTransactionId
payoutId
emailAddress
bankAccountId
userCashBalanceId
seatId
}
}
}
Example Inputhis example, $6.00 moves from the source spend account into the destination spend account.
JSON
{
"idempotencyKey": "1f1df3e7-5d43-4e3d-83de-31922d4aefb7",
"amount": 6.00,
"sourceUserCashBalanceId": "6d1b4b19-deef-42f5-80d7-ec34804ce090",
"destinationUserCashBalanceId": "bb584e49-d030-4a6e-a5a9-1c34368cbaed"
}
Sample Response
Understanding the Responsenal transfer is recorded as two linked movements: a withdraw from the source spend account and a deposit into the destination spend account. The response returns both.
| Field Name | Type | Description |
|---|---|---|
| cashBalanceDeposit | CashBalanceDeposit | The deposit made into the destination spend account. |
| withdraw | Withdraw | The withdrawal taken from the source spend account. |
cashBalanceDepositlanceDeposit object contains details about the deposit into the destination spend account.
lanceDeposit object contains details about the deposit into the destination spend account.| Field Name | Type | Description |
|---|---|---|
| cashBalanceDepositId | UUID! | Unique identifier for the cash balance deposit. |
| depositDisplayId | String! | Display identifier for the deposit, intended for user-facing purposes. |
| depositAmount | String! | The amount of the deposit. |
| depositFee | String | Fee associated with the deposit, if applicable. |
| bankCardId | UUID | Identifier of the bank card used for the deposit. |
| bankAccountId | UUID | Identifier of the bank account used for the deposit. |
| paypalVaultId | UUID | Identifier of the PayPal vault used for the deposit. |
| transactionDate | DateTime! | Date and time when the transaction was made. |
| clearedDate | DateTime | Date and time when the deposit cleared, if applicable. |
| status | CashBalanceDepositStatus! | Current status of the deposit. |
| expectedClearedDate | DateTime! | Expected date and time for the deposit to clear. |
| cashBalanceDepositType | CashBalanceDepositType! | Type of the cash balance deposit, including CASH_BALANCE, GIFT_CARD_PREPAYMENT, RESERVE_BALANCE. |
| cashBalanceSettlements | [CashBalanceSettlement] | Settlement time details for the deposit, including status and type. |
withdraw object contains details about the withdrawal from the source spend account.
| Field Name | Type | Description |
|---|---|---|
| withdrawId | UUID! | Unique identifier for the withdrawal. |
| amount | String! | The amount withdrawn. |
| processingFee | String! | Fee charged for processing the withdrawal. |
| chargedFee | String! | Fee charged to the user for the withdrawal. |
| status | String! | Internal status of the withdrawal. |
| displayStatus | String! | User-friendly display status of the withdrawal. |
| withdrawSource | WithdrawSource! | The source balance from which funds were withdrawn. |
| submissionDate | DateTime! | Date and time when the withdrawal was submitted. |
| createdAt | DateTime! | Date and time when the withdrawal was created. |
| updatedAt | DateTime! | Date and time when the withdrawal was last updated. |
| transactionLogId | UUID | Identifier of the associated transaction log. |
| externalTransactionId | String | External transaction identifier from payment gateway (for ACH). |
| payoutId | String | Payout identifier from payment gateway (for PayPal/Venmo). |
| emailAddress | String | Email address associated with the withdrawal. |
| bankAccountId | UUID | Identifier of the bank account used (if applicable). |
| userCashBalanceId | UUID | Identifier of the source spend account funds were withdrawn from. |
| seatId | UUID | The seat identifier associated with the account. |
Authorization requiredThis mutation requires the
MAKE_INTERNAL_TRANSFERscope. Ensure your access token has been granted this scope before attempting an internal transfer between spend accounts.
Updated 11 days ago