In Transit Fund Transaction

View as Markdown
### Record an incoming wire deposit as an in-transit fund transaction. **Available to:** Organization administrators **Environments:** Live **[Rate Limit](/overview/core-concepts/rate-limits):** No endpoint-specific limit Record a wire deposit that has been initiated but hasn't settled yet. This creates a fund transaction with status `InTransit` and can make the incoming funds tradable right away, so your customer doesn't have to wait for the wire to clear before trading. When the transaction is recorded, the deposit amount is credited to the account's tradable cash balance up to your organization's remaining funds-in-transit cap. In-transit funds are tradable but not withdrawable. If your organization has no cap configured, the transaction is recorded without a tradable credit. **Field Details** Only wire deposits are supported — `fundPaymentType` must be `WTR`, and `fundAmount` must be greater than zero. The `transactionIdentifier` is required and must be unique per account. It acts as an idempotency key: submitting the same identifier again returns the existing transaction with a `"Duplicate transaction identifier"` error instead of creating a second record. 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. The fee fields (`feePaymentType`, `feeAmount`, `feeCurrencyId`, `feeDescription`) are optional and are recorded on the transaction if provided. **Common Failure Scenarios** - Account is closed or restricted - `fundPaymentType` is any value other than `WTR` - `transactionIdentifier` matches an existing transaction on the account - Caller is not an organization administrator **Error Messages** | `errorText` | Trigger | |-------------|---------| | `"Account not open for funding"` | Account is closed or restricted | | `"Not supported"` | `fundPaymentType` is not `WTR` | | `"The selected currency is not supported. Please select either USD, EUR, AUD, or GBP."` | `fundCurrencyId` is not a supported currency | | `"Duplicate transaction identifier"` | `transactionIdentifier` already exists on the account; the response includes the existing transaction | **Related Endpoints** - Use [`submitFundTransaction`](/api/rest-api-endpoints/funds/submit-fund-transaction) to submit standard deposit and withdrawal requests.

Authentication

AuthorizationBearer

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

Request

This endpoint expects an object.
accountIdlongRequired
fundPaymentTypeenumRequired
ACHR, ACHS, BOOKR, BOOKS, CKF, CKR, CKS, DCR, DCS, FPR, FX, MDF, SHR, SHS, TF, TT, WTF, WTR, WTS, XFR
fundAmountdoubleRequired
fundCurrencyIdlongRequired
transactionIdentifierstringRequired<=8192 characters
fundDescriptionstringOptional<=8192 characters
feePaymentTypeenumOptional
ACHR, ACHS, BOOKR, BOOKS, CKF, CKR, CKS, DCR, DCS, FPR, FX, MDF, SHR, SHS, TF, TT, WTF, WTR, WTS, XFR
feeAmountdoubleOptional
feeCurrencyIdlongOptional
feeDescriptionstringOptional<=8192 characters

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