List Account Transactions
getAccountsAccountNumberTransactions/accounts/{account_number}/transactionsBase 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¤cy=%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'import requests
url = "https://api.cert.tastyworks.com/accounts/5WX01234/transactions?page-offset=10&per-page=10¤cy=%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"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"User-Agent": "tastytrade-docs-example/1.0",
}
resp = requests.get(url, headers=headers)
print(resp.status_code, resp.json())const resp = await fetch("https://api.cert.tastyworks.com/accounts/5WX01234/transactions?page-offset=10&per-page=10¤cy=%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", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"User-Agent": "tastytrade-docs-example/1.0",
},
})
const data = await resp.json()
console.log(resp.status, data)package main
import (
"net/http"
"io"
"fmt"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.cert.tastyworks.com/accounts/5WX01234/transactions?page-offset=10&per-page=10¤cy=%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", nil)
req.Header.Set("Authorization", "Bearer YOUR_ACCESS_TOKEN")
req.Header.Set("User-Agent", "tastytrade-docs-example/1.0")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(resp.Status, string(out))
}import java.net.URI;
import java.net.http.*;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.cert.tastyworks.com/accounts/5WX01234/transactions?page-offset=10&per-page=10¤cy=%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"))
.header("Authorization", "Bearer YOUR_ACCESS_TOKEN")
.header("User-Agent", "tastytrade-docs-example/1.0")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode() + " " + resp.body());Parameters
| Name | In | Type | Description |
|---|---|---|---|
| account_number* | path | string | e.g. "5WX01234" |
| page-offset | query | integer | e.g. 10 |
| per-page | query | integer | e.g. 10 |
| currency | query | string | Currency |
| sort | query | string | The order to sort results in. Defaults to Desc, Accepts `Desc` or `Asc`. enum: Desc, Asc e.g. "Desc" |
| sub-type | query | array | Filter based on transaction_sub_type (example: sub-type[]={value1}&sub-type[]={value2}) |
| type | query | string | Filter based on transaction_type |
| types | query | array | Allows filtering on multiple transaction_types (example: types[]={value1}&types[]={value2}) |
| action | query | string | The 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-date | query | string | The end date of transactions to query. Defaults to now. e.g. "2024-01-15" |
| futures-symbol | query | string | The full TW Future Symbol `/ESZ9` or \
`/NGZ19` if two year digit are appropriate e.g. "/ESZ9" |
| instrument-type | query | string | The 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-key | query | string | Account partition key |
| start-date | query | string | The start date of transactions to query. e.g. "2024-01-15" |
| symbol | query | string | The 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-symbol | query | string | The 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-at | query | string | DateTime end range for filtering transactions in full date-time e.g. "2024-01-15T14:30:00.000Z" |
| start-at | query | string | DateTime start range for filtering transactions in full date-time e.g. "2024-01-15T14:30:00.000Z" |
Responses
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
datarequiredobjectitemsrequiredarray<object>{49 fields}
contextrequiredstringexample:
"/accounts/{account_number}/transactions"paginationobjectPaging metadata, present on paginated list responses.
per-pageintegerpage-offsetintegeritem-offsetintegertotal-itemsintegertotal-pagesintegercurrent-item-countinteger
Example response
{
"error": {
"code": "unauthorized",
"message": "No valid access token was provided; access tokens expire after 15 minutes."
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Example response
{
"error": {
"code": "not_permitted",
"message": "User not permitted access"
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Example response
{
"error": {
"code": "string",
"message": "string",
"errors": [
{
"code": "string",
"message": "string",
"domain": "string"
}
]
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Example response
{
"error": {
"code": "string",
"message": "string",
"errors": [
{
"code": "string",
"message": "string",
"domain": "string"
}
]
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Related
- Rate-limit class:
read· idempotent — Rate limits & backoff - Error reference — codes, causes, and fixes
Agents: this page is also Markdown (with the embedded OpenAPI definition) — append .md or send Accept: text/markdown. Index at /llms.txt.