Bulk Transactions
Internal Cash Transfer (Bulk)
The /v1/clients/{client-id}/internal-cash-transfers:bulk can be used to transfer cash internally between IBKR accounts based on eligibility.
- Up to 100 transfer requests can be included within single instruction set.
- Batch processing every 30-60 seconds unless
dateTimeToOccuris specified. Transfer will be processed fordateTimeToOccur. For instant transfers, useinternal_cash_transfer.
Request Parameters
Example
[POST] /v1/clients/{client-id}/internal-cash-transfers:bulk { "instructionType": "INTERNAL_CASH_TRANSFER", "instructions": [ { "clientInstructionId": 1, "sourceAccountId": "U345", "targetAccountId": "U87440", "amount": 123.45, "currency": "GBP", "dateTimeToOccur": "2018-03-20T09:12:13Z" }, { "clientInstructionId": 2, "sourceAccountId": "U345", "targetAccountId": "U87440", "amount": 123.45, "currency": "GBP", "dateTimeToOccur": "2018-03-20T09:12:13Z" }, { "clientInstructionId": 3, "sourceAccountId": "U399192", "targetAccountId": "U87440", "amount": 123.45, "currency": "GBP", "dateTimeToOccur": "2018-03-20T09:12:13Z" }, { "clientInstructionId": 4, "sourceAccountId": "U399192", "targetAccountId": "U87440", "amount": 123.45, "currency": "GBP", "dateTimeToOccur": "2018-03-20T09:12:13Z" } ] }
Internal Position Transfer (Bulk)
The/v1/clients/{client-id}/internal-asset-transfers:bulk can be used to transfer positions internally between IBKR accounts based on eligibility.
- Up to 100 transfer requests can be included within single instruction set.
- Our system processes 200 requests every 5 minutes, this is an asynchronous process. If a bulk request of 600 transfer requests submitted. This will take 15 minutes to be processed (total of 3 batches). Users may be subject to additional fee if submitting more than 1000 internal position transfer requests daily.
Request Parameters
Example
2 options for submitting request (securityId OR conId)
Option 1: Using securityId (CUSIP or ISIN)
Option 2: Using conId
External Asset Transfers (Bulk)
The/v1/clients/{client-id}/external-asset-transfers:bulk can be used to submit multiple external position transfer requests.
- Up to 100 transfer requests can be included within single instruction set.
Request Parameters
To submit multiple transfer requests within a single API call, include each transfer instruction as a separate object within the instructions array. Each instruction must contain a unique clientInstructionId to distinguish it from the others.
The example below demonstrates this pattern using a Free of Payment (FOP) transfer. The same structure applies across all supported transfer types: ACATS, COMPLEX_ASSET_TRANSFER, FOP, and ATON.
Refer to the Position Transfers; section for full schema details.
Example
Example below for FOP-

