---
title: "Transfer Positions Externally (FOP, DWAC, Complex Asset Transfer)"
method: POST
path: "/gw/api/v2/external-asset-transfers"
tags: ["accountManagementBanking"]
---

# Transfer Positions Externally (FOP, DWAC, Complex Asset Transfer)

`POST /gw/api/v2/external-asset-transfers`

Initiate request to submit external position transfer. Methods- Basic FOP, FOP, DWAC. More information on transfer methods can be found here - https://www.interactivebrokers.com/campus/trading-lessons/cash-and-position-transfers/<br><br>**Scope**: `transfers.write`<br>**Security Policy**: `Signed JWT`

## Path parameters

- `client-id` string, required

## Request body

- object
  - `instructionType` 'DWAC' | 'FOP' | 'COMPLEX_ASSET_TRANSFER', required
  - `instruction` union, required
    - FopInstructionV2
      - `clientInstructionId` number, double, required
      - `direction` 'IN' | 'OUT', required
      - `accountId` string, required
      - `contraBrokerAccountId` string, required
      - `contraBrokerDtcCode` string, required
      - `currency` string, required
      - `positions` TradingInstrumentV2[], required
        - union
          - TradingInstrumentV20
            - `conid` number, double, required
          - TradingInstrumentV21
            - `tradingInstrumentDescription` TradingInstrumentV2OneOf1TradingInstrumentDescription, required
              - …
    - DwacInstructionV2
      - `clientInstructionId` number, double, required
      - `direction` 'IN', required
      - `accountId` string, required
      - `contraBrokerAccountId` string, required
      - `contraBrokerTaxId` string, required
      - `currency` string, required
      - `positions` TradingInstrumentV2[], required
        - union
          - TradingInstrumentV20
            - `conid` number, double, required
          - TradingInstrumentV21
            - `tradingInstrumentDescription` TradingInstrumentV2OneOf1TradingInstrumentDescription, required
              - …
      - `accountTitle` string
      - `referenceId` string
    - ComplexAssetTransferInstructionV2
      - `clientInstructionId` number, double, required
      - `direction` 'IN' | 'OUT', required
      - `accountId` string, required
      - `accountIdAtCurrentBroker` string
      - `currency` string, required
      - `positions` TradingInstrumentV2[], required
        - union
          - TradingInstrumentV20
            - `conid` number, double, required
          - TradingInstrumentV21
            - `tradingInstrumentDescription` TradingInstrumentV2OneOf1TradingInstrumentDescription, required
              - …
      - `contraBrokerInfo` ContraBrokerInfo, required
        - `accountType` string, required
        - `brokerName` string, required
        - `depositoryId` string
        - `brokerAccountId` string, required
        - `country` string, required
        - `contactName` string
        - `contactEmail` string, required
        - `contactPhone` string, required
        - `accountTitle` string
      - `nonDisclosedDetail` NonDisclosedDetail
        - `tradeDate` string, required
        - `settleDate` string, required
        - `psetBic` string
        - `reagDeagBic` string
        - `buyerSellBic` string
        - `memberAccountId` string
        - `safeKeepingAccountId` string

## 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)
