tastytradeDeveloper Docs
Legacy ↗

API Reference / Transactions

List Account Transactions

getAccountsAccountNumberTransactions
get/accounts/{account_number}/transactions

Base URL: https://api.cert.tastyworks.com (Sandbox) · https://api.tastyworks.com (Production)

Returns a paginated list of an account's transactions — orders, cash movements, position transfers, dividends, interest, and other ledger events. Results default to descending order (newest first); use the query parameters to page, sort, and filter by date range, symbol, instrument type, action, or transaction type. Note that `type` and `types` are mutually exclusive — supply one or the other, not both.

Code samples

curl -X GET 'https://api.cert.tastyworks.com/accounts/5WX01234/transactions?page-offset=10&per-page=10&currency=%7Bcurrency%7D&sort=Desc&sub-type=%7Bsub-type%7D&type=%7Btype%7D&types=%7Btypes%7D&action=Allocate&end-date=2024-01-15&futures-symbol=%2FESZ9&instrument-type=Bond&partition-key=%7Bpartition-key%7D&start-date=2024-01-15&symbol=AAPL&underlying-symbol=FB&end-at=2024-01-15T14%3A30%3A00.000Z&start-at=2024-01-15T14%3A30%3A00.000Z' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'User-Agent: tastytrade-docs-example/1.0'

Parameters

NameInTypeDescription
account_number*pathstring
e.g. "5WX01234"
page-offsetqueryinteger
e.g. 10
per-pagequeryinteger
e.g. 10
currencyquerystringCurrency
sortquerystringThe order to sort results in. Defaults to Desc, Accepts `Desc` or `Asc`.
enum: Desc, Asc
e.g. "Desc"
sub-typequeryarrayFilter based on transaction_sub_type (example: sub-type[]={value1}&sub-type[]={value2})
typequerystringFilter based on transaction_type
typesqueryarrayAllows filtering on multiple transaction_types (example: types[]={value1}&types[]={value2})
actionquerystringThe action of the transaction. i.e. `Allocate`, `Buy`, `Buy to Close`, `Buy to Open`, `Sell`, `Sell to Close` or `Sell to Open`
e.g. "Allocate"
end-datequerystringThe end date of transactions to query. Defaults to now.
e.g. "2024-01-15"
futures-symbolquerystringThe full TW Future Symbol `/ESZ9` or \ `/NGZ19` if two year digit are appropriate
e.g. "/ESZ9"
instrument-typequerystringThe type of Instrument. i.e. `Bond`, `Cryptocurrency`, `Currency Pair`, `Equity`, `Equity Offering`, `Equity Option`, `Event Contract`, `Fixed Income Security`, `Future`, `Future Option`, `Index`, `Liquidity Pool`, `Unknown` or `Warrant`
e.g. "Bond"
partition-keyquerystringAccount partition key
start-datequerystringThe start date of transactions to query.
e.g. "2024-01-15"
symbolquerystringThe Stock Ticker Symbol `AAPL`, OCC Option Symbol `AAPL 191004P00275000`, \ TW Future Symbol `/ESZ9`, or TW Future Option Symbol `./ESZ9 EW4U9 190927P2975`
e.g. "AAPL"
underlying-symbolquerystringThe Underlying Symbol. The Ticker Symbol `FB` or \ TW Future Symbol with out date component `/M6E` or the full TW Future Symbol `/ESU9`
e.g. "FB"
end-atquerystringDateTime end range for filtering transactions in full date-time
e.g. "2024-01-15T14:30:00.000Z"
start-atquerystringDateTime start range for filtering transactions in full date-time
e.g. "2024-01-15T14:30:00.000Z"

Responses

200A paginated list of transactions wrapped in the standard envelope, with an `items` array and a `pagination` block describing the current page.application/json

Example response

{
  "data": {
    "items": [
      {
        "id": 252640963,
        "account-number": "5WX01234",
        "action": "Buy to Open",
        "agency-price": "100.00",
        "clearing-fees": "0.02",
        "clearing-fees-effect": "Debit",
        "commission": "1.0",
        "commission-effect": "Debit",
        "lots": {
          "id": "abc123",
          "executed-at": "2024-01-15T14:30:00.000Z",
          "price": "100.00",
          "quantity": "1",
          "quantity-direction": "1",
          "transaction-date": "2024-01-15",
          "transaction-id": 1
        },
        "cost-basis-reconciliation-date": "2024-01-15",
        "created-at": "2024-01-12T21:00:01.000+00:00",
        "currency": "USD",
        "currency-conversion-fees": "USD",
        "currency-conversion-fees-effect": "USD",
        "description": "Received 1.68074 Long KBWD via Dividend",
        "destination-venue": "TEST_A",
        "exchange": "CBOE",
        "exchange-affiliation-identifier": "string",
        "exec-id": "abc123",
        "executed-at": "2024-01-12T21:00:00.000+00:00",
        "ext-exchange-order-number": "string",
        "ext-exec-id": "abc123",
        "ext-global-order-number": 0,
        "ext-group-fill-id": "abc123",
        "ext-group-id": "abc123",
        "instrument-type": "Equity",
        "is-estimated-fee": true,
        "leg-count": 1,
        "net-value": "27.74",
        "net-value-effect": "Credit",
        "order-id": 987654321,
        "other-charge": "string",
        "other-charge-description": "string",
        "other-charge-effect": "string",
        "price": "16.46",
        "principal-price": "100.00",
        "proprietary-index-option-fees": "string",
        "proprietary-index-option-fees-effect": "string",
        "quantity": "1.68074",
        "regulatory-fees": "0.03",
        "regulatory-fees-effect": "Debit",
        "reverses-id": 1,
        "symbol": "AAPL",
        "transaction-date": "2024-01-12",
        "transaction-sub-type": "Dividend",
        "transaction-type": "Trade",
        "underlying-symbol": "AAPL",
        "value": "27.74",
        "value-effect": "Credit"
      }
    ]
  },
  "context": "/accounts/{account_number}/transactions",
  "pagination": {
    "per-page": 0,
    "page-offset": 0,
    "item-offset": 0,
    "total-items": 0,
    "total-pages": 0,
    "current-item-count": 0
  }
}

Schema

  • datarequiredobject
    • itemsrequiredarray<object>{49 fields}
  • contextrequiredstring

    example: "/accounts/{account_number}/transactions"

  • paginationobject

    Paging metadata, present on paginated list responses.

    • per-pageinteger
    • page-offsetinteger
    • item-offsetinteger
    • total-itemsinteger
    • total-pagesinteger
    • current-item-countinteger
401Unauthorized — the `Authorization: Bearer <token>` header is missing, expired, or invalid (access tokens last 15 minutes), or the required `User-Agent: <product>/<version>` header is missing or malformed.application/json

Example response

{
  "error": {
    "code": "unauthorized",
    "message": "No valid access token was provided; access tokens expire after 15 minutes."
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

403Forbidden — the token is valid but its scope or the account's authority level does not permit reading this account's transactions.application/json

Example response

{
  "error": {
    "code": "not_permitted",
    "message": "User not permitted access"
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

404Not Found — no account matches the supplied `account_number`, or the wrong environment is being used (sandbox vs production).application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

429Too Many Requests — the request rate exceeded the read rate limit. Back off exponentially and page steadily rather than bursting.application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

Related

Agents: this page is also Markdown (with the embedded OpenAPI definition) — append .md or send Accept: text/markdown. Index at /llms.txt.