Get Transactions
List transactions of a particular user
Overview
This GET endpoint enables you to retrieve a list of transactions that the have been made on a particular trading account. The number of retrieved transactions can be specified in the request header.
There are eight required parameters that must be provided in the request:
Authorization (header). This is the authorization token from the very first token request. The value of this header must have the following format:
Bearer BQ898r9fefi
(Bearer
+ 1 space + the token).API version (path). Unless necessary, leave it at "1.0".
accountId (query). This is the ID of the trading account whose transactions need to be retrieved.
pageSize (query). This field indicates the number of transactions that needs to be retrieved per page.
pageNumber (query). This field indicates the number of the page that needs to be retrieved (all transactions are split into a set of pages that can be loaded one by one).
sortBy (query). This is the field by which the retrieved transactions ought to be sorted. For example, if you the value of this parameter is set to Quantity, the retrieved alerts will be sorted by the number of shares involved in the transaction.
isDesc (query). This field indicates if the list of retrieved transactions should be sorted in the descending order (true) or ascending order (false).
There's also one optional parameter worth examining:
filter (request query). This is an SQL query used to retrieve only those transactions that satisfy the conditions of the query.
Filter Syntax
The syntax for filter queries is rather simple: each parameter of a transaction can serve as a filter. The conditions that a parameter needs to satisfy can be expressed in the following ways:
Parameter (=, <, >, <=, >=) value. For example:
SecurityId = 4
Parameter (=, contains, startsWith, endsWith) string. For example:
Date >= #2019-03-18T11:10:14.036Z#
Parameter in (value1, value2, etc.). In this case the parameter has to be contained in the set of values in the parentheses to satisfy the filter condition. For example:
Id in (7420, 7630, 9870)
Parameter between Value1 and Value2. In this case the parameter has to be in the specified range between Value1 and Value2 to satisfy the filter condition. For example:
Quantity between 0 and 1000
.
Boolean values are provided in the following format: true
and false
.
Numeric values are provided in the regular format: 2500
.
Strings must be highlighted with quotation marks: 'USD'
.
Dates must be highlighted with the pound sign: #2019-08-09T18:31:42#
.
The following table lists a set of sample queries:
Sample Query | Description |
---|---|
|
|
|
|
|
|
Note that you can combine different queries to create more complex requests:
SecurityId = 4 and Quantity between 0 and 1000
Here's the final template for this API request:
Response
In response to this API request, you'll receive a JSON file with the list of transactions that have been made on the specified trading account.
where:
Parameter | Description |
---|---|
Result | This is a dictionary that contains the requested transactions. |
Id | This is the internal identifier of a given transaction. |
SecurityId | This is the internal identifier of the underlying security that was traded in this transaction. |
OrderStateId | This is the internal identifier of the order in AutoShares. In most cases this information should not be used. |
AccountId | This is the internal identifier of the trading account on which the transaction was made. |
Date | This is the date on which the transaction was made. |
Value | This is the amount of funds that were subtracted from or added to the trading account. |
Quantity | This is the number of securities that were traded in this transaction. |
LeavesQuantity | This is the number of securities that are yet to be purchased in this transaction. This field is applicable for partial orders. |
Fee | This is a dictionary that contains information about the fees applied to this transaction. |
Id | This is the internal identifier of the fee in AutoShares. |
CommissionId | This is the identifier of the fee in the string format. |
Value | This is the numeric value of the fee (the amount that was subtracted from the trading account). |
Seizure | This field indicates when the fee will be applied to the trading account. |
Leverage | This field indicates the amount of leverage used in this transaction. For example, if the value is set to 3, it means that the transaction's leverage equates to 3:1. |
ValueType | This field indicates if the fee is applied on an absolute basis (fixed amount for the transaction) or on a relative basis (as a percentage of the transaction). |
IsDayTrade | This field indicates if the transaction is a day trade. As per FINRA, a day trade is the purchasing and selling of the same security during on the same trading day. |
NextPageLink | This is the next page with the subsequent transactions. |
PreviousPageLink | This is the previous page with older transactions. |
TotalCount | This is the total number of transactions that have been made on this trading account. |
Common Mistakes
Here are some of the common mistakes that developers make when attempting to retrieve the list of transactions made on a particular trading account.
Failing to Specify the Query Parameters
It's crucial to understand that the pageSize, pageNumber, isDesc, and sortBy parameters must be provided in the request; otherwise you'll receive the 404 status code and the following message:
The following article covers the syntax for this API request in detail.
Last updated