---
title: "Transfer Positions Internally"
method: POST
path: "/gw/api/v1/internal-asset-transfers"
tags: ["accountManagementBanking"]
---

# Transfer Positions Internally

`POST /gw/api/v1/internal-asset-transfers`

Transfer positions internally between two accounts with Interactive Brokers<br><br>**Scope**: `transfers.write`<br>**Security Policy**: `Signed JWT`

## Path parameters

- `client-id` string, required

## Request body

- object
  - `instructionType` 'INTERNAL_POSITION_TRANSFER', required
  - `instruction` InternalPositionTransferInstruction, required
    - `clientInstructionId` number, double, required
    - `sourceAccountId` string, required
    - `targetAccountId` string, required
    - `transferQuantity` number, double, required
    - `tradingInstrument` union, required
      - TradingInstrument0
        - `conid` number, double, required
      - TradingInstrument1
        - `tradingInstrumentDescription` TradingInstrumentOneOf1TradingInstrumentDescription, required
          - `securityIdType` 'CUSIP' | 'ISIN' | 'CASH', required
          - `securityId` string, required
          - `assetType` 'STK' | 'CASH' | 'UNKNOWN' | 'BILL' | 'BOND' | 'FUND' | 'OPT' | 'WAR', required
    - `transferPrice` number, double — If transferPrice is provided then tradeDate and settleDate are also required
    - `tradeDate` string — If tradeDate is provided then settleDate is also required
    - `settleDate` string — If settleDate is provided then tradeDate is also required

## Response `202`

Accepts request to create a new instruction asynchronously

- AsynchronousInstructionResponse
  - `status` number, double, required
  - `instructionSetId` number, double, required
  - `instructionResult` InstructionResult
    - `clientInstructionId` number, double, required
    - `instructionType` 'ACH_INSTRUCTION' | 'CANCEL_INSTRUCTION' | 'COMPLEX_ASSET_TRANSFER' | 'DELETE_BANK_INSTRUCTION' | 'DEPOSIT' | 'DWAC' | 'EXTERNAL_POSITION_TRANSFER' | 'FOP' | 'QUERY_RECENT_INSTRUCTIONS' | 'QUERY_WITHDRAWABLE_FUNDS' | 'INTERNAL_POSITION_TRANSFER' | 'INTERNAL_CASH_TRANSFER' | 'MICRO_AMOUNT' | 'PREDEFINED_DESTINATION_INSTRUCTION' | 'TRADITIONAL_BANK_INSTRUCTION_VERIFICATION' | 'WITHDRAWAL' | 'QUERY_IRA_CONTRIBUTIONS' | 'EDDA_INSTRUCTION' | 'QUERY_RECENT_RECURRING_EVENTS' | 'QUERY_RECURRING_INSTRUCTIONS' | 'QUERY_ACCOUNT_BALANCES' | 'QUERY_BANK_INSTRUCTION' | 'QUERY_WITHDRAWABLE_CASH_EQUITY', required
    - `instructionStatus` 'PENDING' | 'PROCESSED' | 'REJECTED' | 'PENDING_VERIFICATION', required
    - `instructionId` number, double, required
    - `ibReferenceId` number, double
    - `description` string

## Other responses

- `400` — Returns a Problem detail instance representing a bad request.
- `403` — Returns a Problem detail instance representing a forbidden request.
- `422` — Returns a Problem detail instance representing a business error.
- `500` — Returns a Problem detail instance representing an internal server error.

---

[API](https://skmtc.net/interactivebrokers/apis/api-reference.md) · [All operations](https://skmtc.net/interactivebrokers/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/interactivebrokers/api-reference/revisions/67f9f562c2c6/schema)
