---
title: "Transaction History"
method: POST
path: "/pa/transactions"
tags: ["tradingPortfolioAnalyst"]
---

# Transaction History

`POST /pa/transactions`

Transaction history for a given number of conids and accounts. Types of transactions include dividend payments, buy and sell transactions, transfers.

## Request body

- object
  - `acctIds` string[]
  - `conids` integer[]
  - `currency` string — Define the currency to display price amounts with.
  - `days` integer — Specify the number of days to receive transaction data for.

## Response `200`

An array of objects detailing contract information.

- TransactionsResponse
  - `rc` integer — Client portal use only
  - `nd` integer — Client portal use only
  - `rpnl` TransactionsResponseRpnl — Returns the object containing the realized pnl for the contract on the date.
    - `data` unknown[] — Returns an array of realized pnl objects.
      - unknown
    - `items` TransactionsResponseRpnlItems
      - `date` string — Specifies the date for the transaction.
      - `cur` string — Specifies the currency of the realized value.
      - `fxRate` integer — Returns the foreign exchnage rate.
      - `side` 'L' | 'G' — Determines if the day was a loss or gain * `L` - LOSS * `G` - GAIN
      - `acctid` string — Returns the account ID the trade transacted on.
      - `amt` string — Returns the amount gained or lost on the day.
      - `conid` string — Returns the contract ID of the transaction.
    - `amt` string — Provides the total amount gained or lost from all days returned
  - `currency` string — Returns the currency the account is traded in.
  - `from` integer — Returns the epoch time for the start of requests.
  - `id` string — Returns the request identifier, getTransactions.
  - `to` integer — Returns the epoch time for the end of requests.
  - `includesRealTime` boolean — Returns if the trades are up to date or not.
  - `transactions` TransactionsResponseTransactionsItems[] — Lists all supported transaction values.
    - `date` string — Reutrns the human-readable datetime of the transaction.
    - `cur` string — Returns the currency of the traded insturment.
    - `fxRate` integer — Returns the forex conversion rate.
    - `pr` integer — Returns the price per share of the transaction.
    - `qty` integer — Returns the total quantity traded. Will display a negative value for sell orders, and a positive value for buy orders.
    - `acctid` string — Returns the account which made the transaction.
    - `amt` integer — Returns the total value of the trade.
    - `conid` integer — Returns the contract identifier.
    - `type` string — Returns the order side.
    - `desc` string — Returns the long name for the company.

## Other responses

- `400` — Missing, empty, non-numeric, or out-of-range parameter. The `error` field is always prefixed with `Bad Request:`.
- `401` — Missing, invalid, or unparseable Authorization token.
- `500` — internal server error, returned when incoming request cannot be processed. It can sometimes include subset of bad requests. For example, wrong accountId passed and it can only be detected later in handling request. Error contains reason of the problem.
- `503` — service is unavailable. For example if request takes more than 10s due to some internal service unavailability, request aborted and this status returned

---

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