Submit Managed Fund Transaction

View as Markdown
### Submit a deposit or withdrawal through a managed funding method. **Available to:** Organization administrators with the shadow account manager permission (deposits); users with access to the account (withdrawals) **Environments:** Live **[Rate Limit](/overview/core-concepts/rate-limits):** No endpoint-specific limit Submit a funding request using a managed funding method — a stored set of bank instructions registered for a shadow account. Set `outgoing` to `false` for a deposit or `true` for a withdrawal. The request creates a shadow fund transaction (`fundPaymentType` of `SHR` for deposits or `SHS` for withdrawals) with status `Pending`. The transaction stays pending until it's approved or rejected, so funds don't move immediately. **Field Details** The `managedFundingMethodId` identifies the managed funding method to use. The target account is the one the funding method is registered to, and it must be linked to a shadow account you have access to. The `fundCurrencyId` must correspond to one of the supported currencies: USD, EUR, AUD, GBP, or CAD. Currency IDs are environment-specific — use the `/currency/list` endpoint to retrieve valid IDs. Set `fullBalance` to `true` on a withdrawal to request the account's entire balance. Withdrawals are validated against the account's available funds, with currency conversion taken into account. **Common Failure Scenarios** - Account is closed or restricted - Deposit submitted by a caller who is not an organization administrator with the shadow account manager permission - Withdrawal amount exceeds the account's available funds - Caller doesn't have access to the account's shadow account **Error Messages** | `errorText` | Trigger | |-------------|---------| | `"Account not open for funding"` | Account is closed or restricted | | `"The selected currency is not supported. Please select either USD, EUR, AUD, or GBP."` | `fundCurrencyId` is not a supported currency | | `"You do not have sufficient margin excess to place this request. Please decrease the amount."` | Withdrawal exceeds available funds (`errorCode: InsufficientFunds`) | **Related Endpoints** - Use [`submitShadowFundTransaction`](/api/rest-api-endpoints/funds/submit-shadow-fund-transaction) to submit a shadow account transaction directly, without a managed funding method.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
managedFundingMethodIdlongRequired
outgoingbooleanRequired
fundAmountdoubleRequired
fundCurrencyIdlongRequired
fundDescriptionstringOptional<=8192 characters
fullBalancebooleanOptional

Response

FundTransactionResponse
errorTextstring<=8192 characters

Non-empty if the request failed

errorHeaderstring<=8192 characters

Non-empty if the request failed

fundTransactionobject
errorCodeenum
AccountLockFailed, AchDepositAboveMaximum, AchDepositBelowMinimum, AchDepositExpected, AchDepositFrequencyExceeded, AchDepositHoldPeriod, AchNoApprovedApplications, AchPendingDepositExists, AchWithdrawalFrequencyExceeded, ApprovalStatusLocked, BankAccountNSF, ConcurrentRequestRejected, DuplicateAchReturn, DuplicateShadowTransaction, FullBalanceRequestPending, FullBalanceWithAchHolds, FullBalanceWithOpenPositions, FullBalanceWithPendingAch, InsufficientFunds, TransactionAlreadyApproved, TransactionAlreadyDeclined, TransactionNotApplicable, TransactionNotFound, Unknown, WireDepositHoldPeriod