# Create Transfer Request

This endpoint creates a new transfer request. This is the first step in a dual-control workflow for making transfers.

The request body requires a CreateTransferRequest object, which specifies the transfer details and the reviewers.

Endpoint: POST /api/v1/transfer-requests/
Version: Version: 2edadba5
Security: CodeBearer

## Request fields (application/json):

  - `transfer` (any, required) — one of (discriminator: type):
    - ON_US:
      - `id` (string, required)
      - `type` (string, required)
      - `origin_pocket_id` (string, required)
      - `amount` (object, required)
      - `amount.type` (string, required)
      - `amount.amount_usdc` (integer, required)
      - `details` (any, required) — one of:
        - CreatePeerToPeerTransfer:
          - `type` (string, required)
          - `destination_counterparty_id` (string, required)
        - CreateInternalReallocationTransfer:
          - `type` (string, required)
          - `destination_pocket_id` (string, required)
          - `transfer_type` (any)
            Type of internal reallocation transfer. BANK_TRANSFER (default): sells the CUSIP from the origin pocket and buys new CUSIP for the destination pocket. Settlement is T+1. SECURITY_TRANSFER: no bank transaction occurs; CUSIPs are moved directly between pockets. This is instant but only allowed for JikoNet pockets.
      - `description` (any)
      - `end_to_end_identification` (any)
    - USDC:
      - `id` (string, required)
      - `type` (string, required)
      - `origin_pocket_id` (string, required)
      - `counterparty_id` (string, required)
      - `amount` (object, required)
      - `amount.type` (string, required)
      - `amount.amount_usdc` (integer, required)
    - WIRE:
      - `id` (string, required)
      - `type` (string, required)
      - `origin_pocket_id` (string, required)
      - `counterparty_id` (string, required)
      - `amount` (object, required)
      - `amount.type` (string, required)
      - `amount.amount_usdc` (integer, required)
      - `description` (any)

  - `reviewers` (any)

  - `notify_member_ids` (any)

## Response 422 fields (application/json):

  - `detail` (array)

  - `detail.loc` (array, required)

  - `detail.msg` (string, required)

  - `detail.type` (string, required)

  - `detail.input` (any)

  - `detail.ctx` (object)


