# Deploy Apps with AutoShares API

Create Apps.  Integrate Trading. Launch Products and Services.

Autoshares offers an all-in-one front to back office trading solution for fintech companies, financial advisors, financial firms, and developers to build financial apps for online investing.

Autoshares platform consists of several components: web trader, mobile trading applications for iOS and Android, OMS with middle and back office, and APIs.

Autoshares Web Trader can be used as a whole turn key trading suite for running an financial services business, or certain components can be private labeled separately such as: web trader, mobile applications, API's, or the broker front and back office OMS.

Features include:

* Well documented APIs, front and back office, OMS
* Trade equities, options (including multi-legs), ETFs, Mutual Funds (Forex with cryptocurrencies coming soon).
* Customizable layout&#x20;
* Web-based custom widgets and tabs designer - "trading browser within a web browser"&#x20;
* Market Analytics with streaming market data (LI and LII)
* Charts, including technical indicators and drawing tools
* Option Chains with built-in probability calculator
* Monitor orders, positions and account balances in real time
* Customizable Price Alerts Engine
* Trade from any where functionality
* Paper trading/simulated trading mode&#x20;

Find more information about features of Autoshares here: <https://developer.autoshares.com>

Open a demo account: <http://demo.autoshares.com/User/UserInformationEntry>

Watch a video overview of a web trading platform:


# Introduction

## Overview

This sections covers basics of working with Autoshares Trader Web Trading Platform:

1. How to register?
2. How to change a password?
3. Where are the widgets menu and how to use them?&#x20;
4. How to place an order?&#x20;
5. How to set up a price alert?
6. How do I get help?&#x20;

This User Guide sets forth the procedures and descriptions of how to use Autoshares Trader, starting from the sign up process all the way to complex trading activities.

This document:

1. Describes components and windows of the trading system.
2. Explains the purpose and the functionality of widgets and tools.
3. Defines and explains the procedures for trade placement and verification.&#x20;
4. Showcases ways to personalize and customize the platform.

Separate sections are designated for all components of the platform:

* Web Trader:

{% content-ref url="/pages/-MCzCxxXqGLM-lv4-yqH" %}
[Web Trader](/user-guide/web-terminal)
{% endcontent-ref %}

* Autoshares Trader for iOS (including the extension for the Apple Watch):

{% content-ref url="/pages/-MCzCxxxnAkUgiHxTZPj" %}
[WebTrader for iOS](/user-guide/etna-trader-for-ios)
{% endcontent-ref %}

* Autoshares Trader for Android:

{% hint style="info" %}
Information provided in this user guide regarding the software or functionality of the Trading Platform, including descriptions and illustrations (i.e. screenshots), are subject to change by Autoshares.
{% endhint %}


# Web Trader

Web-based online trading platform for trading equities and options. Widget-based layout with abilities to apply custom themes, create unlimited dashboards and design widgets.


# Getting Started

Opening an account in Autoshares Web Trader

## Registration Form

The first step in getting started with Autoshares Web Trader is to register as as new user. In order to do that, quickly fill out out the following online form:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F21297fd741ce99124078dc67ec3e9665d17faa1c.png?generation=1595567354642291\&alt=media)

{% hint style="warning" %}
Parameters marked by a red asterisk are mandatory. Registration form will not be completed without them.
{% endhint %}

The [demo environment](http://demo.autoshares.com/User/LogOn?ReturnUrl=%2f) offers simulated trading functionality that entirely replicates real trading, except that no real funds are being risked. If you already created a demo account, just log into the platform by entering your username and password.

## **Contact Support**

If you have any questions or feedback about the platform, please click **contact support** located in the top right corner.

When using "Contact Support" form please describe your question in as many details as possible and/or attach up to 5 files to illustrate your question.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4f813b798f7353fedc534539fc622e4f1e7af8e0.png?generation=1595567354963379\&alt=media)

## **Language Settings**

Autoshares Trader provides users with multilingual support. Pick a language of your preference and changes will take effect right away, without the need to refresh the page.

Currently there are five languages available in the platform:

1. English
2. Japanese
3. Chinese Manadarin
4. Chinese Cantonese
5. Spanish (mobile only)
6. Russian

It is possible to add additional languages. If you are interested in adding a new language, please [contact support](https://www.etnasoft.com/contact-support/).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fa915ec538385183f255df66fb31b3f03e005a867.png?generation=1595567354584225\&alt=media)

## Registration Confirmation

Once you complete and submit your online registration form, you will receive an email message confirming the successful completion of your registration. This note will also contain links to Tech Support and other useful information. Please save this message as you may want to use this information later.

Press "**Click here to start using Autoshares Trader** " and you will be re-directed to the web trader dashboard.


# Platform Layout

Get to know the layout of the Web Trading Platform

## How to set up a layout?

Web Trader features a customizable widget-based user interface. Personalize trading dashboards to meet you trading style. Here is a quick rundown of icons and settings used in the platform with their meanings and purpose.

| Icon                                                                                                                                                                                                   | Name                | Description                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| ![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F89f1b459aef564db59fdce5776abc9e8d81f79e6.png?generation=1595567330181388\&alt=media) | Marquee Settings    | Configure marquee settings for different data sets.                                                                               |
| ![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ffed321437ceae5e2daf94737f3c174ae92325502.png?generation=1595567330009529\&alt=media) | Settings            | Configure global settings, changes the language, lock the layout, contact the support team.                                       |
| ![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fa79ec1c80d0be0b2c30b30b99890dfd530c90e40.png?generation=1595567329839433\&alt=media) | Widget Settings     | Enables you to edit and customize the widget, including isolating widgets in separate windows and maximizing the size of widgets. |
| ![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4797170b1e306bbb94f8b5eeb929619e0bd2cea0.png?generation=1595567330476393\&alt=media) | Add a Tab           | Enables you to add an extra tab to the layout.                                                                                    |
| ![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd8dfca55de9d28674dd54b75b7299706052b06f2.png?generation=1595567330986551\&alt=media) | Group               | Enables you to group widgets by color and thereby synchronize data among them.                                                    |
| ![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Feff5ae5e92d53e0dbf06d4e11ba7eca8a47a41f7.png?generation=1595567330627823\&alt=media) | Widget Modification | Rename or remove the target watchlist or add a new one.                                                                           |

## Trading Dashboard

Web Trader features rich functionality, yet easy-to-navigate user interface. Users can group widgets by color; for example, the **Watchlist** widget can be linked with the **News**, and the **Chart** widget. Connecting the three widgets together allows users to check the latest news and the chart of the selected security automatically once the symbol is typed.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fdf703eb79d0e82c61d70a6f5dbd1dc51836d37be.png?generation=1595567332139168\&alt=media)

## Account Page

The **Account** tab contains the name and account number(s) of the user. In the account information, you will see that you have access to $1 million in virtual currency to test your trading skills with — as you see in the graphic below. There are different types of other tabs like **Trade**, **Market** **watch**, **Analyze**, and more. It's also possible to delete tabs you don't currently need to use for your trades.

You can add more tabs by clicking on the plus (+) symbol, rename them, and also reorganize the tab order by dragging them either forward or backward.

By clicking on The Header Panel tab you can either pin or unpin the Marquee Settings bar and the Widget bar.

## User Settings

User settings enable you to customize your layout, update the time zone, personal information, trading options as well as add your own picture. User settings are split into four tabs: Account, Trading Accounts, Trading, Security, Layout Settings, and Personalization.

### Account Tab

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0865cfe75358fc1cfa4011c191f816acd2481cb3.png?generation=1595567331161919\&alt=media)

### Trading Tab

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F9af5c65fa9c1af1206d1e43707dbe70ec0bc431e.png?generation=1595567331824611\&alt=media)

### Layout Settings

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5fd31e9202210d1dc8966595072c068a770e39c1.png?generation=1595567331428292\&alt=media)

The penultimate checkbox is called **Turn safe mode on** and it enables you to prevent the loading of custom-made widgets. This might be useful to prevent issues causes by faulty widgets that negatively affect the functionality of performance of the entire web terminal.

## Marquee Settings

WebTrader's Marquee streams security information in the most flexible real-time quote displays. With Autoshares Trader's Marquee, you can combine real-time data of securities in a variety of customizable displays. The content of Marquee can be customized in three different models:

1. **Positions**. Marquee that shows updated quotes of all the symbols you traded and opened positions in.
2. **Watchlist**. Marquee that shows updated quotes of the three different types of securities: Stocks, Forex, or Indices.
3. **Custom**. Customize marquee that shows updated quotes of your specifically preferred symbols.

## Tabs

Web Trader's interface is designed to make it easy for users to find features, place and organize widgets as they want. Each tab is customizable and can contain any component the user chooses from our widget list. By scrolling the drop-down menu of "Add Widget", click on the picked widget and it will be automatically added to the tab menu. You can also create and add extra tabs and label them to break down your trading tasks into simple actions.


# User Widgets

Adding new widgets to different tabs


# Account Information

Learn more about trading accounts

## Account information

Web Trader's account information is designed to display the user's real-time information on all trading activities, account value, buying power as well as a set of other parameters. It also displays various information about the total profit or loss on the account. To view this information, add the **Account Info** widget to your dashboard.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd45a330032261b788dc6c500c0074910a7e31c0b.png?generation=1595567337966129\&alt=media)

## Account Value Chart

The chart on the right displays the trading account's value for a certain period. Specify the starting date, the end date, and the account value for the period will be graphed. To export the chart data in the Excel (.xlsx) format, click **Export**.

## Cash

Cash indicates the amount of funds that the account's user has deposited themselves or borrowed from the broker. You can think of it as the net balance of the account: if equity exceeds liabilities — Cash is positive; if equity is lower than liabilities — Cash is negative.

For example, if you crate a new trading account, its Cash parameter is initially equal to $0. After every deposit, Cash increases by the deposited amount — if you deposit $100, it'll increase from $0 to $100.

Now let's investigate how opening new positions affects Cash. Suppose your Cash is equal to $200 and you want to purchase $800 worth of Apple stock ($200 is your own money and the remaining $600 are margin debt). The applicable commission for this transaction is $3.75 and it has to be included in the order cost — so you'll only be able to purchase $796.25 worth of stocks while the remaining $3.75 will be charged for the commission. In total, your Cash will be decreased by $800 and will be equal to —$600. In addition to negative Cash, your account will also have $796.25 worth of Apple stock.

{% hint style="info" %}
Cash is a base parameter that is retrieved daily from the clearing firm. Throughout the trading session it is dynamically re-calculated whenever a new transaction is made.
{% endhint %}

## Account Value

Account value represents the sum of the available Cash and the aggregate market value of all long and short positions.

$$
AccountValue = Cash + Market Value
$$

## Pending Order Count

Pending Order Count indicates the number of current outstanding orders (the ones that are yet to be executed).

## Stock Buying Power

This is the gross number of stocks that can be purchased on this trading account, adjusted for the available margin debt.

$$
StockBuyingPower = Excess / MarginRate
$$

## Option Buying Power

This is the gross number of options that can be purchased on this trading account.

$$
OptionBuyingPower = Excess
$$

## Day Trading Buying Power

Day trading buying power is a critical indicator that represents the amount of funds that the user can spend to open new positions. At the beginning of every trading session, this value is retrieved from the clearing firm. Throughout the trading session, Day Trading Buying Power fluctuates based on the performed trades — it decreases with each new long position and it increases with each position closing.

It's calculated differently for stocks and options. For stocks, when you open a new long position, Day Trading Buying Power decreases according to the following formula:

$$
DayTradingBuyingPower -=  OrderCost \* 4 \* MarginRate + Commission \* 4
$$

where:

| Parameter  | Description                                                                                                                                                                                                                                       |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| OrderCost  | This is the cost of the order calculated as the order price multiplied by the number of purchased securities.                                                                                                                                     |
| 4          | Because brokers let their users borrow up to three times as much money to finance positions, the buying power of the entire account has to be decreased by the position cost multiplied by four (1 is the user's funds and 3 is the margin debt). |
| MarginRate | This is the fraction of funds that the user must contribute if they're using margin debt.                                                                                                                                                         |
| Commission | This is the commission that was applied to this order.                                                                                                                                                                                            |

{% hint style="info" %}
Please note that the cost of the margin debt provided by the broker is not taken into account when calculating Day Trading Buying Power.
{% endhint %}

## Option Maintenance Margin

This is the minimum amount of equity that must be maintained on the trading account in order to cover the existing option positions.

## Maintenance Margin

Maintenance margin represents the minimum amount of equity that should be maintained in a margin account to comply with FINRA's regulations.

## Unrealized P/L

Unrealized PL is **Open Profit/Loss** and it represents the amount of unrealized profit or loss for all positions.

## Realized P/L Today

Realized P/L Today is **Realized Profit/Loss Today** and it represents the amount of realized profit or loss during the current trading session.

## Market Value (or Net Liquidation Value)

Market Value is the market value of all positions in all asset classes and is equal to the sum of four other parameters:

1. stockLongMarketValue — the aggregate market value of all long positions in stocks.
2. stockShortMarketValue — the aggregate market value of all short positions in stocks.
3. optionLongMarketValue — the aggregate market value of all long positions in options.
4. optionShortMarketValue — the aggregate market value of all short positions in options.

$$
MarketValue = stockLongMarketValue + stockShortMarketValue +
$$

$$

* optionLongMarketValue + optionShortMarketValue
  $$


# Account Opening

Learn how to open new trading accounts in Autoshares Trader

## Introduction

Web Trader offers native trading account onboarding for all traders. After a trader performs initial sign-up, they're immediately prompted to open a new trading account. During the process, the trader fills out all of the necessary information about their identity, employment, liquid net worth, affiliation with corporate entities, and so forth. Afterward, the filled out form is sent to the clearing firm that might either approve or reject the account opening request. If the request is approved, the trader might proceed to deposit funds into their trading account and then start placing trades.

## Opening a New Trading Account

Once a trader has signed up for Web Trader, they will be immediately re-directed to Web Trader without having an active trading account (which will be indicated in the header). To create a new account, they should click **Add Account**. If they already have an account, they should expand the list of accounts and click **Edit**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fdb4ae4f954037b8e557ddc4065847cc1de0cf11d.png?generation=1595567348894533\&alt=media)

Afterward, click **Add Account**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F36a32d4013326a94a340f357efbc255df51ae916.png?generation=1595567348598513\&alt=media)

Shortly after the trader will be re-directed to the account opening form that contains fields required by the broker's clearing firm. The trader should fill out this form entirely, specifying his/her preferred account type, investment experience, expected return, liquid net worth, affiliation with corporate entities, holding of a public office, etc.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fa91fdfc8d85be0ca0c247c9d353cead9a1d2347e.png?generation=1595567349056103\&alt=media)

Once the form is filled out, it will take some time for it to be processed and then it'll be sent for review to one of the broker's administrators. The administrator can either reject the filled out form — in which case the trader will have to correct it, or it can be approved — in which case the form will be sent to the clearing firm for further approval. In turn, the clearing firm will itself review the form and approve it if the provided information is valid. If the information is invalid, the form will be rejected and either the administrator or the trader will have to correct the form before sending it once again to the clearing firm.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5b86682f849ab1aea518075b653b598d5b3d0ad5.png?generation=1595567349229138\&alt=media)

Once the trading account has been opened, the trader can sign into Autoshares Trader Wen and use the newly created account to start trading.

## Account Opening Request Workflow

The following diagram demonstrates the workflow of opening a new account:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fee3398b841f8830e9aac291457be42ceeee58d7b.png?generation=1595567349455635\&alt=media)

## Trading Account Management

If a trader needs to open another account or manage their current accounts, they can click on the little gear icon the header of Autoshares Trader Web. This will bring up the user management window where the trader can add a new account by clicking **Add Account**. In order to modify an existing account, the trader should click on the **Replace** icon.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F58848891be0a0942574722b1018c698dd9dabca4.png?generation=1595567349745480\&alt=media)

If the trader has not completed an account opening request, they will be prompted to continue filling out the form whenever they sign in. In this case they may either continue filling out the form, discard it, or postpone filling it out.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F041326ad2228d784bd0079d7d989478f5e0a5f6c.png?generation=1595567348306247\&alt=media)


# Account Funding

Learn how to deposit funds into your trading account

## Introduction

Once you have created a new trading account and it has been approved by your administrator and the clearing firm, the next step is to deposit funds into the account in order to start trading. Autoshares Trader provides traders with three ways to deposit to and withdraw funds from their trading accounts: ACH transfers, wire transfers, and check requests.

{% hint style="info" %}
Account funding requires an active trading account.
{% endhint %}

* ACH Transfers:

{% content-ref url="/pages/-MCzCxxdbWlKmvp4e6qG" %}
[ACH Transfers](/user-guide/web-terminal/user-widgets/account-onboarding/account-funding/ach-transfers)
{% endcontent-ref %}

* Check Transfers:

{% content-ref url="/pages/-MCzCxxexJtrlhXZN6J\_" %}
[Check Transfers](/user-guide/web-terminal/user-widgets/account-onboarding/account-funding/check-transfers)
{% endcontent-ref %}

* Wire Transfers:

{% content-ref url="/pages/-MCzCxxfJ9pQbhKQOQKg" %}
[Wire Transfers](/user-guide/web-terminal/user-widgets/account-onboarding/account-funding/wire-transfers)
{% endcontent-ref %}


# ACH Transfers

Establish an ACH relationship and transfer funds through ACH

## Introduction

ACH transfers facilitate deposits and withdrawal of funds to/from your trading accounts. To perform such transfers, you first need to establish an ACH relationship with one of your bank accounts. Once this relationship is established, you will be able to quickly deposit or withdraw funds without having to repeatedly specify you banking information.

## Creating ACH Relationships

To create a new ACH Relationships, navigate to the **Funds Account Transfer** widget and open the **ACH Relationship** sub-tab. Click **Link a Bank Account**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4724ee5fef280b3acb2b5e475c982b22303fd3d7.png?generation=1595567328192926\&alt=media)

This will bring up the ACH relationship establishment page. Click **Agree**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4277dbbe662085960550d32035da54a6a82541db.png?generation=1595567326978530\&alt=media)

Next, select your bank from the list of the most frequently used banks.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F912f68f878a5b5023d9f7a332ee96fb08c25c5c5.png?generation=1595567328215027\&alt=media)

If your bank is not visible, you can search for it by entering its name in the **Search** field.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F1a0ecbc132f9279b267879d8a2a316261c9bf0a1.png?generation=1595567327554653\&alt=media)

Afterward you will be prompted to log into your bank.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fec82b879591923fee2b8b6dd68c1f5aeef0b6d3e.png?generation=1595567328349779\&alt=media)

Next, select the required account from which funds will be withdrawn and into which funds will be deposited, and then click **Continue**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff783f306cfbc5989a03b016ac2f4a2da0e755081.png?generation=1595567328161860\&alt=media)

In a short while the ACH relationship will be established and you will be able to see it on the **ACH Relationship** sub-tab. The linking process is complete and now you can proceed to transfer funds from your banking account into your brokerage account.

## Managing ACH Relationships

To remove an existing ACH relationship, click on the cross icon in the **Actions** column.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fca3a44dde67fe821bcdb734b5e9fa43df5b4ebc5.png?generation=1595567326845099\&alt=media)

In the appeared pop-up window, specify the reason for removing the ACH relationship and then click **Save**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F3502bd2ac05895d8ede3c91cbd3fb09b360bdfca.png?generation=1595567327113599\&alt=media)

ACH relationships can be renamed at any time by clicking on the **Edit** icon in the **Actions** column.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F8b941deb1fe4415789872906a439d81483cf9f61.png?generation=1595567326496510\&alt=media)

## Depositing and Withdrawing Funds

To deposit or withdraw funds, go back to the **Funds Transfer** tab. At the top, select the **ACH Transfer** radio button. Next, select the preferred transaction type: **ACH Deposit** or **ACH Withdraw**. Specify the required amount of funds to be transferred (in USD), select the newly added banking account, and finally click **Submit**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb3b164711f2f4b5945089979021d383370bcfb35.png?generation=1595567328162882\&alt=media)

## Monitoring ACH Transfers

Once you've submitted a deposit or withdrawal request, its state will change to **Submitted**, meaning that it's currently under review by an administrator. Once they approve the request, its state will change to **FundsPosted** — i.e., the funds have been transferred and are now waiting for clearance. The final state of the request is **Complete** — i.e., the funds have been cleared and can be used to place trades.


# Check Transfers

Withdraw funds using check transfers

## Withdrawing Funds with Checks

In addition to ACH transfers, Autoshares Trader also enables traders to withdraw funds from their trading account by means of a check. In this case a check with the specified sum will be sent to the address specified by you in the account opening form (the one you filled out when opening the trading account).

{% hint style="warning" %}
Check transfers are relevant only for withdrawing funds.
{% endhint %}

To withdraw funds using checks, select **Check Request** on the Funds Transfer tab. Specify the amount to be withdrawn (in USD). If you would like to withdraw all funds altogether and close the account, select the **Total distribution and close account** checkbox. Specify the memo if necessary, and the select the preferred delivery method:

* Standard;
* Overnight;
* Saturday;
* Overnight to Broker;
* Print at firm.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2cf140f993833843d9b9591cef024beddb0205fe.png?generation=1595567324549076\&alt=media)

Once you're done, click **Submit**, and the check will shortly be sent.


# Wire Transfers

Withdraw funds using wire transfers

## Withdrawing Funds Using Wire Transfers

In addition to ACH transfers and check transfers, Autoshares Trader also provides traders with the ability to withdraw funds from their trading accounts by means of wire transfers. Specifically, the funds could be withdrawn via either a domestic wire or a foreign wire.

{% hint style="warning" %}
Check transfers are relevant only for withdrawing funds.
{% endhint %}

To withdraw funds using wire transfers, select **Wire Transfer** on the **Funds Transfer** tab. Next, specify the amount to be withdrawn (in USD). If you would like to withdraw all funds altogether and close the account, select the **Total distribution and close account** checkbox.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F33e32553c6009cb2cdc43b75ddcef2152bc0e58a.png?generation=1595567338213641\&alt=media)

Alternatively, you can withdraw your funds via a foreign wire by selecting the **Foreign Wire** radio button. Whereas domestic wire transfers cost $25, foreign wires cost $50.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5eb091744176f8d554ac8bfe4fc2c8e301a8c9e0.png?generation=1595567338349221\&alt=media)

Optionally, you can make a **For Further Credit** payment by selecting the corresponding checkbox at the bottom. In this case you will also have to specify additional information about the intermediary bank.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F13927f49f6896f02d9279a18a8efad56e99fdbe6.png?generation=1595567338133369\&alt=media)

Once you're done, click **Submit**, and the transfer will be passed to an administrator for review. Once it's approved, withdrawal of funds will be initiated.


# Chart

View security price charts and place trades

## Exploring the Chart Widget

In order to view the market from nearly every conceivable angle, Autoshares Trader offers different chart types that stream up-to-date data. From candlesticks to bar, every chart type updates data automatically as it unfolds.

You can also choose to show a chart in four different modes:

* Line;
* Bar;
* Candle Sticks;
* OHLC (Open-High-Low-Close).

The drawing tools menu allows the user to select from a number of different drawing tools. Drawing tools overlap the price data and can be used to mark-up the charting area. Drawing tools include Fibonacci, trend lines, support or resistance (price range) and text notes.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff25dafa06f5c6c16ffcd5aa9e7998c277803ec81.png?generation=1595567357838364\&alt=media)

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb3c79373cecfa434ccd2777a8985f06605cba18c.png?generation=1595567357151959\&alt=media)

## Technical Analysis

Users have the option to hide and unhide both the chart and the shape panels that provide tools for comprehensive technical analysis.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F1423aba98395ccca2635d319ddc3c4b613155793.png?generation=1595567356845810\&alt=media)

{% hint style="info" %}
Once you select a geometric tool, you automatically enter into the editing mode; to exit it, click on the cursor icon in the top-left corner.
{% endhint %}

### Rectangle

The first geometric tool is called **Rectangle** and, as the name implies, its purpose is to draw rectangular shapes on the chart. You can click-and-drag the mouse over the chart and simultaneously a rectangle shape will be drawn. An unlimited number of rectangle shapes can be drawn on the same chart.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F753eaf434a791438a51e422d2041cb9f6dba9650.png?generation=1595567357989238\&alt=media)

### Ellipse

The second geometric tool available in the **Chart** widget is called **Ellipse** and its purpose is to draw elliptical shapes on the chart. The shape of the ellipse is stretched vertically or horizontally depending on the movement of the mouse during drawing.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fa886b051f2d1dcdcc7d077a98ffb8edfcfc4e587.png?generation=1595567357148275\&alt=media)

### Horizontal Line

The **Horizontal Line** is one of the most commonly used tools in technical analysis and it essentially enables you to draw key resistance levels on the chart. Simply click anywhere on the Y axis of the chart and a horizontal line will immediately be drawn.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F12787b2c948e7cc30e7c90c545901a692ea8af75.png?generation=1595567357748830\&alt=media)

### Vertical Line

Similar to the horizontal line, a vertical line enables you to draw vertical lines to delineate the most critical parts of the chart.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F097e5e3327852762100e777cc248eb4f8451e608.png?generation=1595567357034496\&alt=media)

### Trend Line

Trend line is another commonly used tool in technical analysis and its purpose is to identify channels in which the price of the security is moving. To draw a trend line, find a starting point, and then click-and-drag the mouse to the end point.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5d9d0e2f89e7517b277316b6bfbd8abe0264d411.png?generation=1595567358089806\&alt=media)

### Ray

Ray is similar to trend line in that it enables you to draw any line on the chart; however, it only requires you to specify the starting point. Once you click anywhere on the chart — that becomes the starting point and as you hover the mouse in any direction — a "ray" will be drawn all the way to the chart's border.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F435a4efa78f2e7e32b12328e7271c7983604d0f4.png?generation=1595567358078819\&alt=media)

### Text

**Text** enables you to add a small text box anywhere on the chart. Simply click anywhere on the chart to create a new text box. To change the text, right-click on the text box and click **Settings**. In the pop-up window you can specify the text, change the font, the font size, and the font color.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F906fcebbdea6412eb4c2c7cebb0561f51a57c966.png?generation=1595567356991114\&alt=media)

### Price Range

**Price Range** enables you to draw a nice-looking gap between to price points with a dollar and a percentage increase/decrease in the middle. Simply click on the starting point and then drag the mouse to the end point, and the price range will be created.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb1da533b22979bb2b18a7c373167c00289b055a0.png?generation=1595567357199937\&alt=media)

### Clear All

Finally, there's a clear all button that allows you to remove all shapes, lines, texts, and price ranges from the chart.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F3f1db4242833f846f899775cc939187a5178c77a.png?generation=1595567358042526\&alt=media)

## Chart Customization

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F19b6819dffcd3159948d9132e287ce9da24f424b.png?generation=1595567357597551\&alt=media)

The charting menu bar shows different options that can be expanded and used to select the time frame, chart type, technical indicators, apply comparisons to other securities, and draw different trend lines and shapes. The chart also provides access to many other features and settings, including being able to trade from the charts, change the style/ appearance of chart and the time frame as well as add technical analysis tools.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F68e47bb3d52e8c26f723587c657975f5cac5fc03.png?generation=1595567357525585\&alt=media)

## Trade Shortcut in Charts

In Autoshares Trader, the Chart widgets provides a quick shortcut to place a new order. When viewing a chart for the desired security, simply double-click on a particular candle and the order placement window will pop up.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb93ce835c8517a0ba470c5ec376a0c5e0691f36d.png?generation=1595567357178220\&alt=media)

On this widget you can specify the required type of the order, the limit price, and then click Buy/Sell/Sell Short/Buy To Cover.


# News

Track the latest news on your favorite securities

## Exploring the News Widget

Autoshares Trader's news widget gives you live streaming headlines from different online news sources. If there is an important news story in business, around the world, it will probably going to show up in the Live News tape. You can click on the headline to get the full story. You can also link your watch list with the news feeds, so that every time you want to know the latest news about a security, you can just click on it from the watch list to see updated news headlines.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0ac74e30415b979064c452882c2d3ebcb27e1494.png?generation=1595567334844595\&alt=media)

The News widget can be customized by clicking on the little gear icon in the widget's toolbar. Specifically, you can customize the interface of your news feeds.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F514034307695a13311b819f0618a9a623b82171a.png?generation=1595567335177849\&alt=media)


# Trade Ticket

## Exploring the Trade Ticket Widget

By using the Trade Ticket widget, you can place three types of trades: Simple, OTO or OCO. To place an order, you enter the symbol name, number of securities, the exchange market (auto, Nasdaq, NYSE, KNIGHT), order type (Market, Limit, Stop, Stop Limit, Trailing Stop, Trailing Stop Limit) and the duration of the trade: Day or Good Till Canceled. You can place your order right after you finish filling the entries of the ticket.

## Trade Types

### Simple

This is the regular trade in which securities are purchased, sold, sold short, or bought to cover.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F812c4c9d842c176b86b5e5e7333a2077e683a76a.png?generation=1595567354564433\&alt=media)

### OTO (One Triggers the Other)

A one triggers the other orders involves two orders—a primary order and a secondary order. The primary order may be a live order at the marketplace. The secondary order, held in a separate order file, will be triggered automatically once the primary order gets executed.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0eb328f903cd400ac3d8e7ca35be7b5477e21d04.png?generation=1595567356183645\&alt=media)

### OCO (One Cancels the Other)

A one-cancels-the-other order (OCO) combines a stop order with a limit order on an automated trading platform. When either the stop or limit level is reached and the order executed, the other order will be automatically canceled.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5debd0a0849472658d24f109676c75c75c3498c1.png?generation=1595567347202692\&alt=media)


# Mutual Funds Trade Ticket

## Introduction

Mutual funds are a popular investment vehicle for investors who wish to delegate the responsibility for management of their funds to a group of professional investment managers that run said mutual funds. The nature of mutual funds somewhat differentiates them from stocks and bonds that can simply be purchased and sold on the exchange. Specifically, mutual funds can be exchanged or liquidated, the dividends received by the mutual fund from its holdings can be further reinvested or distributed back to the stockholder, etc. For this reason Autoshares Trader contains separate user interfaces for trading of mutual funds both in Autoshares Trader Web and in Autoshares Trader for iOS and Android; and in this article we'll demonstrate the process in detail.

## Mutual Funds Trading in Autoshares Trader Web

In Autoshares Trader Web, trading of mutual funds transpires on the \_\_**Mutual Funds Trade Ticket** widget. This widget is responsible for purchasing, selling, exchanging, and liquidating of mutual funds. Here a trader can also indicate if they would like to reinvest dividends and capital gains.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F67b811b03d28316922b7f70c47ec2b5aaa6101f2.png?generation=1595567325292961\&alt=media)

First, you must specify the ticker symbol of the mutual funds that you would like to trade.

Next, specify one of the four target actions:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4eedde4e10a1e834861c738c226b7bcc2178ef1a.png?generation=1595567324952235\&alt=media)

Depending on the action, the range of configurable options and quantity qualifiers will vary.

### Purchasing Mutual Funds

When you buy a mutual fund, you may instruct the managers of the mutual fund to reinvest the dividends as well as the short-term and the long-term gains by selecting the corresponding checkboxes. The required quantity must be specified in dollars: so if you want to buy $300 worth of this mutual funds, simply enter 300 into the text field titled **Amount in Dollars**.

### Selling Mutual Funds

Mutual funds can be sold in either a specific dollar amount (Even Dollar) or in a specific quantity (Shares):

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2f9f6da25dbf2f49ded6b8939d8b5a5fd5b6a26b.png?generation=1595567325169161\&alt=media)

### Exchanging Mutual Funds

If a mutual fund belongs to a family of funds that can be freely exchanged, you can perform the exchange by specifying the ticker symbols of the mutual funds that you would like to exchange:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff6a56996adc15fed6c17c7d3aae32cf13b79aa7f.png?generation=1595567325529186\&alt=media)

### Full Liquidation

If you would like to liquidate your position in a mutual fund entirely, select the **Full Liquidation** action, and your shares will be redeemed.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F31f020fb1b4e78f3ca85f26a99eafd660b0b8028.png?generation=1595567325815439\&alt=media)

## Placing an Order

Once you have determined the action you would like to perform on the mutual funds, click **Verify**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F70139d6e318ac601f3bb02c6ade583a3279b2a3b.png?generation=1595567325924473\&alt=media)

The order will be verified by Autoshares Trader's numerous validators and, if the order is properly configured and there are sufficient funds in the trading account, the order will be green-lighted. Click **Trade**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F03e3daa875c9fc48df1283fb8465ae4a389c94db.png?generation=1595567325180899\&alt=media)

If you navigate to the **Orders** widget, you will notice the newly placed order with the **New** status. It's likely that the order will not be immediately executed since mutual fund orders are usually executed after-hours.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F10d3264ccc03f93e79719677fdaa3bbdc7b3c521.png?generation=1595567326284727\&alt=media)

## Mutual Funds Trading in Autoshares Trader Mobile

Mutual funds trading can also be performed on the go using our mobile apps that have complete functionality on par with their web counterpart. You can use Autoshares Trader for iOS and Android to purchase, sell, exchange, or liquidate mutual funds. Dividends, short-term, and long-term gains can similarly be reinvested.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4ba29747e2aa8f25bb10e8fb953c7c717ab184a6.png?generation=1595567326514674\&alt=media)


# Watchlists

## Exploring the Watchlists Widget

Web Trader's watchlist is designed to be sortable and filterable to help traders make decisions quicker (this is especially important when trading options as it helps determine the entry strategy). You can create your own watch list based on which groupings of stocks you would like to see in one view (available in demo mode). The screenshots below show the steps of creating your own watch list (ex: *FANG* watchlist).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F8dcb9ed1aff69b12e77666e5acbe9ce347d31eb6.png?generation=1595567332446699\&alt=media)

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F596caaab0b066e32df9528ea68557b774d1139ed.png?generation=1595567332528493\&alt=media)

You can link the News widget with your watchlist or vice versa. Every watch list created can be linked with its News widget. You can create different watchlist and link each to a different News widget. You can also customize the information and the layout and of the watchlist you create, through the settings, as it shows in the post below.

## Importing Watchlists From CSV Files

In addition to manually creating new watchlists, Autoshares Trader also enables traders to import watchlists from CSV Files. This can be done by clicking **Load from file**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F81899581decba5dcd2baa1ffe3726ef2cb280a29.png?generation=1595567333009307\&alt=media)

This will bring up the watchlist import window where you must:

1. Specify the name of the target watchlist.
2. Select a local CSV file containing the list of ticker symbols of companies that you would like to add to the new watchlist.
3. Specify the name or number of the column in the CSV file that contains the ticker symbols. For instance, here's a sample CSV File containing four ticker symbols:

   ![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff7e8748d718a7b2cc407409746a8c3705faa31b3.png?generation=1595567332826579\&alt=media)

Click **Load**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb1dddb5d7269551fbf374921da0f5be8b8a05d7c.png?generation=1595567333565709\&alt=media)

Shortly after, the new watchlist will be added to your **Watchlist** widget:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fcbdc97f5471115571cee7c8b3024d4f6b2961c10.png?generation=1595567333095439\&alt=media)


# Orders

## Exploring the Orders Widget

Before you start conquering the world of trading, Web Trader gives you the chance to users to trade with virtual money for product evaluation, trading educational or to test their trading strategy to experience the full range of Web Trader's trading capabilities in a real-time market environment, without risking any of your own money. All customers will start with USD 1,000,000 of paper trading. You can use all Web Trader's order types, trade all securities available in your demo account. Every trade entered into your Web Trader's paper trading account will not actually execute on any exchange or settle at a clearing house. However, the price of your executions will be determined by real market prices and sizes.

## Placing a New Order

There are two ways to create an order on Web Trader's platform:

1. **Option 1**. Type in the symbol in the box in the upper left side of the order widget.
2. **Option 2**. Click on the symbol from your watchlist.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd9db17727b47ac1d5952056a87c65ab6aeaa41c3.png?generation=1595567353717420\&alt=media)

## Order Statuses

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fafe05b37c8dd61a05ad694e33c558cd4a6bacffd.png?generation=1595567353657759\&alt=media)

## Order Types

Users can set the type of order they want to place from Trade Ticket, Option Ticket widgets, or popups trade ticket when they click on the symbol from the watchlist or a chart.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F594b3ed9a4ccbaad1088c93e6c8ca93c772d4cc8.png?generation=1595567353420466\&alt=media)

## Order Placement

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F8d8e62093cf3149e3733f2408e89f149aeea03db.png?generation=1595567353512730\&alt=media)

## Order Duration

**Duration** means how long an order will remain active. Users can set their preferred duration from Trade Ticket, Option Ticket widgets or popups trade ticket when they click on the symbol from the watchlist or a chart.

1. Day - A day order automatically expires at the end of the regular trading session if it has not been executed.&#x20;
2. GTC - Good-till-Canceled - An order that lasts until it's completed or canceled.

## Orders Widget Features

1. **Column Manager.** Users can add or remove columns they need.&#x20;
2. **Order filter.** Users are able to sort your orders list by: symbol, order status, order type.
3. **Last added order** will be shown even if you set a filter that isn't suitable for a new added order.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F46ed266311f3fdd10c2ceeac56f55a731b164f6a.png?generation=1595567352931761\&alt=media)

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb5e3bd64a114dbc561d1738e8efb22fae5dc3633.png?generation=1595567353919067\&alt=media)

## Placing Algo Orders

Web Trader provides traders with a set of algorithmic order types like the trailing stop, trailing stop-limit, one-cancels-the-other, one-triggers-the-other, etc. Orders of these types can be configured and placed from Autoshares Trader Web, mobile apps, and the [web API](/rest-api/trading-api).

Let's review each of these order types and demonstrate how they can be placed.

### Trailing Stop

Trailing stop order is an order that enables traders to lock in the profit by setting a dynamically calculated stop price which moves with the market price. That way a trader can let their profits continuously increase but, if the price drops by more than the specified dollar/percentage amount, the positions will be sold at the market price, thus protecting the trader from further price drops.

An order of this type can be selected in the **Trade Ticket** widget, in the **Order Type** drop-down menu. To the right of the order type you can specify the amount by which the stop price should trail the market price as well as the trailing amount type (percentage or dollar).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F914812dc125d75c6daef39bd8adc8019e3b9f2c5.png?generation=1595567353671492\&alt=media)

### Trailing Stop Limit

Trailing stop-limit orders are similar to trailing stop orders with the exception of the price at which the position will be closed. Whereas trailing stop orders will close the position at the market price, trailing stop-limit orders will close the position at the limit price defined by the trader.

Trailing stop-limit orders can also be selected in the **Trade Ticket** widget, in the **Order Type** drop-down menu.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F83f1fef50e1ac8f1ba7a51034df1441c462bbd47.png?generation=1595567353521909\&alt=media)

There are two parameters that must be indicated when configuring a trailing stop-limit order:

1. Amount by which the stop price should trail the market price as well as the trailing amount type (dollar or percentage).
2. The amount by which the limit (execution) price should be offset in relation to the stop price. For example, if the stop price happens to be $15 and the offset is 2%, the limit price will be set to $14.7 and at this price the position will be closed.

### One-Triggers-the-Other Order Type

One-Triggers-the-Other (OTO) is a type of conditional order in which execution of one order automatically triggers the other one. Each of the two orders has to be provided as a separate leg. An OTO order can be configured by changing the order type at the bottom

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2e0abe8b61ed0692fa1fcb9c98431251a001069d.png?generation=1595567353086425\&alt=media)

In this case, if the limit order to purchase the Tesla stock gets executed, the second market order to sell the Apple stock will automatically be placed.

{% hint style="warning" %}
In One-Triggers-the-Other orders, the first leg cannot be a market order.
{% endhint %}

### One-Cancels-the-Other Order Type

One-Cancels-the-Other is a type of conditional order in which execution of one order automatically cancels the other one. Each of the two orders has to be provided as a separate order leg.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2c2c8ec62ccafbfd51265b98c3fe851194a9ec0a.png?generation=1595567353210654\&alt=media)

In this case, if the limit order to purchase the Tesla stock gets executed, the second limit order to sell the Apple stock will automatically be cancelled.

{% hint style="warning" %}
In One-Cancels-the-Other orders, both legs cannot be market orders.
{% endhint %}


# Positions

Track your positions and analyze their profit/loss

## Exploring the Positions Widget

Once an order is placed in the market, the user will be able to see it on the **Positions** widget. Here traders can examine the current profit or loss on all their positions and also trade securities from their positions by clicking on the ticker symbol.

Specifically, the profit or loss on each position can be examined from the `P/L %` column. If this column is not visible, perhaps you it is hidden, in which case you can reveal it [this way](/user-guide/web-terminal/user-widgets/positions#column-management).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F472fc6986d85b44715240c064747b42fdcaeff47.png?generation=1595567358494051\&alt=media)

{% hint style="info" %}
The profit or loss on a closed position is displayed only throughout the trading session in which it was closed. During subsequent trading sessions, the profit or loss on closed positions will no longer be displayed.
{% endhint %}

## Closing Positions

To close an existing position, hover the mouse over the cross button and then click on it.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff9eb328715aaa72fcc4becbc0fcd234ae112d88f.png?generation=1595567359035056\&alt=media)

## Column Management

The default selection of columns displayed in the **Positions** widget is determined by Autoshares Trader. However, you can always add or conceal certain columns by clicking **Change Columns**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4dcf3a097cf34194d518b313024d410ea1e22a63.png?generation=1595567358247637\&alt=media)

In the appeared pop-up window, select the columns that you would like to add and also deselect the columns that you would like to remove from the widget. To restore the default layout, click **Default** in the bottom-right corner. To display all columns at once, select the **Select All** checkbox at the very top.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F182e56284babdd033ceb079d5ffec729668ebb89.png?generation=1595567366237524\&alt=media)

Once done, click **Close** and the layout of the **Positions** widget will be updated, reflecting the newly made changes.


# Market Depth

Explore the market depth of a specific security

## Exploring the Market Depth Widget

Web Trader's **Market Depth** widget enables traders to inspect the current market depth of a specific security. Specifically, it displays the following information:

* Equity order book;
* Quote for selected symbol;
* Details about the order stream for the specified selected symbol.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F44558eaf9b7040dd612798470a07f5ddbf402db6.png?generation=1595567339653563\&alt=media)

Optionally, you can link this widget by color with other widgets. For example, if you link **Market Depth** with **Chart** — whenever you inspect the market depth for a specific security, its chart will automatically be loaded up. The opposite is also true: when loading up a chart for a specific security, its market depth will consequently be displayed.


# Options

## Trading Options in Web Trader

Option is a contract in which a party that owns the option has the right (but not obligation) to purchase (Call) or sell (Put) a specific asset at a pre-defined (strike) price within a specific time frame. The counter party in this transaction is the writer of the option that in exchange for a premium agreed to purchase or sell the asset. Both the writer and the owner of the option make opposite bets on the price of the underlying asset: if its market price is better than the strike price, the owner of the option realizes a profit; if the strike price is better, the writer of the options realizes a profit.

Web Trader features powerful option trading functionality that enables traders to buy and sell call and put options as well as enter into complex strategies. By default, all widgets related to options trading are available on the **Options** tab of Web Trader's Web Terminal.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ffecae42a5dec342eb67c263bb53e0275a61ff2b1.png?generation=1595567342296444\&alt=media)

There are two widgets that facilitate trading with options:

1. **Option Ticket**. This widget enables traders to purchase options and enter into complex strategies.
2. **Option Chain**. This widget enables traders to conveniently explore various options with different expiration dates, determine the probability of the underlying asset reaching a specific price, inspection of options' greeks as well as the profit/loss calculator.

## Option Chain Widget

Let's delve deeper into the Option Chain widget and examine its various aspects. The uppermost segment of the Option Chain widget contains the text field for the underlying security's ticker symbol as well as several drop-down menus for filtering options:

* **Strike Range**. Use this drop-down menu to determine the number of options that must be displayed. For example, if you select 4, Option Chain will find an option with the strike price that is closest to the current price of the underlying security and then display two options with the strike price above and two options with the strike price below the found option's strike price.
* **Expiration Type**. Use this drop-down menu to find options with a specific expiration type.
* **Expiration Date**. Use this drop-down menu to select options with a specific expiration date.&#x20;

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F3a230dbaeb77e4c3a117862e5b9eeb23279dcee5.png?generation=1595567348197811\&alt=media)

Moving downward, there's a table split into two segments: one for Call (left) and the other for Put (right) options. The middle column represents the strike price of the options. There are also columns containing the bid, ask, last price of the option, and the current open interest.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4e693bf4d089268b0b9bb499d3372bae8e95b3cd.png?generation=1595567343389963\&alt=media)

The selection of columns in both tables can be configured by clicking on the three-dot icon above the first column.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F44c07fb034e6acf00010cca984a1f9a9f27e9e2d.png?generation=1595567342378384\&alt=media)

### Greeks

To the left of Call options and to the right of Put options there's a small blue sigma button that prompts options' greeks. Greeks measure different factors that affect the price of an option.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F96d8e1c8d6a5f2d18f6b707e2b2dac803bb85340.png?generation=1595567352084009\&alt=media)

## Intrinsic value and Time

One of the columns of the *Option Chain* widget is entitled **Mark** and it contains the current mark price of the option. Please note that this column is available only for Call and Put options.

As you hover over the column with the option's strike price, the following pop-up will be prompted:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5cbc497d1dc3c9a01c8fd05fb9c565a67117c854.png?generation=1595567345085110\&alt=media)

The pop-up contains two parameters:

1. **Intrinsic**
2. For in-the-money Call options:

\*\*\*\*$$Intrinsic = |StockMark - Strike|$$\*\*\*\*

* For in-the-money Put Option&#x73;**:**

$$Intrinsic = |Strike - StockMark|$$

* For out-of-the-money options:

$$Intrinsic = 0$$

The `Intrinsic` parameter is calculated as the difference between the underlying security's mark price and the option's strike price. For out-of-the-money options, `Intrinsic` is equal to 0.

**\*\*2.** Time\*\*

\*\*\*\*$$Time = Option Mark - Intrinsic$$ *\*\**

The `Time` parameter is calculated as the difference between the option's mark price and the **Intrinsic** parameter (or vice versa).

## Probability Calculator

In option trading, it's critical to estimate the probability of the underlying security reaching the target price range. For this purpose, Autoshares Trader provides traders with the so-called probability calculator.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff4d452d53ef754ef64c79db4a210a1c600f46527.png?generation=1595567345937630\&alt=media)

It can be revealed by clicking on the following button in the top-right corner of the *Option Chain* widget:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Febcd2d13eb3521cd8a241ec10064ab2469c36126.png?generation=1595567353790184\&alt=media)

The probability calculator features a group of sliders that traders can adjust to determine the probability of the underlying security's price reaching the target price range:

1. **Price**. Use this slider to set the initial price of the security. By default, it's set to the last closing price, but traders can change it anytime if the plan to trade options only if the underlying security's price reaches a certain level.
2. **Price 1**. Use this slider to set the lower bound of the target price range.
3. **Price 2**. Use this slider to set the upper bound of the target price range.
4. **Custom Volatility**. Use this slider to set a custom volatility (expressed in percentage terms).
5. **Days to Expiration**. Use this slider to set the number of days until the expiration of the option.

Once all five sliders are set, Autoshares Trader will automatically calculate the probability of the underlying security's price reaching the target price range using log-normal distribution:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd252c3e9d616610f1c6b9abd344ac52261dda041.png?generation=1595567345686055\&alt=media)

The first three row display the probability of the underlying security's price:

1. Remaining **Below** the target price range;
2. Reaching the target price range;
3. Remaining above the target price range.

The last five rows display the probability of the underlying security's price **hitting**:

1. The lower bound of the target price range;
2. The upper bound of the target price range;
3. Both the lower and the upper bounds of the target price range;
4. Either the lower or the upper bound of the target price range;
5. Neither the lower nor the upper bound of the target price range.

## Profit/Loss Calculator

Above the probability calculator there is a profit and loss calculator that enables traders to view the projected profit or loss of selected options depending on the price of the underlying security at expiration date.

For example, suppose you select a call option on AAPL with a strike price of $225. The current ask price of the option is $0.78. Since this is a standard option with 100 securities, the final price of the option will be $78.

Now let's imagine that at expiration date, the market price of AAPL is equal to the strike price ($225). Because the option expired, the trader has the right to purchase AAPL at $225 and then instantly sell it at the same price on the market. Obviously this transaction makes no financial sense and the trader can simply choose not to buy the stock at all. But the trader also spent $78 on buying the option — and at expiration date this sum becomes the trader's incurred loss.

Let's consider a different scenario. If the market price of AAPL at expiration date is $225.78, the trader will lose $78 on the option itself; however, they can compensate the loss by buying 100 shares of AAPL from the option's writer at $225 and selling them at the market price of $225.78, pocketing the difference of $22'578 - $22'500 = $78.

By the same logic, if the market price of AAPL at expiration date is higher than the sum of the strike price and the option's cost basis, the difference will be the trader's profit.

The projected profit and loss can be inspected in the Profit/Loss calculator on the right of the Option Chain widget.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0c73f1f7ab934bfd2aa9143b874f4ae5add93c8f.png?generation=1595567345274392\&alt=media)

### Profit/Loss Chart

Taking a closer look at the Profit/Loss chart, the y-axis represents the projected profit or loss when using the selected option strategy while the x-axis represents the price of the underlying security.

The yellow line represents the projected profit or loss over a variety of prices: the orange triangle marks the price point of the underlying security at which this option will generate the maximum loss; the yellow square marks the breakeven price of the underlying security.

The blue line represents the value of the option depending on the price of the underlying security (yellow line).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F157a17f2189989e3f898841d1bc75c6117d48e6f.png?generation=1595567344362143\&alt=media)

### Choosing Strategies

Autoshares Trader enables traders to buy and sell Put and Call options with different expiration dates and strike prices. To the left of the **Strike** column there are **Call** options; to the right — **Put** options.

To **buy** a Call or Put option, select the following checkbox until the green letter **B** appears. To sell a Call or Put option, select click on it twice until the red letter S appears. Optionally, specify the target number of options to be purchased.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F275dfc2fc4f72a7d26d1fea164a876b703ae8875.png?generation=1595567345408713\&alt=media)

{% hint style="info" %}
Notice how the chart on the right dynamically adjusts as you select different options.
{% endhint %}

## Option Ticket

The second widget that enables option trading is *Option Ticket*. This widget enables traders to purchase or sell options, trade the underlying security, enter into complex strategies, and configure different aspects of the order like its type, duration, etc.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5b009bcace636091789d665cfd0b950ffa1c8263.png?generation=1595567345017521\&alt=media)

At the top there's a text field where the trader must specify the ticker symbol of the underlying security. Moving downward there's a leg-configuration table where they can trade the underlying security or different options:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F7189dd61f0435a6a3aa04d3f268858fc58b0378e.png?generation=1595567343542483\&alt=media)

In the top-right corner there's a drop-down menu that provides a list of option trading strategies to choose from.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F59e59bdeb9097cdd4e53b4f0b19af11e2ec1bc6e.png?generation=1595567342973548\&alt=media)

For example, if the trader selects the popular covered call strategy, Option Ticket will automatically add a long position in the underlying security and a sell-to-open position in a call option. Alternatively, traders can add the legs of a trade themselves, selecting the required expiration date, target strike price, option type (Call or Put), etc.

At the bottom traders can determine the required order type, duration of the order, and they can even configure a complex *One-Triggers-the-Other* or *One-Cancels-the-Other* order.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F8f2523fd3833625ca174d51d57f9182a4676785c.png?generation=1595567343017956\&alt=media)

### Debit and Credit for Limit Orders

If you attempt to enter into a strategy where you simultaneously buy and sell a security, you can also specify a limit price for the entire order. This limit price will indicate the amount of money that you will either receive (Credit) from the order or spend on the order (Debit). For example, if you sell an option for $100 and simultaneously buy a stock for $80, you will **receive $20** (Credit). Conversely, if you sell an option for $70 and buy a stock for $120, you will be **charged $50** (Debit). The debit and credit can be limited to ensure that the order will be executed only when either the debit or the credit is equal to a specific amount.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0d95b5e912eab3c81e8a00f98a827bdc7fa9adf7.png?generation=1595567343578487\&alt=media)

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fc9518f0a2b43a4d8c574299f831c20bbed1a62d1.png?generation=1595567350666797\&alt=media)

Once the order is entirely configured, the trader should click **Verify**. This will prompt the order verification window that enables the trader to examine the order and all of its parameters once again before sending it to the execution venue. If everything is correct, the trader should click **Trade**, and the order will be placed.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd2cb2870d6f25d3c71b32404e9ab7bc7acafb5fd.png?generation=1595567344030297\&alt=media)

Once the order is filled, it can be inspected from the **Orders** widget and the resultant position will be displayed on the **Positions** widget:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F3f5537f53ceb7beb100aabbf869042708770c0dc.png?generation=1595567344227298\&alt=media)

### Options Trading in Web Trader for iOS:

{% content-ref url="/pages/-MCzCxy2TiO5AzqSk7Ix" %}
[Options Trading](/user-guide/etna-trader-for-ios/quotes-view/trade-view/options-trading)
{% endcontent-ref %}


# Hotkeys

Configure hotkeys to streamline your trading routing

## Introduction

Web Trader provides rich shortcut functionality to users who'd like to streamline their trading routine with hotkeys. If you need to buy a security or cancel all active orders with a single press of a key — Web Trader enables you to configure shortcuts for such events. The range of actions that can be mapped to keyboard keys is determined by the broker along with the default mappings. However, traders can always map their own keys to the default range of events by means of the **Hotkeys** widget.

## Configuration of Hotkeys

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2c13556a4a142e51068ea815e5b4d7c22f8d9289.png?generation=1595567346069929\&alt=media)

This widget lists all of the existing shortcuts which can be modified or even removed. To create a new hotkey, click **Add**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fda83490fe5e05636f7b27ea510af8ce54754e374.png?generation=1595567354194501\&alt=media)

In the appeared pop-up window, specify the following parameters:

* **Shortcut**. This is the key combination that will trigger the associated action.
* **Action**. Expand the drop-down menu and select one of the actions created by the broker.
* **Parameters**. These are the parameters that are associated to the action.&#x20;

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F53292f570b365b4596708465cf78bde57c4c69fe.png?generation=1595567346542415\&alt=media)

## Troubleshooting with Hotkeys

Some hotkeys require the presence of specific widgets for proper execution; for example, hotkeys related to placing orders require the **Orders** widget being present on the screen. Otherwise the following error will pop up in the bottom-right corner:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F255516fb95aebd38c7336a395725ed9abd446a42.png?generation=1595567355197709\&alt=media)


# Digital Advisor

Cross-platform solution for investors who wish to automatically manage their portfolios by using a pre-defined model that quarterly

## Introduction

In addition to the full-fledged trading terminal available for professional traders, Autoshares Trader also comes with a lightweight digital advisor that enables automatic rebalancing of portfolios in accordance with a pre-defined model that determines:

* Which asset classes should comprise the portfolio
* The weight of every asset class in the portfolio.

Each model has its own theme and the target audience: for example, there can be aggressive models for aggressive investors, conservative models for low-risk investors. With respect to industries, there might be models weighted towards renewable energy companies, high-tech companies, or space exploration companies. And in similar fashion many different models can be created and tailored to investors' preferences and risk tolerance.

Each model is defined by the broker before their instance of Digital Advisor is deployed in production. Here is how it works: the broker opens a special administrator widget where they can create a new model, give it a name, and then specify securities that this model should have along with their corresponding weight in the portfolio (which should collectively add up to 100%). Once a new model is created and fully defined, it'll immediately become available in the list of all models from which investors can choose upon registration.

Investors do not have to actively manage their portfolios: they simply sign up, select a model, deposit funds, and then proceed to track their portfolio returns. The Digital Advisor will automatically rebalance the portfolio based on the model once in a time period: overweight securities will be sold to fit their quota in the portfolio, and underweight securities will be purchased to increase their quota in the portfolio. At the end of the rebalancing, the weight of each security in the portfolio will reflect its value in the model.


# Getting Started

Get Started with Digital Advisor

## Introduction

Digital Advisor is hosted on one of your broker's subdomains. Before you proceed to use it for automatic management of your portfolio, first sign up for it. Head over to the login page and click **Sign Up**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2d22ff2927cddf534fb0c8cf639dc09fa66d9830.png?generation=1595567337702399\&alt=media)

This will re-direct you to the sign-up page where you need to specify your personal details:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F27b3b61c196bf070054eb11577408cc86bcde7c1.png?generation=1595567337475674\&alt=media)

Once the form is filled out, click **Sign Up**. Afterward, you will be re-directed to Digital Advisor. If you have no active trading accounts (perhaps you migrated from Autoshares Trader), Digital Advisor will prompt you to create a new trading account with the clearing firm that your broker has selected. Once you have submitted an account opening request, some time will pass until your account is approved by both the broker and the clearing firm.


# Selecting an Investment Model

Select a suitable investment model

Once you have created a new trading account that was approved by the clearing firm, the next step is to select a model that suits your investment preferences and risk tolerance. These models are defined by your broker, each model representing a collection of securities with a certain target weight in the portfolio (the weight may fluctuate within a pre-defined threshold as security prices are changing).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fe8b8428229fdb19f4e1e542bc29e86e16000f963.png?generation=1595567341796562\&alt=media)

When you click on a model, a confirmation window will appear, enabling you to verify that this model should be used to manage your portfolio. Click **Confirm**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F1df67f715c41b710521228c0b2fdd9e969eba21a.png?generation=1595567341765877\&alt=media)

Once the model has been selected, you will immediately be re-directed to the **Portfolio** tab that gives you an overview of your portfolio: it shows the current market value of the portfolio, its returns over different time periods as well as the breakdown of the portfolio by different asset classes:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fec7809739ee2cd2b64c30e5ae65df9f2dbab0e2b.png?generation=1595567352835806\&alt=media)


# Portfolio Tab

Examine your portfolio returns

## Introduction

This first and main tab of Digital Advisor is called **Portfolio** and its main purpose is to give you an overview of the current state of your portfolio. It's the place where you go in order to track your performance, view the breakdown of your portfolio, and change the current investment model.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fec7809739ee2cd2b64c30e5ae65df9f2dbab0e2b.png?generation=1595567352835806\&alt=media)

## Portfolio Tab Overview

The top of the page contains three blocks:

1. **Balance**. This is the current market value of your portfolio (securities and cash put together).
2. **Earnings**. This is the current dollar return of your portfolio over some time period.
3. **Return**. This is the percentage return of your portfolio over some time period.

Moving downward, there's a line chart that displays the value of the portfolio over the time period specified in the picker view right below the chart.

The bottom of the page features a visual representation of the portfolio's value in the form of a pie chart. Next to it there's a table that breaks down the structure of the portfolio by asset classes. Each asset class has four corresponding parameters:

1. **Value**. *\*\**&#x54;he collective dollar value of all securities of this asset class in the portfolio.
2. **Gain**. The dollar return of this asset class in the portfolio.
3. **Actual**. The percentage return of this asset class in the portfolio.
4. **Target**. The expected return of this asset class in the portfolio.

## Changing the Model

To change the current investment model, click **Change Model** at the top of the portfolio block. This will bring up the investment model selection view where you can choose the model that suits your preferences and risk tolerance. Furthermore, you can enable or disable automatic rebalancing of your portfolio by clicking on the **Auto-Invest** button to the right .

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb8b0ed2f84d1f2501abaaa7e6d167e1cd5429044.png?generation=1595567354735143\&alt=media)


# Trading Tab

Place market and limit orders

## Introduction

The main purpose of Digital Advisor is to relieve traders of manual management of their portfolios by enabling them to employ special investment models that automate the process. That said, users still have the ability to manually place orders in case they need to increase or decrease their stake in a specific security. This functionality is available on the second tab of Digital Advisor called **Trading**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F98788d0e200d9c41f2e4dfd4210ffd581cbf166e.png?generation=1595567340038528\&alt=media)

## Trading Tab Overview

The trading tab represents a grid of several blocks that facilitate placing trades and monitoring orders. The first left-most block enables you to specify the ticker symbol of the security that you would like to trade. Here you can also view the current quote of the security as well as its gains for the current trading session.

The block on the opposite side demonstrates the number of shares of this security in your portfolio.

Moving downward, there's a chart that displays the price of the security over different time periods. This chart is interactive so you can take a closer look at the opening and closing price of the security during different trading sessions throughout the specified time period.

On the right there's the order placement tile that enables you to configure the order. First, you can select the type of the order that you want to place: either **Market** or **Limit**. Then proceed to specify the number of shares that you'd like to buy. Finally, if you're placing a limit order, specify the limit price.

## Tracking Orders

At the bottom of the **Trading** tab there's a table that lists the most recent orders placed on the currently selected trading account along with various parameters of these orders. To reveal more orders, click **Load More** underneath the table.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F8446f0cae63b74a1d9b28b5ef4ba228a1fa8732e.png?generation=1595567339918153\&alt=media)


# Activity Tab

Track all transactions in your trading account

## Activity Tab Overview

The main purpose of the **Activity** tab is to track all transactions that transpire in a specific trading account. The range of operations displayed here includes order placement, deposits, and withdrawals.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fad74ca2f2be9908a61c930b8fc3e957de12aea63.png?generation=1595567339188302\&alt=media)


# Funding Tab

Link a banking account and transfer funds

## Funding Tab Overview

The main purpose of the funding tab is to enable traders to deposit and withdraw funds to/from their banking accounts.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd9b70795db0dde05a5256d54ea5b26c8f89cb3e0.png?generation=1595567356083904\&alt=media)

However, before you can proceed to deposit or withdraw funds, first establish an ACH relationship between Digital Advisor and your banking account. To do so, click **Choose bank**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0382f20d920ce129896da230fa84ec0228efe066.png?generation=1595567356011222\&alt=media)

This will re-direct you to the banking selection page where you can select a previously linked banking account or link a new one by clicking **add a new** at the top.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff1c527e7cece84f457cdc3724090c1d7eb2ac815.png?generation=1595567356454855\&alt=media)

## Linking a New Banking Account

When you initiate linking of a new banking account, Digital Advisor will prompt the Plaid view that allows for easy and convenient establishment of ACH relationships. Click **Agree**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd1453ab1b46218a676e728211415a99b13fc2d30.png?generation=1595567356175101\&alt=media)

Next, select your bank from the list of available banking institutions:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Faae9741d1aea47ed136a17b10deb18539c4dcdf2.png?generation=1595567356230567\&alt=media)

Next, specify your credentials and click **Submit**:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F6764db03aefe6739956baaf9d0d2a2d4cb66e9aa.png?generation=1595567356010515\&alt=media)

Select the target banking account and click **Continue**:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F7135acdbb3146326b943bd31b16a9c995677056e.png?generation=1595567356299317\&alt=media)

Shortly after the new ACH relationship will be established and you can proceed to deposit and withdraw funds.


# WebTrader for iOS


# Getting Started

Download the app from the App Store and sign up

## Introduction

Web Trader for iOS serves as an extension of Autoshares Web Trader and provides similar functionality, including:

1. Placing orders;
2. Examining the profit and loss figures for open positions;
3. Managing and viewing watchlists;
4. Creating price alerts;
5. Analyzing charts;
6. Exploring the market depth of various securities.

## Downloading AutoShares Web Trader for iOS

Autoshares Web Trader for iOS is available on the [App Store](https://itunes.apple.com/us/app/autoshares-webtrader/id1205897919?mt=8) for both iPhone and iPad. It also features an extension for the Apple Watch that enables users to track their positions, profit and loss figures, account information, etc.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2c00e5096b07b353235dd7bcb5b5589ca1e4eecd.png?generation=1595567359525096\&alt=media)

## Signing Up

After you've downloaded the app, launch the app and tap on **Sign up**. if you've already signed up in AutoShares Web Trader, you can use those credentials to log into the mobile app.

On the sign-up window, proceed to specify your information:

* First name;
* Last name;
* Username;
* Email;
* Password;
* Password confirmation;
* Secret question-answer for password resets.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5e7d720c51fb97d8236354d08e974da7f9b48490.png?generation=1595567359380584\&alt=media)

Once you're done filling in the form, tap **Done**, accept the privacy policy, and tap **OK**.

Now that your new account has been created, proceed to log in.


# App Layout

Learn about the design of Web Trader for iOS

## Introduction

Once you launch Web Trader for iOS, you'll notice that the app's layout is based on a five-tab bar, each tab containing a separate screen with its own purpose. The list of tabs in the bar is as follows:

1. **Quotes**. This screen displays the current (or the closing price) price for securities in a specific watchlist.&#x20;
2. **Positions**. This screens displays the trader's current positions.
3. **Orders**. This screen displays all active, completed, and rejected orders of the trading account.
4. **Price Alerts**. The screen displays all price alerts of the trading account.
5. **Account**. This screen contains information about the trading account as well as the app's settings.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F86fa8d1152dea67288f1c1c66e759b0a541eb433.png?generation=1595567351175977\&alt=media)

{% hint style="info" %}
The selection of items in the tab bar may vary depending on the broker's settings. Namely, the app can omit certain screens or add one extra at the request of the broker.
{% endhint %}


# Watchlist & Quotes View

Manage watchlists, view quotes, place trades

## Watchlist

The first tab of Web Trader for iOS represents the **Watchlist** view which displays the current quotes for securities of a specific watchlist. The quotes are displayed in blocks — two per row — along with mini charts and the ticker symbol of the security.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff57158b9c39dabcdf6c6e94e8ffdd6cec0a78202.png?generation=1595567360979988\&alt=media)

If you tap on the little rectangular icon in the top-right corner, the view will switch to the **List** mode that fits more companies into the screen and presents them in a more compact way. Further, the entire table can be sorted by each column — simply tap on the column's name to sort the data in descending order (tap again and the order will be reversed).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F309e2735f9f42edc767c5010aa87977b669979ec.png?generation=1595567359999092\&alt=media)

To change the active watchlist, tap on the icon in the top-left corner. The icon itself displays the total number of watchlists that this trader has.

To re-arrange the displayed content, tap of the right-most icon in the navigation bar. You'll then be presented with a window that enables you to determine what content should appear first and what content should be hidden. To the right of every list item there's a re-arrangement icon; tapping and dragging it will enable you to put all content in the right order. When done, tap **Close**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fa47ae4f1a18b674dd3bf6a5bc77982982ac06da1.png?generation=1595567361152549\&alt=media)

Underneath the navigation bar there's a text field entitled **Quick Symbol** that enables you to quickly look up a quote for a specific security.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F00d5575335d8acebb56adccbc87330ed50f5c1e0.png?generation=1595567360322127\&alt=media)

For example, you can type in **SNAP**, tap on the first result of the query, and you'll shortly be re-directed to the **Quote** view with the current detailed quotes.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F45c52419aae728fd0754bbe7b6564982d8bdd1e5.png?generation=1595567359959167\&alt=media)

## Quote View

The Quote view contains pertinent information about the security and its price. In addition to the current bid and ask prices, the Quote view also contains four other segments: **Chart**, **News**, **Options**, and **Market Depth**.

## Chart View

The chart view is by far the most frequently used feature of the mobile app. Its purpose is to display different kinds of charts of the historical price data for the selected security. You can interact with the chart to get more detailed information about trade volumes, the highs and lows registered at a specific date, etc.

The chart is displayed right under the bid/ask prices. You can rotate your device to toggle the full screen mode. To switch the chart mode, tap on the gear icon in the top-left corner and under it tap on the chart mode icon.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fedb2563fc711d9b7933f25ddfb23daef0732c1bb.png?generation=1595567360596916\&alt=media)

In addition to the standard candle mode, Autoshares Trader for iOS offers four other chart modes:

{% tabs %}
{% tab title="#1" %}
![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff09f38a0235a3316c5d1a42d0b29cdd9ef3a1d00.png?generation=1595567360564518\&alt=media)
{% endtab %}

{% tab title="#2" %}
![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb29012db1bc4a4114ceab4a1d92d0d86771d1717.png?generation=1595567360420571\&alt=media)
{% endtab %}

{% tab title="#3" %}
![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fbe53ae464d0aa73dbd018e1edad1d1c3ea7da676.png?generation=1595567360346230\&alt=media)
{% endtab %}

{% tab title="#4" %}
![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0ba6664b2c41a52d6c4411ed4400921344da2870.png?generation=1595567360274426\&alt=media)
{% endtab %}
{% endtabs %}

As you navigate the chart, you can pinch it in and out for scaling. To disable scaling, tap on the icon under the chart mode icon.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0f22f81e83667e1d8d57ff87a9b16ab4126be9f8.png?generation=1595567359938811\&alt=media)

Tapping anywhere on the graph will prompt a pop-up with a detailed account of all prices registered at the time:

* Opening price
* High for the day;
* Low for the day;
* The closing price;
* The trading volume during the trading session.

To change the preferred chart period and interval, tap on the gear icon again. On the right there will be six pre-determined frequently used templates. To specify a custom period and interval, tap on the rightmost three-dot icon and select the required parameters from the drop-down menus.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F6cc6c7fc77d062500e0814f6b1b1c08fa7f3629c.png?generation=1595567360988112\&alt=media)

To trade the security, rotate the device back to portrait mode and in the top-right corner, tap **Trade**.


# Trade View

Learn how to place a trade in Web Trader for iOS

## Introduction

Web Trader for iOS offers full-fledged functionality for trading, enabling traders to open positions in both stocks and options. Whether a trader wants to open a long, short, or buy-to-cover position, they can do so by tapping on the **Trade** button in the top-right corner.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F6de42cb9984c3978e0c20ed424e26681ffed9ccc.png?generation=1595567338874934\&alt=media)

Alternatively, traders can place a trade straight from the **Quotes** view by tapping on the **Quick Trade** text field.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fa9cd359d26ad2f691b55295034e0425301b0b7c3.png?generation=1595567339022712\&alt=media)

From there, specify the ticker symbol of the required security and tap on the correct entry in the list.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff3014f34f96efc3433efee0c8805e4f03ac2b537.png?generation=1595567338605041\&alt=media)

You will be re-directed to the Quote view from the first screenshot where you can tap and **Trade** and proceed to specify the details of the new order. The range of parameters to be specified is different for stocks and options, each covered in its own article:

* Stock trading:

{% content-ref url="/pages/-MCzCxy1bkf7CYQDLmpq" %}
[Stock Trading](/user-guide/etna-trader-for-ios/quotes-view/trade-view/stock-trading)
{% endcontent-ref %}

* Options trading:

{% content-ref url="/pages/-MCzCxy2TiO5AzqSk7Ix" %}
[Options Trading](/user-guide/etna-trader-for-ios/quotes-view/trade-view/options-trading)
{% endcontent-ref %}


# Stock Trading

Learn how to place a trade for stocks

## Introduction

To place a new order transacting a stock in Autoshares Web Trader for iOS, tap on any security in the **Quotes** view and then tap the **Trade** button in the top-right corner. This will prompt the trade view where you will proceed to specify the details of the new transaction.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F6de42cb9984c3978e0c20ed424e26681ffed9ccc.png?generation=1595567338874934\&alt=media)

## Placing a New Trade

Once you've tapped Trade, you will be prompted with the order configuration view where you can specify the following order parameters:

1. **Side**. This is the side of the trade. The range of possible values includes: **Buy**, **Sell**, **Sell Short**, **Buy to Cover**.
2. **Quantity**. This is the number of stocks to be purchased or sold in the order. For example, if you'd like to purchase 100 shares of  the Apple stock, set the text field to 100.
3. **Type**. This is the type of the order. The range of possible values includes: **Market**, **Limit**, **Stop**, **Stop Limit, TrailingStop, TrailingStopLimit.**
4. **Price**. This is the order's target price. It will vary based on the order type: for limit order this is the limit price, for stop orders this is the stop price, etc.
5. **Duration**. This is the target duration of the order. The range of possible values is as follows: **Day** (cancelled at the end of the trading session if not executed), **GTC** (Good-till-Canceled — the order persists indefinitely until it is executed or manually cancelled).
6. **Session**. This is the target trading session. The range of possible values is as follows: Pre-market, After-market, Market hours + after-market hours, Market hours + pre-market hours, Market hours + after-market hours,  Market hours, All Sessions.
7. **Exchange**. This is the stock exchange where this order should preferably be placed.
8. **All or None**. This option indicates if the order should be filled either entirely in one transaction or not at all.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd0a16df1ba54aac86775a1e1599606aeada7a9c4.png?generation=1595567358288801\&alt=media)

Once the order is fully configured, tap **Verify Order**. The order will be sent to Autoshares' verification service to ensure that the new order complies with different validation rules and is properly configured. Tap **Place**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F6f550bf9e05aef3d248c1532d65700db6a8a517d.png?generation=1595567359190971\&alt=media)

Conversely, If the order was deemed to be invalid by some order validator, you will see an error message in the **Status** text box.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F033d51f4bffc67381cbab22f2090ca65f9d18e7a.png?generation=1595567358652372\&alt=media)

After the order has been successfully placed, you can observe the status of the order from the [Order view](/user-guide/etna-trader-for-ios/orders-view).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F1f5844a4c77ab6527fdfab274c94ba20f613f057.png?generation=1595567358907058\&alt=media)

## Orders on the Apple Watch

Autoshares Web Trader for iOS features a companion Apple Watch extension that enables traders to conveniently track the status of their orders right from the wrist.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0b2a5d7882fea7e4347c98be6bfef364284d302c.png?generation=1595567358896229\&alt=media)

Scrolling downward will reveal all active, cancelled, and filled orders in detail.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb93fae326e2b1a86863b3f8068e950aff20fafad.png?generation=1595567358971910\&alt=media)


# Options Trading

Learn how to place a trade for options in Autoshares Trader for iOS

## Introduction

Web Trader provides comprehensive options trading functionality in both [Autoshares Trader Web](/user-guide/web-terminal/user-widgets/options) and Autoshares Web Trader for iOS. This article delves deeper into the iOS app and demonstrates how you can use it to trade options, enter into complex strategies, track and analyze your profit and loss statements, and so forth.

## Trading Options in AutoShares Web Trader for iOS

To trade options in AutoShares Web Trader for iOS, launch the app and navigate to the **Quotes** tab. This tab displays all watchlists of your trading account along with their corresponding securities. Next, select the required watchlist, locate the security on which you're attempting to trade options, and then tap on it.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F314e2c237db18da7602efd552d66f2f5f6bf3d71.png?generation=1595567335235636\&alt=media)

This will bring up the Quote view that displays all information pertinent to this stock, including the current bid and ask price, chart, news, market dept, and, most importantly, **options**. Tap **Options** and shortly all options on this security will be listed.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F08b2c32c89c67beba30fd1ce91b586e93ef20f3b.png?generation=1595567335668199\&alt=media)

### Filtering Options

At the top of the **Options** sub-tab there are two filters that enables you to sort through the options by expiration date and closeness of the strike price to the current market price of the underlying security.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F43b70290811506f3e6c0d5a7a2a24087983301be.png?generation=1595567336049029\&alt=media)

If you tap on the expiration date button (leftmost), this will bring up the view where you can select the required expiration date for options.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2fcd9f5a7cbe7c3869323a0e7b06c57ff8e385ba.png?generation=1595567336439902\&alt=media)

It's also possible to determine the number of options that must be displayed by tapping on the button in the middle (**Near the Money**). For instance, if you tap **More**, the app will load additional options; and if you tap **All**, the app will fetch all options with the specified underlying security.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F7e36315430626c5caffa7d40cc83c1d6faa0541d.png?generation=1595567335634602\&alt=media)

Once the options are filtered, proceed to select options that you'd like to trade: you can select either one options or multiple options (to enter into a complex strategy). Once you're done, tap **Trade Options**. This will bring up the order confirmation view where you can review the information about the order and finally tap **Verify Order** if everything is properly set.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F43b7ce3701edce0f06b38e0a13c0e019bc7089fb.png?generation=1595567336292238\&alt=media)

Once the order is placed and sent to the execution venue, its state can be examined on the **Orders** tab.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F053534c6de953b6e309a11450a8020edd118f429.png?generation=1595567336149811\&alt=media)

Once the order is filled, the newly opened position can be tracked on the **Positions** tab along with other positions in options and other security types.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F579371487d4eb3fc700419e713c50501f8398209.png?generation=1595567336803327\&alt=media)


# Positions View

Track open positions

## Introduction

The second tab in WebTrader for iOS — **Positions** — is responsible for listing all outstanding positions on the current trading account. When a trader opens a new position from the Trade View, this newly created position becomes instantly visible on the Positions view. In addition to viewing outstanding positions, this tab also enables you track the profit and loss figures for each position, their market value, and a set of other parameters.

## Exploring the Position Tab

To open the Positions tab, tap Positions in the tab bar at the bottom of the app. You will be presented with a list of all positions opened on the trading account (the number of the account is displayed as a subtitle at the top).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F614827f4a9b2d9467072304bf0ee87cc92d72250.png?generation=1595567341864588\&alt=media)

Each position contains all information pertinent to the positions, namely:

* Ticker symbol under which the position's underlying security is listed on the exchange.
* The number of securities purchased (green) or sold (red) when opening the position.
* The price at which the securities were purchased or sold.
* **Open P/L**. This is the unrealized profit and loss in the position. The profit or loss becomes realized once the position is liquidated. Calculated as:

  `P/L Open = Market Value - Average Open Price * Quantity * Contract Size`
* **P/L %**. Identical to **Open P/L** but expressed in percentage terms.
* **Day P/L**. This is the total profit or loss on the trading account as compared to the securities' closing price of the previous trading session.
* **Day P/L %**. Identical to **Day P/L** but expressed in percentage terms.
* **Mkt Val**. This is the current market value of the position.
* **R P/L**. This if the realized profit or loss of this position.
* **Cost B**. This is the total cost of this position.
* **Last**. This is the price of the last trade that was made during the regular trading hours of the previous trading session.
* **Chg %**. This is the difference between the closing price from the previous trading session and the price of the last trade. `Change = Last - PrevClose`
* **Bid**. This is the bid price — the highest price at which buyers (i.e. bidders) are willing to purchase the security.
* **Ask**. This is the ask price — the lowest price at which sellers are willing to sell the security.
* **Total P/L**. This is the total profit or loss on the position. Calculated as: `Total P/L = Open P/L + R P/L`

To re-arrange the order in which the above-listed parameters are listed, tap on the switch icon in the top-right corner.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5cc3b402d9e1ea20a907edd8e1008e23ac443b1f.png?generation=1595567341301891\&alt=media)

In the appeared window you can select the columns that must be displayed by tapping on their names. You can also re-arrange the columns in the required order.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fdf2e3c0c98ce06962cce69b5c54b2082091b0e0d.png?generation=1595567340585760\&alt=media)

When done, tap **Close**.

If you want to get a more visual perspective on the profit and loss figures on all your positions, tap on the little square icon in the top-right corner.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F648d91d8e723089e336e7e19d478204d414cdab9.png?generation=1595567340754793\&alt=media)

Immediately all your positions will be switched to the tile view which displays positions as tiles, each sized based on its profit or loss. If the position is currently profitable, the tile will be colored green; otherwise it will be colored red. The bigger the profit (loss), the bigger the size of the tile.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F87e81157d78fcdd9c615083b9f78d6ce8712f103.png?generation=1595567340357587\&alt=media)

This view enables you to quickly detect positions with the biggest profit and loss and analyze how different positions affect the entire portfolio. The positions with insignificant profit and loss figures are designated as *Other*.

If you wish to view the positions of a different trading account, navigate to *Account* (5th tab) and tap on the account number.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ffdcd45561cfb4ddec5e5ab71023b2c83af275da9.png?generation=1595567348555549\&alt=media)

Next, tap on the required account number and go back to the Positions view. The selected trading account's positions should now be listed.


# Orders View

Track active, filled, and cancelled orders.

## Introduction

The third tab of Autoshares Web Trader for iOS — **Orders** — is responsible for displaying the list of current orders of the current trading account: outstanding orders, filled orders, rejected, orders, etc. Here you can quickly inspect which of your orders have already been filled and which ones are under review or were rejected.

{% hint style="info" %}
The number of the trading account is displayed in the navigation bar under the *Orders* label.
{% endhint %}

The layout of the tab represents a four-segment view that sorts all orders by their status:

1. **All**. This segment lists all orders of the current trading account.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F936101796d717f08d7c8ed9dad5c03686199c6fd.png?generation=1595567352527604\&alt=media)

1. **Active**. This segment displays only active orders, i.e. the ones that have been placed but not yet executed.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0687859ead903809a90e17f118a507abaaf3742d.png?generation=1595567351680231\&alt=media)

1. **Filled**. This segment displays only filled orders.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0a161a47f54dcb6a5887ef9558fe452104843f34.png?generation=1595567352419322\&alt=media)

1. **Cancelled**. This segment lists cancelled orders, i.e. orders that have been cancelled by the execution venue due to some error.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F54e75e4d867549c45442e4e53257e33fc69da63f.png?generation=1595567352686233\&alt=media)

## Orders Tab Layout

The Orders tab lists all orders of the specified trading account. Looking closer at each order you can view the following information about the order:

* The **ticker symbol** of the order's underlying security;
* The current **Mark** price of the security;
* The transaction **type** (Buy, Sell, Sell Short, Buy to cover);
* The **number of securities** transacted in this order;
* The **type of the order** (Market, Limit, Stop Limit, etc.);
* The **time** at which the order was placed;
* **Order status** (New, Filled, Cancelled, etc.).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff8d7d1766469fc78fc453aee6097fa6c0fbb778b.png?generation=1595567351843688\&alt=media)

At the bottom of the screen there's a pull-up statistics view that gives you a visual breakdown of the number of active, filled, and cancelled orders along with their their corresponding percentage of all orders.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4a75a3b08c639356f81455c8cbd3d00f90f8d127.png?generation=1595567352770437\&alt=media)

Swiping left, you'll see a more detailed breakdown of all orders by types. On the right, each order type will be represented by an Apple Watch-style circle showing the weight of the type in the whole.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2497a8ec65bade460150793952365b6dab4b7fa9.png?generation=1595567351790611\&alt=media)

To place a new order, you can tap on the **Quick Trade** text field underneath the navigation bar and enter the required ticker symbol. Next, tap on the required security and you will be redirected to the [Trade View](/user-guide/etna-trader-for-ios/quotes-view/trade-view).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F28f3f811902981f823dd85faadc89842d26eb903.png?generation=1595567351956269\&alt=media)

## Order Details

To view detailed information about a specific order, tap on it and you will be redirected to the order details view that displays comprehensive information about the order:

* **Side**. This is the transaction **type** (Buy, Sell, Sell Short, Buy to cover);
* **Quantity**. The **number of securities** transacted in this order;
* **Type**. The **type of the order** (Market, Limit, Stop Limit, etc.);
* **Limit / Stop price**. This is the limit, stop limit, or other price depending on the order type;
* **Duration**. Indicates the time frame in which the order will be active. Possible Values:
  1. **Day**. The order automatically expires at the end of the regular trading session if it weren't executed.
  2. **GTC** (Good-till-Canceled). The order persists indefinitely until it is executed or manually cancelled.
  3. **AtTheOpening**. The order should be filled at the opening of the marketplace or cancelled.
  4. **ImmediateOrCancel**. The order should be completely or partially filled immediately. If partially filled, the remaining part of the order should be cancelled.
  5. **FillOrKill**. The order should be filled immediately and entirely or cancelled right away.
  6. **GoodTillCrossing**. The order will be active until the market enters the auction phase.
  7. **GoodTillDate**. The order will be active until the date specified in the ExpireDate attribute (unless it is executed or cancelled).
  8. **GoodTillTime**. The order will be active until a certain time point.
* **Extended Hours**. Indicates if the order should be placed during the extended hours. Possible values:
  * **PRE** — Pre-market;
  * **POST** — After-market;
  * **ALL** — All sessions;
  * **REGPOST** — Market hours + after-market hours;
  * **PREREG** — Market hours + pre-market hours
  * **PREPOST** — pre-market hours + after-market hours;
* **All or None**. Indicates if the order should be executed in one transaction;
* **Status**. The status of the order;
* **Open / Filled**. Displays the ratio of filled securities to opened securities;
* **Execution Price**. Actual price at which the securities were transacted;
* **Entered on**. The date on which the order was placed;
* **Filled on**. This is the date on which the order was filled.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F36cdd1094aafdda324e397ad181926a9af79a84c.png?generation=1595567352151874\&alt=media)

If you tap on the little ellipsis button in the upper right-hand corner, you can place a similar order or an opposite order. The opposite order is an order with the reverse side; for example, if the initial order's was to purchase 100 shares of Apple, its opposite counterpart would be to sell 100 shares of Apple.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F7c44eac880e83b0f6ae2a49a8ed8300530fce5d6.png?generation=1595567352416593\&alt=media)

If you wish to view the orders of a different trading account, navigate to *Account* (5th tab) and tap on the account number.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ffdcd45561cfb4ddec5e5ab71023b2c83af275da9.png?generation=1595567348555549\&alt=media)

Next, tap on the required account number and go back to the Orders tab. The selected trading account's orders should now be listed.


# Price Alerts View

Manage price alerts

## Introduction

The fourth tab of Autoshares Web Trader for iOS — **Price Alerts** — is responsible for displaying the trader's price alerts. A price alert is a scheduled notification that will go off when the specified target price is reached for a specific security. For example, if you want to be notified when the price of the Netflix stock reaches $500, you can create a price alert for the stock with the following condition: `>= 500`.

Price alerts are shared between all platforms of Autoshares Web Trader, meaning all alerts created in the mobile apps will function in the web terminal and vice versa.

## Creating a New Price Alert

To create a new price alert, tap on the **Quick Alert** textfield.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F10a0c58a1afb8f0763b8a237b72bc15249e30c6d.png?generation=1595567348737934\&alt=media)

Next, search for the required security and then tap on it. You will be prompted with the alert creation view where you need to specify the following parameters:

1. **Reference price**. This is the price that will be pitted against the target price. Possible values: **Last**, **Bid**, **Ask**.
2. **Alert condition**. This is the condition of the price alert. Possible values: **≥** (greater than or equal to), **≤** (less than or equal to).
3. **Price**. This is the target price of the price alert. Once this price is reached, the price alert will go off.
4. **Expiration Date**. This is the date on which the price alert will expire.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F9b832ae68eb32a03069b281333dc01aa594b4b42.png?generation=1595567347773944\&alt=media)

Once done, tap **Create**. The newly created price alert is active and will notify you when the target price is reached.

## Notification Types

In addition to native iOS notifications, you can also get price alerts by Email and SMS. Notification settings for price alerts can be configured in the app's settings. Go to **Account** (5th tab) and tap on the little gear icon in the top-left corner.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd462ae2c1f1cde766d93ecdcb20341afbb938517.png?generation=1595567347477981\&alt=media)

This will bring up the app's settings where you can price alert notifications. Scroll downward until you reach the **Notifications** section. There you can enable native notifications for different trading operation, including **Price Alert**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff7bc46053458f90756d0a4d0cd69a81991614ed5.png?generation=1595567348427109\&alt=media)

To configure Email and SMS notifications, tap **Other Notifications**. This will push the Email and SMS notifications configuration screen where you can meticulously determine which transactions should be reported. Also here you can enable SMS and Email notifications for price alerts.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb6fc4506aead75344ccae97813c099745cf6be21.png?generation=1595567348118136\&alt=media)

Once done, go back to the previous screen and tap **Close**. The settings will immediately take effect and you will be notified of the target price hits via the specified notification channels.


# Account View

Change global settings, inspect the account balances

## Introduction

The last tab of Autoshares Web Trader for iOS — **Account** — is responsible for displaying comprehensive information about the current trading account as well as enabling you to change the app's settings. Here you can quickly glance at the current market value of the account, track the profit and loss figures, take a closer look at your current buying power, configure notifications, etc.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5f1903d8a1350ca8f34a78d179d22329f5bbe142.png?generation=1595567328979858\&alt=media)

## Exploring the Account Tab

Once you open the Account tab, the first thing you encounter is the account value chart that displays the current market value of the trading account. Rotating the device will expand the chart to full screen, giving you a more spacious view of the historical value of the trading account.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F2d696d9875f0abf7be8881c04da3f735a8308465.png?generation=1595567328697246\&alt=media)

Moving downward, here you can inspect the current cash position, account's market value, and a detailed breakdown of all positions by types:

* Long positions in stocks;
* Short positions in stocks;
* Long positions in options;
* Short options in stocks;
* Long positions in forex instruments;
* Short positions in forex instruments.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0b5f3ff37cf412faa01cae47022bdfdbf8bf1d36.png?generation=1595567329128339\&alt=media)

The next section covers the Buying Power available on the account, including:

* Maintenance Margin;
* Stock Maintenance Margin;
* Option Maintenance Margin;
* Excess;
* Day Trading Buying Power;
* Stock Buying Power;
* Option Buying Power.

{% hint style="info" %}
You can learn in-depth about these terms in our dedicated article on [trading accounts](https://brokerhelp.autoshares.com/administrator-guide/glossary/trading-accounts).
{% endhint %}

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0b5f3ff37cf412faa01cae47022bdfdbf8bf1d36.png?generation=1595567329128339\&alt=media)

In the last two sections of the *Account* tab you can explore the following four parameters:

1. **Day Open Profit/Loss**. This is the profit/loss for the current trading session.
2. **Day Close Profit/Loss**. This is the amount of unrealized profit or loss of the trading account at the closing of the current trading session.
3. **Pending Order Count**. This is the number of orders that have been placed but are yet to be executed.
4. **Day Trades**. This is the number of day trades that have been executed on this trading account during the last five trading sessions (including the current one). According to FINRA, a day trade is the purchase and sale (or sale and purchase) of the same security during the same trading session in a margin account.

## Configuring Settings

The app's settings can be configured on a dedicated screen by tapping on the little gear icon in the top-right corner.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5993dd8353609efde0cba16e90a2d46a6b336bca.png?generation=1595567329278190\&alt=media)

In the appeared pop-up window you can configure the following settings:

* Default Order Settings:
  * Order type (Market, Limit, Stop, etc.);
  * Duration (Day, Good-till-Cancelled, etc);
  * Order route (the preferred execution venue);
  * All or None (whether or not the order should be executed in one transaction).
* Default Order Quantity:
  * Stocks (default number of stocks);
  * Options (default number of options);
  * Spreads (default number of spreads);
* Strike Range (for options):
  * Near The Money (upper and bottom limits in dollars);
  * Similar to **Near the Money** but with higher upper limits and lower bottom limits.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Ff7e2d1f5e96dbc472c736666c374c92722460438.png?generation=1595567329742664\&alt=media)

Scrolling downward, you can configure notifications settings. Use these toggles to enable different types of notifications for different types of transactions:

* Native iOS notifications;
* SMS notifications;
* Email notifications.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0cbb73f679ce1ebecb0da57b8f56a0ea993e20a9.png?generation=1595567329503561\&alt=media)

The last three options enable you configure the login mode, toggle various themes, and select the quote flashing mode.


# Apple Watch Extension

Track your positions, orders, and account balances on the Apple Watch app

## Introduction

Autoshares Web Trader for iOS comes with an Apple Watch extension that enables traders to swiftly glance at their positions and orders as well as analyze the positions' current profit and loss. This extension does not need to be installed separately from the App Store; rather, once you have installed Autoshares Web Trader to your iPhone or iPad, the Apple Watch extension will automatically be installed as well. However, if for some reason it's not installed, you can open the Apple Watch app on your device, scroll down to the Available Apps section, locate Autoshares Web Trader, and then tap **Install**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F8630453d33d393ca0743b834234e4dad50cbcae7.png?generation=1595567354353070\&alt=media)

Once the extension is installed, it can immediately be opened from the app grid on the Apple Watch:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F7424580033a6f606f75d7ca04bb1d6977ddd0896.png?generation=1595567353647125\&alt=media)

Once the extension is opened, you're presented with three buttons:

* Account
* Orders
* Positions

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F120728395114b77a12da9be9ea149c6e9d6992fd.png?generation=1595567354115841\&alt=media)

Tapping on each of these will bring up the corresponding view.

## Account View

If you tap on **Accounts**, you will be re-directed to the account information screen that lists detailed information about your trading account, including its current value, available cash, open profit/loss, buying power, and so forth.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4c17fb455ae786bec1fb3ac61758a577502cea86.png?generation=1595567354306400\&alt=media)

## Positions View

If you tap on **Positions**, this will bring up the Positions view that gives you a visual breakdown of your positions. The entire screen is occupied by the piechart displaying the short positions, long positions, and closed positions as part of all positions.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F8cacebdeff3bae7b0e6b58fda362bf16ec814c73.png?generation=1595567353815465\&alt=media)

Scrolling downward, there's a list of all positions opened on this trading account. Each position contains the ticker symbol of the underlying security (top-left corner), number of securities (bottom-left corner) as well as the limit, market, or stop price (bottom-right corner).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F38a0c040683e765f3f57111cfbbd30a074eedde8.png?generation=1595567354055558\&alt=media)

## Orders View

If you tap on **Orders**, this will bring up the Orders view that lists all orders of this trading account sorted by their status. It's similar to the Positions view in that it also visually breaks down all orders with a piechart. Moving downward, there's a list of all orders placed on this trading account along with pertinent information about the order like the ticker symbol of the underlying security, type of the order, quantity, limit, stop, or market price as well as as the order's status.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F87fdb1efbd49662e6e7c17d7cc1111aef617c2b1.png?generation=1595567354506367\&alt=media)


# Web Trader for Android


# Getting Started

Download the app from the Google Play and sign up

## Introduction

Autoshares Web Trader for Android serves as an extension of Autoshares Trader Web and provides similar functionality, including:

1. Placing orders;
2. Examining the profit and loss figures for open positions;
3. Managing and viewing watchlists;
4. Creating price alerts;
5. Analyzing charts;
6. Exploring the market depth of various securities.


# App Layout

Learn about the design of AutoShares Web Trader for Android

## Introduction

Once you launch Autoshares Web Trader for Android, you'll notice that the app's layout represents five tabs, each tab displaying a separate screen with its own purpose. The list of tabs in the bar is as follows:

1. **Quotes**. This screen displays the current (or the closing price) price for securities in a specific watchlist.&#x20;
2. **Positions**. This screens displays the trader's current positions.
3. **Orders**. This screen displays all active, completed, and rejected orders of the trading account.
4. **Price Alerts**. The screen displays all price alerts of the trading account.
5. **Account**. This screen contains information about the trading account as well as the app's settings.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F95937a00178885a8ae2998a83eb3954fea282833.jpg?generation=1595567332249891\&alt=media)

{% hint style="info" %}
The selection of items in the tab bar may vary depending on the broker's settings. Namely, the app can omit certain screens or add one extra at the request of the broker.
{% endhint %}


# Watchlist & Quote View

## Quotes Tab

The first tab of Autoshares Web Trader for Android represents the **Quotes** view which displays the current quotes for securities of a specific watchlist. The quotes are displayed in blocks — two per row — along with mini charts and the ticker symbol of the security.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F95937a00178885a8ae2998a83eb3954fea282833.jpg?generation=1595567332249891\&alt=media)

If you tap on the little rectangular icon in the top-right corner, the view will switch to the **List** mode that fits more companies into the screen and presents them in a more compact way. Further, the entire table can be sorted by each column — simply tap on the column's name to sort the data in descending order (tap again and the order will be reversed).

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F0db29b9a4d7f37d1f10ba5aa6423cef2d90d1963.jpg?generation=1595567350904241\&alt=media)

To change the active watchlist, tap on the icon in the top-left corner. The icon itself displays the total number of watchlists that this trader has.

To re-arrange the displayed content, tap of the right-most icon in the navigation bar. You'll then be presented with a window that enables you to determine what content should appear first and what content should be hidden. To the right of every list item there's a re-arrangement icon; tapping and dragging it will enable you to put all content in the right order. When done, tap on the arrow icon.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F9b07bf08f3fc40e07a05c5c2faaa695119b54563.jpg?generation=1595567350277629\&alt=media)

Underneath the navigation bar there's a text field entitled **Enter Symbol** that enables you to quickly look up a quote for a specific security.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F27870087a4722878697583ba419c7736000193fc.jpg?generation=1595567349880434\&alt=media)

For example, you can type in **SNAP**, tap on the first result of the query, and you'll shortly be re-directed to the **Quote** view with the current detailed quotes.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4e4c5a83cb294753344b2a09de06610ad8317534.jpg?generation=1595567350078732\&alt=media)

## Quote View

The Quote view contains pertinent information about the security and its price. In addition to the current bid and ask prices, the Quote view also contains four other segments: **Chart**, **News**, **Options**, and **Market Depth**.

## Chart View

The chart view is by far the most frequently used feature of the mobile app. Its purpose is to display different kinds of charts of the historical price data for the selected security. You can interact with the chart to get more detailed information about trade volumes, the highs and lows registered at a specific date, etc.

The chart is displayed right under the bid/ask prices. You can rotate your device to toggle the full screen mode. To switch the chart mode, tap on the gear icon in the top-left corner and under it tap on the chart mode icon.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fa596c76da74297952b17a1ccc5783ab76aa4ac7f.jpg?generation=1595567350462669\&alt=media)

Tapping anywhere on the graph will prompt a pop-up with a detailed account of all prices registered at the time:

* Opening price
* High for the day;
* Low for the day;
* The closing price;
* The trading volume during the trading session.

To change the preferred chart period and interval, tap on the gear icon again. On the right there will be six pre-determined frequently used templates. To specify a custom period and interval, tap on the rightmost three-dot icon and select the required parameters from the drop-down menus.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F329f4b2427300d1e20d01d9c93126665df72dffc.jpg?generation=1595567350696033\&alt=media)

To trade the security, rotate the device back to portrait mode and in the top-right corner, tap **Trade**.


# Trade View

Learn how to place a trade in Autoshares Trader for Android

## Introduction

Autoshares Web Trader for Android offers full-fledged functionality for trading, enabling traders to open positions in both stocks and options. Whether a trader wants to open a long, short, or buy-to-cover position, they can do so by tapping on the **Trade** button in the top-right corner.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F4780e2c02c9aabcd58c0bb7935a7f9271393a5e9.jpg?generation=1595567360491031\&alt=media)

## Placing an Order

This will bring up the the trade view where you can meticulously configure the order:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fcfdfaf534edbdf0e98706ff6d8fef1dbfe67ca64.jpg?generation=1595567351366454\&alt=media)

In total, there are four configurable order sides: **Buy**, **Sell**, **Sell** **Short**, and **Buy-To-Cover**.

Once you have selected the required order type, next, specify the number of securities to be purchased. When specifying the quantity, don't forget that it will be multiplied by the contract size applicable to this security.

Next, specify the order type. It can be either **Market**, **Limit**, **Stop**, **Stop Limit**, **Trailing** **Stop**, and **Trailing Stop Limit**. The range of parameters that must be specified varies depending on the specified order type. Namely, limit orders require specification of the limit price, trailing stop orders require specification of the price offset, etc.

Next, specify the target trading session for the order. If the target trading session will start later than the time at which the order is placed, the order will be suspended until then. To select the regular trading session, set this parameter to **Auto**.

Finally, you can optionally select the target execution venue where the order should be executed. You can also ensure that this order executes in its entirety rather than as a sequence of partial fills by tapping **All or None**. You may also provide an accompanying comment for this order — this might be useful for reminding yourself the reason for entering this trade.

## Verifying the Order's Details

Once the order is completely configured, tap **Verify Order**. This will bring up the order verification view where you can ensure that the order is properly configured before proceeding to place it on the execution venue. This view might also display any possible conflicts like insufficient buying power, exceeding the limit for day trades, etc.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Feee64f8c7e8ffa664ded87f7f4bfaa951381ff1c.jpg?generation=1595567351244892\&alt=media)

If the order is properly configured, tap **Place** and the order will immediately be placed.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F5a1c00f308b6a1e2c1f38e42d4facca6daf797d2.jpg?generation=1595567351326992\&alt=media)


# Price Alerts

Learn how to manage price alerts in AutoShares Web Trader for Android

## Price Alerts Tab

The price alerts tab if responsible for management of price alerts in your trading accounts. Here you can view this list of your existing price alerts and also create new ones. The existing price alerts can also be sorted by their status by tapping on different segments of the picker view: **All**, **Active**, **Triggered**, and **Other**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fedf4e7c3d89aa81bd933dc2c18cb434d48db0afa.jpg?generation=1595567352965654\&alt=media)

## Creating a New Price Alert

To create a new price alert, enter the ticker symbol of the target security in the text field at the top. Select the security in the list and then proceed to configure the price alert. Four parameters can be configured when creating a new price alert:

1. **Price type**. This is the price that will be tracked by the price alert. It can be either **Last**, **Bid**, or **Ask**.
2. **Greater than or Less than**. Indicate if the price at which the alert will be executed must be lower than or equal to or greater than or equal to the specified price.
3. **Target price**. The price which, if reached, will trigger the price alert.
4. **Expiration date**. The date on which the price alert will be expired.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F55fbc484580ca51db6d1dcaf9ae7e9fe4a95ce64.jpg?generation=1595567352503254\&alt=media)

Once the alert is created, tap **Create**, and the price alert will become active. Once the target price is reached, you will receive a corresponding notification.


# Accounts & Settings

View trading accounts' information and set global settings

## Introduction

The last tab of Autoshares Web Trader for Android is entitled **Account** and it is responsible for displaying various information about your trading accounts as well as configuration of global settings. It also enables you to switch between all of your trading accounts.

## Account View

When you open the Account tab, you immediately see the information about the currently used trading account. To switch the account, simply tap on the account's number in the first row; from there you will be able to select a different trading account.

Moving downward, there's a long table that display various parameters about the trading account, including its current cash position, the amount of pending cash, the liquidation value of the account, the market value of different security types, the buying power of the account, various profit/loss parameters, etc.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F19aceda8229f1abce5611a334122234da6a8be7d.jpg?generation=1595567355234000\&alt=media)

## Settings

To configure global settings, tap on the little gear icon in the top-right corner. This will bring up the settings view. Here you can configure various global settings, including the default order type, the default order duration, the default execution venue, the default order quantity, the default strike range for options, notification settings, the current theme, authentication mode, etc.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fd8b6a54f1f405b70efae59f9aaf8bfcc998c7604.jpg?generation=1595567354995620\&alt=media)


# Knowledge Base

Learn how to troubleshoot the most frequently occurring issues in Autoshares Trader

## Introduction

Autoshares Web Trader's knowledge base represents a collection of troubleshooting articles and how-to guides that explain how to deal with the most frequently occurring issues and also how to configure Autoshares Web Trader. Whether you have a certain service not working properly or whether you need to configure margin rates and commissions, the knowledge base is likely the place to feature such content.

The knowledge base consists of two sections:

* **Troubleshooting**. This section walks you through the most commonly experienced issues and bugs.

{% content-ref url="/pages/-MCzCxyG8WGASho1fMjC" %}
[Troubleshooting](/user-guide/knowledge-base/troubleshooting)
{% endcontent-ref %}

* **How-to Guides**. This section explains how to perform basic procedures like enabling two-factor authentication, configuring notifications, linking widgets together, etc.

{% content-ref url="/pages/-MCzCxyJ8pdMOwkFGnSq" %}
[How-To Guides](/user-guide/knowledge-base/how-to-guides)
{% endcontent-ref %}

Each of the two sections contains different subsections that cover different functionality and different segments of Autoshares Trader (the back office, the web app, the mobile apps, etc.).

{% hint style="info" %}
If you don't find a solution to your problem or your use-case is not covered in the how-to guides, feel free to contact our support team at <support@etnasoft.com>
{% endhint %}


# Troubleshooting

Learn how to fix the most commonly experienced issues


# Performance


# Tips for Enhancing Performance

Learn how to fine-tine AutoShares Web Trader's settings to ensure the smoothest user experience

## Introduction

Autoshares Web Trader is a highly complex trading suite that was designed for professional traders. For this reason the layout of the platform incorporates numerous widgets that are continuously updating information like the current quotes, account balances, news, current positions, chart candles, and so forth. With every incoming piece of data, the user interface must also be adjusted to reflect all of the latest changes. On top of that, AutoShares Web Trader features some trading-specific UI conveniences like quote flashing and data streaming — all of which can collectively put much strain on the CPU and impede the overall performance of the platform. And in this article we will provide a few tips on how to optimize performance by fine-tuning certain settings.

## Tip 1: Disable Quote Flashing

One of the most CPU-intensive UI elements are flashing quotes, especially if there are several widgets displaying dozens of securities with their corresponding quotes.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fa2c07d60313c7f59cfd438b3037a7af58e5158db.png?generation=1595567337193887\&alt=media)

To disable flashing quotes, navigate to your personal settings and, under **Layout Settings**, expand the **Quotes Flashing** drop-down menu, and select **Without Flashing**. Click **OK**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F7f22dfbc291ee619e41034830c2a3abcf71bd79e.png?generation=1595567337140514\&alt=media)

After the new settings have been applied, the quotes will no longer change their background color upon updating. But most importantly the CPU usage will dramatically decrease, hopefully improving the overall performance.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F370e6c479e3180b4d50febb66e5f918c50bbe556.png?generation=1595567336984943\&alt=media)

## Tip 2: Reduce the Number Of Widgets

Another way of improving performance of Autoshares Web Trader is to reduce the number of widgets displayed on each tab. Naturally each additional widget consumes additional system resources, which might explain why the platform is underperforming. Try limiting the selection of displayed widgets to one or two per tab and your issues could consequently be resolved.

## Tip 3: Try Using a Different Browser

Some web browsers like Google Chrome are notorious for consuming vast amounts of RAM and CPU resources, slowing down all processes on your computer. This performance dip can also extend to Autoshares Trader, forcing certain components of the platform to underperform. For this reason we suggest you opt for an alternative web browser like Firefox or Opera and see if they display better performance while using Autoshares Trader.


# How-To Guides

Learn how to perform the most common routines in Autoshares Trader


# Trading Accounts


# How to Create a New Trading Account

Learn how to create a new trading account in Autoshares Trader

## Introduction

From time to time traders need to create a new trading account to test a new strategy or reset their current trading account. A new trading account will have an initial deposit, no orders and no positions, thereby enabling the trader to start anew.

{% hint style="info" %}
Autoshares Web Trader enables traders to own several trading accounts.
{% endhint %}

## Creating a New Trading Account

To create a new trading account, navigate to Autoshares Web Trader. In the header, expand the drop-down menu containing the list of your trading accounts and click **Edit**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F61e5da5ce55da6e36b615c613f889d0b21fea19d.png?generation=1595567333629221\&alt=media)

In the appeared pop-up window, open the Trading Accounts sub-tab and then click **Add Account**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F24d935a08cb3a3223df5d4d5a1b9f8c421ff1402.png?generation=1595567333854361\&alt=media)

This will take you to a new tab where you can configure the new trading account. Select the required account type (Margin, Cash, or Day Trader), specify the initial deposit and then click **Complete**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fe25a8a3e3b4b14c45d1a7d01c1da5952b073d7d2.png?generation=1595567334325148\&alt=media)

Next, go back to the web terminal and select the newly created trading account in the same drop-down menu.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fb6992cb36953a7818cdaa774c1ee00cd5a3c55ab.png?generation=1595567334287426\&alt=media)

Now you can proceed to use the new trading account to open new positions, deposit and withdraw funds, etc.

## Switching the Account in Mobile Apps

After switching trading accounts in Autoshares Web Trader, perform the same operation in the mobile app. Go the **Account** tab and then tap on the number of the current trading account.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Feaad61c5867bf4a79e7b91a6ab49576857e90666.png?generation=1595567334045318\&alt=media)

Identify the new trading account and then tap on it.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F510b5ed99cceb1fde1ac4aa5bb68c0341b4d9ee8.png?generation=1595567334702883\&alt=media)


# Security


# How to Enable Two-Factor Authentication

Protect your account with an extra layer of security

## Introduction

Two-factor authentication (2-FA) is essential for ensuring safety and inviolability of your trading account in Autoshares Trader. Although Autoshares  Web Trader does enable brokers to define password requirements and expiration dates, it's recommended that traders protect their accounts with 2-FA to ensure maximum security for their financial assets. With 2-FA enabled, the probability of an intruder seizing control of your account decreases dramatically.

For traders' convenience, Autoshares Web Trader can send confirmation codes either by SMS or by Email.

## Enabling 2-FA in AutoShares Web Trader

To enable two-factor authentication, open AutoShares Web Trader, log in, click on the little gear icon in the top-right corner, and then click **Settings**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Feb055a71fe14390911550907ddabe92ee0b0e1d9.png?generation=1595567355718716\&alt=media)

Navigate to the **Security** tab and select the required verification code delivery method: **Email** or **SMS**.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F26f45fa84bb8d262341606222f24cd66f2c0181d.png?generation=1595567355874456\&alt=media)

If you select **Email**, the verification code will be sent to the email address specified during sign-up.

Alternatively, if you select **SMS**, the verification code will be sent to your phone number. In this case you'll also have to specify the number of the **Profile** tab:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F747ad90df62892da3579bae85718d414282af486.png?generation=1595567355637108\&alt=media)

And to verify that you are in fact the owner of this number, a verification code will be sent to your number. Enter the code and this phone number will successfully be bound to your account.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F400d78e1d6b1fcc40ac6e5bb64678896c80887ce.png?generation=1595567355405495\&alt=media)

Once you're done configuring 2-FA, click **OK**, and from now whenever you attempt to log into Autoshares Trader, you will have to specify the verification code sent to you by the selected delivery method.

## Entering the Verification Code

With 2-FA enabled, logging into Autoshares Web Trader will require you to specify the verification code in addition to the password.

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F8968c582eb7c47e0f1d77bf17367ee176df9bdb3.png?generation=1595567355674239\&alt=media)

Depending on your preferred delivery method, the code will be sent either by SMS:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2F923253c170a83b8fc7dd70128cf0e56b00411339.png?generation=1595567355298827\&alt=media)

Or by email:

Once the authentication code is entered — if it's correct — you will successfully be re-directed to Autoshares Web Trader.


# Introduction

## Overview

Autoshares Trader is a cross-platform trading suite that enables brokers to provide all-encompassing trading functionality to their customers. Even though Autoshares Trader provides both the web and the mobile interfaces for executing trades and analyzing markets, some brokers opt to implement their own custom interfaces that suit their requirements. For this purpose, Autoshares Trader offers a trader as well as extedned REST API that can be invoked to perform various trading operations like creating users, getting quotes, and placing orders.

In this scenario Autoshares Trader serves as the backend platform for your own custom-made web terminal or mobile app. Your task is to develop the mobile and web UI that invoke our API to perform all of the trading operations. On our side, we will execute your customers' orders on the required exchange, settle all transactions with the clearing firm, and take care of all of behind-the-scenes technicalities.

Another frequent use-case of our API is to augment the existing functionality of Autoshares Trader by designing custom widgets. In this scenario you create your own custom JavaScript-based widgets that can load various information about the user's positions, place new orders, and perform just about any other action. For example, you can create a widget that displays the user's most frequently traded securities; or a widget that displays the list of users' positions with the highest profit or highest loss.

## Trading API

This is the trader's API that invokes actions typically performed by trader's widgets: placing orders, getting quotes, configuring price alerts, and so forth. This API can be called from anywhere simply using your app's API key and a user's credentials.

{% content-ref url="/pages/-MCzCxyRXApXJOLVxiAD" %}
[Trading API](/rest-api/trading-api)
{% endcontent-ref %}


# Trading API


# Overview

Get started with Autoshares Trading API

## Introduction

Trading API is designed to perform trading operations like placing orders, getting quotes, configuring price alerts.

The documentation for trading API is structured by categories, each representing a different set of functionality. The first section — **Authentication** — covers the process of generating authentication tokens that must be provided in the header of all other requests. All subsequent sections cover different aspects of Autoshares Trader, ranging from order placement to submitting user feedback.

Each API request is described on two pages; the first page introduces you to the API request and explains how to properly use the request parameters and the typical mistakes to avoid; the second page is strictly technical, outlining all of the header and body parameters along with their types, the range of request status codes, as well as all possible responses:

![](https://502165580-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCyqRZZNe2CYk5yMleX%2Fsync%2Fbbec771089a963d60ba18fc9f9bb634c0a80404a.png?generation=1595567351295912\&alt=media)


# Authentication

Perform initial authentication to retrieve the authentication token used in all other requests


# Single-Factor Authentication

Perform regular authentication in Autoshares Trader

## Overview

All API requests in Autoshares Trader require a unique authentication token that must be provided in the request header. Without this token, it's impossible to place orders, retrieve charts, create users, etc. To get the token, use the following API endpoint:

```
POST APIBaseURL + /token
```

{% hint style="info" %}
API base URL is unique for every environment; if you're testing the API on our demo environment, the final endpoint URL will be as follows:\
[`https://pub-api-et-demo-prod.etnasoft.us/api/token`](https://pub-api-et-demo-prod.etnasoft.us/api/token)
{% endhint %}

The header of the request must contain the following three parameters:

1. **Et-App-Key**. This is the API key of your company that can be found it in the BO Companies widget. When editing the company's settings, navigate to the WebApi tab and look for the required key (it could be a key for the web terminal, the mobile app, or a custom key).
2. **Username**. This is the username of the user on whose behalf all future requests will be made.
3. **Password**. This is the password of the user on whose behalf all future requests will be made.

## CURL

The following is a sample CURL for performing single-factor authentication:

```
curl -X POST "https://pub-api-et-demo-prod.etnasoft.us/api/token" \
    -H "Username: yourUsername" \
    -H "Password: yourPassword" \
    -H "Et-App-Key: yourEttAppKey" \
    -H "Content-Length: 0"
```

## Response

In response to this API request, you'll receive a JSON file that contains the token. Here's an example of such response:

```javascript
{
    "State": "Succeeded",
    "Token": "FAKETokenAAKTQZR0F5K0OY5sfsWcd9rwAAAAACAAAAAAAQZgA/M8HtnoEJR0UxEDagAAAAAOgAAAAAIAACAAAACApaOit8LbBxTVxJXceMgzvN+"
}
```

where:

| Parameter | Description                                                                                                                     |
| --------- | ------------------------------------------------------------------------------------------------------------------------------- |
| State     | This is the state of the request. Usually the value is set to `Succeeded`, meaning that the request has been successfully made. |
| Token     | This is the token that must be provided in all subsequent API requests as the authentication bearer token.                      |

{% hint style="info" %}
The authorization token lifetime is 24 hours.
{% endhint %}

## Common Mistakes

Here are some of the common mistakes that developers make when requesting a token:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Incorrect or Missing User Credentials

If you specify the wrong user credentials or fail to include them in the request header, you'll get the following error:

```javascript
{
    "State": "Failed",
    "Step": "BaseAuthentication",
    "Reason": "Invalid credentials"
}
```

## Sample Code

To see how initial authentication can be performed in code, feel free to examine our [sample requests](/rest-api/trading-api/code-samples) in a dedicated article.

In the following article we provide in-depth coverage of the syntax for this API request.


# Syntax

## Get token

```
POST /token
```

### Description

This API endpoint returns the authentication token that is used in all other API requests.

### Parameters

| Type       | Name                              | Description                                                                                            | Schema | Default          |
| ---------- | --------------------------------- | ------------------------------------------------------------------------------------------------------ | ------ | ---------------- |
| **Header** | **Authorization**   *optional*    | This is the authorization token that must be provided in the header of all requests except this one.   | string | `""`             |
| **Header** | **Et-App-Key**   *required*       | This is your app’s unique key that can be retrieved from the BO Companies widget in Autoshares Trader. | string |                  |
| **Header** | **Password**   *optional*         | The password of the user on whose behalf the authentication is being performed.                        | string | `"testpassword"` |
| **Header** | **PinCode**   *optional*          | This is the user’s pincode.                                                                            | string | `""`             |
| **Header** | **Username**   *optional*         | This is the name of the user on whose behalf the authentication is being performed.                    | string | `"testusername"` |
| **Header** | **VerificationCode**   *optional* | This is the verification code sent by email or SMS (the second step of 2-FA).                          | string | `""`             |

### Responses

| HTTP Code | Description                                                                                                                                                                                                                                            | Schema     |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- |
| **200**   | The authentication is complete and the provided token can be used in other API requests.                                                                                                                                                               | No Content |
| **202**   | Several authentication steps have been taken, but the server is expecting additional parameters (like the verification code). Use the token from the response and provide the required additional parameters to complete the authentication procedure. | No Content |
| **401**   | The access level of the provided authorization token is not sufficient to perform this operation.                                                                                                                                                      | No Content |

### Produces

* `State`
* `Step`
* `Reason`
* `Token`

### Example HTTP response

#### Response 200

```javascript
{
  "State" : "Succeeded",
  "Token" : "VGhpcyBpcyBleGFtcGxlIHRva2Vu..."
}
```

#### Response 202

```javascript
{
  "Step" : "SecutityPin",
  "Reason" : "Invalid pin",
  "State" : "Expecting",
  "Token" : "VGhpcyBpcyBleGFtcGxlIHRva2Vu...."
}
```

#### Response 401

```javascript
{
  "State" : "Failed",
  "Step" : "SecutityPin",
  "Reason" : "Invalid pin"
}
```


# Two-Factor Authentication

Perform two-factor authentication in Autoshares Trader

## Overview

All API requests in Autoshares WebTrader requires a unique authentication token that must be provided in the request header. Without this token, it's impossible to place orders, retrieve charts, create users, etc. To get the token, use the following API endpoint:

```
POST APIBaseURL + /token
```

{% hint style="info" %}
API base URL is unique for every environment; if you're testing the API on our demo environment, the final endpoint URL will be as follows:\
[`https://pub-api-et-demo-prod.etnasoft.us/api/token`](https://pub-api-et-demo-prod.etnasoft.us/api/token)
{% endhint %}

If the user's account has two-factor authentication enabled, the authentication process involves two separate requests:

1. First request: retrieval of the interim token;
2. Second request: retrieval of the authentication token.

### First Request

The header of the first request must contain the following three parameters:

1. **Et-App-Key**. This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Username**. This is the username of the user on whose behalf all future requests will be made.
3. **Password**. This is the password of the user on whose behalf all future requests will be made.

### Second Request

The header of the second request must contain the following three parameters:

1. **Et-App-Key**. This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Username**. This is the username of the user on whose behalf all future requests will be made.
3. **Password**. This is the password of the user on whose behalf all future requests will be made.
4. **VerificationCode** (header). This is the verification code that's sent by email or as an SMS message (depending on the the user's settings).
5. **Authorization** (header). This is the authorization token that will be returned in response to the initial request.

## CURL

The following are sample CURLs for performing two-factor authentication:

### First Request

```
curl -X POST "https://pub-api-et-demo-prod.etnasoft.us/api/token" \
    -H "Username: yourUsername" \
    -H "Password: yourPassword" \
    -H "Et-App-Key: yourEttAppKey" \
    -H "Content-Length: 0"
```

### Second Request

```
curl -X POST "https://pub-api-et-demo-prod.etnasoft.us/api/token" \
    -H "Username: yourUsername" \
    -H "Password: yourPassword" \
    -H "Authorization: Bearer {tokenFromTheFirstRequest}" \
    -H "VerificationCode: {codeFromEmailOrSMS}" \
    -H "Et-App-Key: yourEttAppKey" \
    -H "Content-Length: 0"
```

## Response

In response to the first API request, you'll receive a JSON file that contains the interim token. Here's an example of such response:

```javascript
{
    'Step': 'VerificationCode', 
    'Reason': 'Expecting confirmation code', 
    'State': 'Expecting', 
    'Token': 'someToken+zrIbQGZl8sBT1LWQEY38SQ=='
}
```

Also notice that the response contains the **Token** parameter that must be used in the subsequent request as a header parameter in the following format:

* `"Authorization" : "Bearer + tokenFromTheFirstRequest"`

In total, the header of the second request must contain five parameters:

1. **Username** (identical to the first request);
2. **Password** (identical to the first request);
3. **Et-App-Key** (identical to the first request);
4. **Authorization** (Bearer + token);
5. **VerificationCode** (the code received by email or SMS).

In response to the second request, you'll receive the following JSON dictionary:

```javascript
{
  "State": "Succeeded",
  "Token": "someToken"
}
```

The token parameter from the second request must be provided as the `Authorization` parameter in all future requests like placing orders, retrieving user's positions, etc.

{% hint style="info" %}
The authorization token lifetime is 24 hours.
{% endhint %}

## Common Mistakes

Here are some of the common mistakes that developers make when requesting an authorization token:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Incorrect or Missing User Credentials

If you specify the wrong user credentials or fail to include them in the request header, you'll get the following error:

```javascript
{
    "State": "Failed",
    "Step": "BaseAuthentication",
    "Reason": "Invalid credentials"
}
```

In the following article we outline in detail all of the required and optional header parameters, the range of response status codes, as well as a comprehensive list of all possible responses.

### Failure to Provide the Authorization Token with Two-Factor Authentication

Another common mistake that developers make during authentication is failure to provide the authorization token that is retrieved during the first request of a two-factor authentication. If the token is not provided in the request header, the entire authentication process will be rendered corrupt:

```javascript
{'State': 'Failed', 'Step': 'VerificationCode', 'Reason': 'Corrupted ticket'}
```

## Sample Code

To see how two-factor authentication can be performed in code, feel free to examine our [sample requests](/rest-api/trading-api/code-samples/two-factor-autentication) in a dedicated article.

In the following article we provide in-depth coverage of the syntax for this API request.


# Syntax

## Get token

```
POST /token
```

### Description

This API endpoint returns the authentication token that is used in all other API requests.

### Parameters

| Type       | Name                              | Description                                                                                            | Schema | Default          |
| ---------- | --------------------------------- | ------------------------------------------------------------------------------------------------------ | ------ | ---------------- |
| **Header** | **Authorization**   *optional*    | This is the authorization token that must be provided in the header of all requests except this one.   | string | `""`             |
| **Header** | **Et-App-Key**   *required*       | This is your app’s unique key that can be retrieved from the BO Companies widget in Autoshares Trader. | string |                  |
| **Header** | **Password**   *optional*         | The password of the user on whose behalf the authentication is being performed.                        | string | `"testpassword"` |
| **Header** | **PinCode**   *optional*          | This is the user’s pincode.                                                                            | string | `""`             |
| **Header** | **Username**   *optional*         | This is the name of the user on whose behalf the authentication is being performed.                    | string | `"testusername"` |
| **Header** | **VerificationCode**   *optional* | This is the verification code sent by email or SMS (the second step of 2-FA).                          | string | `""`             |

### Responses

| HTTP Code | Description                                                                                                                                                                                                                                            | Schema     |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- |
| **200**   | The authentication is complete and the provided token can be used in other API requests.                                                                                                                                                               | No Content |
| **202**   | Several authentication steps have been taken, but the server is expecting additional parameters (like the verification code). Use the token from the response and provide the required additional parameters to complete the authentication procedure. | No Content |
| **401**   | The access level of the provided authorization token is not sufficient to perform this operation.                                                                                                                                                      | No Content |

### Produces

* `State`
* `Step`
* `Reason`
* `Token`

### Example HTTP response

#### Response 200

```javascript
{
  "State" : "Succeeded",
  "Token" : "VGhpcyBpcyBleGFtcGxlIHRva2Vu..."
}
```

#### Response 202

```javascript
{
  "Step" : "SecutityPin",
  "Reason" : "Invalid pin",
  "State" : "Expecting",
  "Token" : "VGhpcyBpcyBleGFtcGxlIHRva2Vu...."
}
```

#### Response 401

```javascript
{
  "State" : "Failed",
  "Step" : "SecutityPin",
  "Reason" : "Invalid pin"
}
```


# User Registration

Create new users


# Get Required Fields

Get a set of parameters that must be specified when creating users

## Introduction

This GET endpoint enables you to retrieve the list of required fields for registration of users. This might be useful for determining the required text fields and drop-down menus when designing a custom UI for user registration.

There are three required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. You can retrieve this key in the **BO Companies** widget on the WebApi tab of the company modification window.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "v1.0".

The request ought to be sent to the following URL:

```
GET apiURL/v1.0/registration/schema
```

## Response

In response to this API request, you will receive a collection of required parameters split into different categories. Each parameter will have a corresponding `Required` parameter, indicating if it must be provided during registration.

```javascript
[
  {
    "UnitName": "Credentials",
    "Fields": [
      {
        "FieldName": "Login",
        "Required": true
      },
      {
        "FieldName": "Email",
        "Required": true
      },
      {
        "FieldName": "Password",
        "Required": true
      }
    ]
  },
  {
    "UnitName": "Name",
    "Fields": [
      {
        "FieldName": "FirstName",
        "Required": true
      },
      {
        "FieldName": "LastName",
        "Required": true
      },
      {
        "FieldName": "MiddleName",
        "Required": false
      },
      {
        "FieldName": "Suffix",
        "Required": false,
        "Options": [
          "NoSuffix",
          "Jr",
          "Sr",
          "Second",
          "Third",
          "Fourth"
        ]
      }
    ]
  }
]
```

## Common Mistakes

Here are some of the common mistakes that developers make when requesting required registration parameters.

## Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Register a User

Register a new user in Autoshares Trader

## Introduction

This POST endpoint enables you to register a new user. Before doing so, first learn which parameters are required during registration via the following endpoint:

{% content-ref url="/pages/-MCzCxyZE4-DzYTAs0jY" %}
[Get Required Fields](/rest-api/trading-api/user-registration/get-required-fields)
{% endcontent-ref %}

There are five required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. You can retrieve this key in the **BO Companies** widget on the WebApi tab of the company modification window.
2. **Authorization** (header). This is the authorization token from the very first [token request](https://github.com/etnatrader/brokerHelp/tree/71413a5ba46dc7f36c6b6a1efe3b529c20afcd6d/rest-api/trading-api/authentication/requesting-tokens/README.md).
3. **origin** (header). This is the URL of the domain from which the request is made. The value must be consistent with the value of the hostname in the environment settings (BO Companies - Edit - hostname).
4. **API version** (path). Unless necessary, leave it at "v1.0".
5. **registrationRequest** (body). This is JSON dictionary containing information about the new user.

### Body Syntax

The body of the request represents a JSON dictionary with required parameters.

```javascript
{
  "Credentials": {
    "Login": "roberttorro",
    "Email": "robert@someguy.com",
    "Password": "123456789Ab"
  },
  "Name": {
    "FirstName": "Robert",
    "LastName": "Torro",
    "MiddleName": "J.",
    "Suffix": "NoSuffix"
  }
}
```

The request ought to be sent to the following URL:

```
POST apiURL/v1.0/registration/
```

## Response

In response to this request, if the user was successfully added, you will receive a JSON dictionary containing information about the new user:

```javascript
{
  "UserId": 16786,
  "FirstName": "Robert",
  "MiddleName": "J",
  "LastName": "Torro",
  "Login": "roberttorro",
  "Email": "robert@someguy.com",
  "AddedDate": "2020-02-20T12:59:13.9566533Z",
  "Salutation": "NoSalutation",
  "Suffix": "NoSuffix"
}
```

## Common Mistakes

Here are some of the common mistakes that developers make when registering new users.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Failure to Specify All Of the Required Parameters

If you fail to specify all of the parameters required for registration of users in your company, you will receive the 409 status code as well as an error message explaining the reason for registration failure. For example, if we omit the email, we will get the following error:

```javascript
{
  "Errors": [
    "Email was not set."
  ],
  "Reason": "SchemaValidationFail"
}
```


# Managing Users

Get a user's information with Autoshares Trader API


# Get User's Info

Get a user's information by their Autoshares Trader identifier

## Overview

This endpoint enables you to request a user's information by supplying their unique Autoshares Trader identifier in the header. In response, you'll receive a JSON file with the user's information.

There are four required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication/requesting-tokens).
3. **Internal user ID** (path). This is the numeric ID of the user  whose information you'd like to receive.&#x20;
4. **API version** (path). Unless necessary, leave it at "1.0"

The user information request must be sent to the following URL:

```
apiURL/v1.0/users/644(userID)/info
```

## Response

In response, you'll receive a JSON file with the information about this user:

```javascript
{
    "UserId": 644, //this is the ID from the path
    "FirstName": "Robert",
    "MiddleName": "",
    "LastName": "Zakiev",
    "Login": "robert.zak",
    "Email": "someEmail@autoshares.com",
    "AddedDate": "2019-01-14T12:27:37.6205663Z",
    "Salutation": "NoSalutation",
    "Suffix": "NoSuffix"
}
```

where:

| Parameter  | Description                                                                 |
| ---------- | --------------------------------------------------------------------------- |
| UserId     | This is the internal ID of the user in Autoshares Trader.                   |
| FirstName  | This is the first name of the user.                                         |
| MiddleName | This is the middle name of the user.                                        |
| LastName   | This is the last name of the user.                                          |
| Login      | This is the user's login in Autoshares Trader.                              |
| Email      | This is the email address of the user in Autoshares Trader.                 |
| AddedDate  | This is the date on which this user account was added to Autoshares Trader. |
| Salutation | This is a special salutation used to address this user in emails.           |
| Suffix     | This is the suffix used when addressing the user (Jr, Sr, I, II, III, etc.) |

## Common Mistakes

Here are some of the common mistakes that developers make when requesting a user's information:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Specifying the Regular User ID Instead of the Internal One

Another common mistake when making this request is specifying the regular user ID instead of the internal Autoshares Trader ID. Doing so will result in the 400 status code and the following error message:

```javascript
{
    "Message": "The request is invalid."
}
```

In the following article we provide in-depth coverage of the syntax for this API request.


# Syntax

## Get user info by Id

```
GET /v{version}/users/{userId}/info
```

### Description

This API endpoint returns detailed information about the user.

### Parameters

| Type       | Name                           | Description                                                                                                                                                                                                                   | Schema          | Default |
| ---------- | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------- |
| **Header** | **Authorization**   *required* | This is the authorization token that you retrieved from the first endpoint (/token).                                                                                                                                          | string          |         |
| **Header** | **Et-App-Key**   *required*    | This is your app’s unique key that can be retrieved from the BO Companies widget in Autoshares Trader.                                                                                                                        | string          |         |
| **Path**   | **userId**   *required*        | This is the unique identifier of the user in Autoshares Trader. If the information is requested about the user whose Authorization token is provided in the request, simply use the ‘@me’ directive instead of the user’s ID. | integer (int32) |         |
| **Path**   | **version**   *required*       | This is the version of the API. Unless you have multiple versions of Autoshares Trader’s API deployed in your environment, leave it at 1.0.                                                                                   | string          | `"1"`   |

### Responses

| HTTP Code | Description                                                                                       | Schema                                                                                               |
| --------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **200**   | The request is successful, JSON data with the user’s information is returned.                     | [UserInfoModel](/rest-api/trading-api/managing-users/get-users-info/users_getuserinfo#userinfomodel) |
| **401**   | The access level of the provided authorization token is not sufficient to perform this operation. | No Content                                                                                           |
| **403**   | The provided Et-App-Key is incorrect.                                                             | No Content                                                                                           |
| **422**   | A validation error occurred while processing the request.                                         | No Content                                                                                           |
| **500**   | Internal server error                                                                             | No Content                                                                                           |

### Produces

* `application/json`
* `text/json`


# Get User's Trading Settings

Retrieve default trading settings of a specific user

## Overview

This GET endpoint enables you to request a user's default trading

settings by providing their unique identifier in the header. In response, you'll receive a JSON file with the user's information.

There are four required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication/requesting-tokens).
3. **userID** (path). This is the internal ID of the user  whose settings you'd like to retrieve. If you're sending the request on behalf of the user whose authorization token is used to perform the request, set this parameter to `@me`.
4. **API version** (path). Unless necessary, leave it at "1.0".

The user information request must be sent to the following URL:

```
GET apiURL/v1.0/users/{userID}/settings/trading
```

## Response

In response, you'll receive a JSON file containing the default trading settings of this user:

```javascript
{
  "Instruments": {
    "Stocks": {
      "OrderType": "Market",
      "Quantity": 100,
      "DurationType": "Day",
      "ExchangeType": "NSDQ",
      "AON": false
    },
    "Options": {
      "OrderType": "Market",
      "Quantity": 50,
      "DurationType": "Day",
      "ExchangeType": "Auto",
      "AON": false,
      "Spreads": 1
    },
    "Forex": {
      "OrderType": "Market",
      "Quantity": 1,
      "DurationType": "Day",
      "ExchangeType": "Auto",
      "AON": false
    }
  },
  "QuantityStepIncrementMultiplier": 1,
  "PriceStepIncrementMultiplier": 1,
  "SkipVerifyOrder": "Show",
  "SkipVerifyCancelOrder": "Show",
  "SkipVerifyClosingPosition": "Show",
  "SkipVerifyOrderReplace": "Show",
  "SkipPlaceOrderStatus": "Show",
  "SkipCancelOrderStatus": "Show",
  "SkipClosingPositionStatus": "Show",
  "SkipOrderReplaceStatus": "Show",
  "MaxStocksQuantity": 10000000,
  "MaxOptionsQuantity": 99
}
```

where:

| Parameter                       | Description                                                                                                                                                                                            |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Instruments                     | An array of settings for each security type.                                                                                                                                                           |
| OrderType                       | The default order type that is set whenever a security of the specified type is traded.                                                                                                                |
| Quantity                        | The default number of securities of an order for the specified security type.                                                                                                                          |
| DurationType                    | The default duration of an order for the specified security type.                                                                                                                                      |
| ExchangeType                    | The default execution venue for the specified security type.                                                                                                                                           |
| AON                             | Indicates whether orders should be All-Or-None by default.                                                                                                                                             |
| QuantityStepIncrementMultiplier | The step by which the number of securities must be increased when placing an order. Applicable only if the UI features up and down arrows via which the quantity can either be increased or decreased. |
| PriceStepIncrementMultiplier    | The step by which the limit or stop price must be increased when placing an order. Applicable only if the UI features up and down arrows via which the price can either be increased or decreased.     |
| SkipVerifyOrder                 | Indicates whether the order verification view should be displayed when placing an order. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                        |
| SkipVerifyCancelOrder           | Indicates whether the order verification view should be displayed when cancelling an order. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                     |
| SkipVerifyClosingPosition       | Indicates whether the order verification view should be displayed when closing an existing position. Possible values: Show, DoNotShow, ShowIfAnError.                                                  |
| SkipVerifyOrderReplace          | Indicates whether the order verification view should be displayed when replacing an order. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                      |
| SkipPlaceOrderStatus            | Indicates whether the order status view should be displayed after an order has been placed. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                     |
| SkipCancelOrderStatus           | Indicates whether the order status view should be displayed after an order has been cancelled. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                  |
| SkipClosingPositionStatus       | Indicates whether the order status view should be displayed after a positions has been closed. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                  |
| SkipOrderReplaceStatus          | Indicates whether the order status view should be displayed after an order has been replaced. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                   |
| MaxStocksQuantity               | The maximum number of securities that can be traded in a single stock order.                                                                                                                           |
| MaxOptionsQuantity              | The maximum number of securities that can be traded in a single option order.                                                                                                                          |

## Common Mistakes

Here are some of the common mistakes that developers make when requesting a user's trading settings:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Get Mobile App Settings

Retrieve settings for Autoshares Trader for iOS and Android

## Overview

This GET endpoint enables you to retrieve the mobile settings for Autoshares Trader for iOS and Android. These settings can and should be used to determine how the mobile apps function and whether or not they should function in the first place (perhaps the mobile app's version is obsolete and must be updated before working).

{% hint style="info" %}
The selection of available settings can always be extended or contracted. If you would like to add extra settings that can be leveraged in your mobile app, contact our [support team](mailto:support@autoshares.com) and they will add them for you.
{% endhint %}

There are two required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **API version** (path). Unless necessary, leave it at "1.0".

The user information request must be sent to the following URL:

```
GET apiURL/v1.0/applications/mobile/settings
```

### Response

In response to this request, you will receive a JSON object containing the current mobile settings:

```javascript
{
  "Settings": {
    "accountOpeningHTML": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Parent Page</title>\r\n    <style>\r\n        body {\r\n            height: 100vh;\r\n            width: 100vw;\r\n            box-sizing: border-box;\r\n            overflow: hidden;\r\n            margin: 0;\r\n        }\r\n        #accountOpenning {\r\n            height: 100vh;\r\n            width: 100vw;\r\n        }\r\n    </style>\r\n    <script type=\"text/javascript\" src=\"https://ao-et-demo-prod.etnasoft.us/assets/account.opening.client.js\"></script>\r\n</head>\r\n<body>\r\n    <iframe\r\n        id=\"accountOpenning\"\r\n        src=\"https://ao-et-demo-prod.etnasoft.us/\"\r\n        frameborder=\"0\"\r\n        name=\"accountOpenning\"\r\n        scrolling='auto',\r\n        allowfullscreen=true\r\n        allow=\"geolocation;\"\r\n        token='%token%'\r\n    ></iframe>\r\n    <script>\r\n        const\r\n            frame = document.getElementById('accountOpenning'),\r\n            accounOpeningClient = new ETNA.AccounOpeningClient(frame),\r\n            logger = accounOpeningClient.setLogger(data => {\r\n                if (data.action === 'submit') {\r\n                    window.location.replace(\"http://accountSubmitted\");\r\n                    logger.remove();\r\n                    return;\r\n                    //Make custom actions here\r\n                }\r\n                if (data.type === 'info'){\r\n                    console.log(data);\r\n                    window.location.replace(\"http://accountSubmitted\");\r\n                    return;\r\n                }\r\n                if (data.type === 'error') return console.error(data);\r\n            }, true);\r\n            var accountId = '%AccountID%';\r\n            var clearingFirm = '%ClearingFirm%';\r\n            console.log(accountId);\r\n            if(accountId === 'null'){\r\n                //For create account\r\n                accounOpeningClient.createAccount();\r\n            } else {\r\n                //For create update\r\n                accounOpeningClient.updateAccount(accountId, clearingFirm);\r\n            }\r\n    </script>\r\n</body>\r\n</html>",
    "compatibleAndroidVersionCode": "59",
    "compatibleIOSVersion": "2.33.3",
    "defaultLoginMode": "1",
    "defaultOrdersPageSize": "15",
    "enableAddAccountButton": "1",
    "enableFundAccountButton": "0",
    "enablePaperTradingBanner": "1",
    "enableSeparateOptionTradeButton": "0",
    "enableSignUpButton": "1",
    "enableTouchID": "1",
    "enableTrailingOrders": "1",
    "recoverButtonSettings": "{\"environments\":[1,1]}",
    "securitySubscriptionType": "0",
    "signUpButtonSettings": "{\"environments\":[1,1]}",
    "tradeButtonAppearanceType": "1",
    "tryDemoButtonSettings": "{\"environments\":[0,1]}",
    "PinEnabled": false,
    "maxNumberOrderLegs": "4"
  }
}
```

where:

| Parameter                    | Description                                                                         |
| ---------------------------- | ----------------------------------------------------------------------------------- |
| accountOpeningHTML           | The HTML that is prompted whenever a trader attempts to open a new trading account. |
| compatibleAndroidVersionCode | The minimum supported version of the Android app.                                   |
| compatibleIOSVersion         | The minimum supported version of the iOS app.                                       |

### Common Mistakes

Here are some of the common mistakes that developers make when requesting mobile settings:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Get User's Exchanges

Retrieve the list of exchanges available to a specific user

## Overview

This GET endpoint enables you to fetch the list of exchanges available to a specific user.

There are four required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication/requesting-tokens).
3. **userID** (path). This is the internal ID of the user  whose exchanges you'd like to list. If you're sending the request on behalf of the user whose authorization token is used to perform the request, set this parameter to `@me`.
4. **API version** (path). Unless necessary, leave it at "1.0".

The user information request must be sent to the following URL:

```
GET apiURL/v1.0/users/{userID}/exchanges
```

### Response

In response, you'll receive a JSON file containing the list of exchanges available to that user:

```javascript
[
  "NYSE",
  "KNIGHT",
  "NSDQ",
  "Auto",
  "VIRTEX",
  "FXCM",
  "ARCA",
  "BATS",
  "MNGD",
  "EDGX"
]
```

{% hint style="info" %}
If a trader selects **`Auto`** when placing an order, this order will be routed to the most appropriate exchange.
{% endhint %}

### Common Mistakes

Here are some of the common mistakes that developers make when attempting to retrieve the list of exchanges available to a specific user.

#### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Modify User's Settings

Updated a user's default trading settings

## Overview

This PUT endpoint enables you to request a user's default settings by providing their unique identifier in the header. In response, you'll receive a JSON file with the user's information.

There are four required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication/requesting-tokens).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **userID** (path). This is the internal ID of the user  whose settings you'd like to retrieve. If you're sending the request on behalf of the user whose authorization token is used to perform the request, set this parameter to `@me`.
5. **tradingSettings** (body). This is a JSON object containing the updated trading settings for this user.

### Body Syntax

The body of the request represents a JSON object containing the new trading settings for this user.

```javascript
{
  "Instruments": {
    "Stocks": {
      "OrderType": "Market",
      "Quantity": 100,
      "DurationType": "Day",
      "ExchangeType": "NSDQ",
      "AON": false
    },
    "Options": {
      "OrderType": "Market",
      "Quantity": 50,
      "DurationType": "Day",
      "ExchangeType": "Auto",
      "AON": false,
      "Spreads": 1
    },
    "Forex": {
      "OrderType": "Market",
      "Quantity": 1,
      "DurationType": "Day",
      "ExchangeType": "Auto",
      "AON": false
    }
  },
  "QuantityStepIncrementMultiplier": 1,
  "PriceStepIncrementMultiplier": 1,
  "SkipVerifyOrder": "Show",
  "SkipVerifyCancelOrder": "Show",
  "SkipVerifyClosingPosition": "Show",
  "SkipVerifyOrderReplace": "Show",
  "SkipPlaceOrderStatus": "Show",
  "SkipCancelOrderStatus": "Show",
  "SkipClosingPositionStatus": "Show",
  "SkipOrderReplaceStatus": "Show",
  "MaxStocksQuantity": 10000000,
  "MaxOptionsQuantity": 99
}
```

where:

| Parameter                       | Description                                                                                                                                                                                            |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Instruments                     | An array of updated settings for each security type.                                                                                                                                                   |
| OrderType                       | The default order type that is set whenever a security of the specified type is traded.                                                                                                                |
| Quantity                        | The default number of securities of an order for the specified security type.                                                                                                                          |
| DurationType                    | The default duration of an order for the specified security type.                                                                                                                                      |
| ExchangeType                    | The default execution venue for the specified security type.                                                                                                                                           |
| AON                             | Indicates whether orders should be All-Or-None by default.                                                                                                                                             |
| QuantityStepIncrementMultiplier | The step by which the number of securities must be increased when placing an order. Applicable only if the UI features up and down arrows via which the quantity can either be increased or decreased. |
| PriceStepIncrementMultiplier    | The step by which the limit or stop price must be increased when placing an order. Applicable only if the UI features up and down arrows via which the price can either be increased or decreased.     |
| SkipVerifyOrder                 | Indicates whether the order verification view should be displayed when placing an order. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                        |
| SkipVerifyCancelOrder           | Indicates whether the order verification view should be displayed when cancelling an order. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                     |
| SkipVerifyClosingPosition       | Indicates whether the order verification view should be displayed when closing an existing position. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                            |
| SkipVerifyOrderReplace          | Indicates whether the order verification view should be displayed when replacing an order. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                      |
| SkipPlaceOrderStatus            | Indicates whether the order status view should be displayed after an order has been placed. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                     |
| SkipCancelOrderStatus           | Indicates whether the order status view should be displayed after an order has been cancelled. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                  |
| SkipClosingPositionStatus       | Indicates whether the order status view should be displayed after a positions has been closed. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                  |
| SkipOrderReplaceStatus          | Indicates whether the order status view should be displayed after an order has been replaced. Possible values: `Show`, `DoNotShow`, `ShowIfAnError`.                                                   |
| MaxStocksQuantity               | The maximum number of securities that can be traded in a single stock order.                                                                                                                           |
| MaxOptionsQuantity              | The maximum number of securities that can be traded in a single option order.                                                                                                                          |

The following is the final template for this request:

```
PUT apiURL/v1.0/users/{userID}/settings/trading
```

## Response

In response, you'll receive a JSON file containing the default trading settings of this user:

```javascript
{
  "Instruments": {
    "Stocks": {
      "OrderType": "Market",
      "Quantity": 100,
      "DurationType": "Day",
      "ExchangeType": "NSDQ",
      "AON": false
    },
    "Options": {
      "OrderType": "Market",
      "Quantity": 50,
      "DurationType": "Day",
      "ExchangeType": "Auto",
      "AON": false,
      "Spreads": 1
    },
    "Forex": {
      "OrderType": "Market",
      "Quantity": 1,
      "DurationType": "Day",
      "ExchangeType": "Auto",
      "AON": false
    }
  },
  "QuantityStepIncrementMultiplier": 1,
  "PriceStepIncrementMultiplier": 1,
  "SkipVerifyOrder": "Show",
  "SkipVerifyCancelOrder": "Show",
  "SkipVerifyClosingPosition": "Show",
  "SkipVerifyOrderReplace": "Show",
  "SkipPlaceOrderStatus": "Show",
  "SkipCancelOrderStatus": "Show",
  "SkipClosingPositionStatus": "Show",
  "SkipOrderReplaceStatus": "Show",
  "MaxStocksQuantity": 10000000,
  "MaxOptionsQuantity": 99
}
```

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to update a user's trading settings:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Update User's Password

Update the password of a user

## Overview

This PUT endpoint enables you to update the password of an existing user by providing the old and the new password. This operation is different from the [password reset process](/rest-api/trading-api/password-reset) where the old password is unknown but can be reset via email.

There are four required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication/requesting-tokens).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **userID** (path). This is the internal ID of the user  whose password you'd like to updated. If the request is sent on behalf of the user whose authorization token is used to perform the request, set this parameter to `@me`.
5. **userPassword** (body). This is a JSON object containing the the old and the new password of the user.

### Body Syntax

The body of the request represents a JSON object containing the old, the new, and the confirmation of the new password.

```javascript
{
  "OldPassword": "jqwejr09er9wcwek",
  "Password": "ekrf09238f9a9j88aj49f8jpa983hp89f",
  "PasswordConfirm": "ekrf09238f9a9j88aj49f8jpa983hp89f"
}
```

{% hint style="warning" %}
A user's password can only be updated by the user themselves. Even an administrator of the platform is not authorized to update traders' passwords.
{% endhint %}

The following is the final template for this request:

```
PUT apiURL/v1.0/users/{userID}/password/change
```

## Response

In response to this request, if the user's password was successfully updated, you will receive the 200 status code and no error message.

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to update a user's password:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Failure to Provide the Old Password

If you fail to provide the old password in the body of the request, you will receive the following error:

```javascript
{
  "Message": "Validation error occured while processing entity",
  "ModelState": {
    "userPassword.OldPassword": [
      "Password is required"
    ]
  }
}
```


# Trading Accounts

Get users' account information like the current balance and transaction history


# Get Account's Balance Info

Get balance information of a particular trading account

## Overview

This endpoint enables you to retrieve balance information of a particular trading account.

There are four required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication/requesting-tokens).
3. **Trading Account Number** (path). This is the numeric ID of the trading account whose information you'd like to retrieve. You can get the list of a user's trading accounts with [this API call](/rest-api/trading-api/user-accounts/list-users-accounts).
4. **API version** (path). Unless necessary, leave it at "1.0".

{% hint style="info" %}
Trading accounts are identical to clearing accounts.
{% endhint %}

The request ought to be sent to the following URL:

```
apiURL/v1.0/accounts/{tradingAccountNumber}/info
```

## Response

In response to this request, you'll receive a JSON file with all of the pertinent information about the trading account:

```javascript
{
    "cash": 976510.75,
    "netCash": 976510.75,
    "excess": 994654.45,
    "changeAbsolute": -571.5,
    "changePercent": -0.05700775140829844330933239,
    "equityTotal": 1001923.75,
    "pendingOrdersCount": 0,
    "netLiquidity": 25413,
    "stockLongMarketValue": 25413,
    "stockShortMarketValue": 0,
    "optionLongMarketValue": 0,
    "optionShortMarketValue": 0,
    "forexLongMarketValue": 0,
    "forexShortMarketValue": 0,
    "dayTrades": 0,
    "stockBuyingPower": 1989308.9,
    "optionBuyingPower": 994654.45,
    "forexBuyingPower": 1989308.9,
    "dayTradingBuyingPower": 3978617.8,
    "pendingCash": 0,
    "maintenanceMargin": 7692.3,
    "optionMaintenanceMargin": 0,
    "openPL": 1927.5,
    "closePL": 0,
    "marketValue": 25413
}
```

where:

| Parameter               | Description                                                                                                                                                                                                                                                                                                                                                      |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| cash                    | This is the amount of funds available on the trading account.                                                                                                                                                                                                                                                                                                    |
| netCash                 | This the amount of funds available on the account minus the options margin requirement.                                                                                                                                                                                                                                                                          |
| excess                  | <p>This is the amount of funds that can either be withdrawn or used to open new positions. This value is used as the basis for calculating buying power.</p><p><strong>Excess = Equity - TMMR - Pending Cash - Uncleared Cash</strong>, where TMMR - Total Maintenance Margin Requirement (the sum of margin requirements for all positions of this account)</p> |
| changeAbsolute          | This is the difference between the account's value and the account's equity at the closing of the previous trading session. The account's value is the sum of the available Cash and the aggregate market value of all long and short positions.                                                                                                                 |
| changePercent           | Identical to `changeAbsolute` but expressed in percentage terms.                                                                                                                                                                                                                                                                                                 |
| equityTotal             | This is the gross valuation of all equity on the trading account.                                                                                                                                                                                                                                                                                                |
| pendingOrdersCount      | This is the number of pending orders on the account.                                                                                                                                                                                                                                                                                                             |
| netLiquidity            | This is the amount of funds that will be available to the user after all active positions are terminated.                                                                                                                                                                                                                                                        |
| stockLongMarketValue    | This is the gross market value of all long stock positions on the trading account.                                                                                                                                                                                                                                                                               |
| stockShortMarketValue   | This is the gross market value of all short stock positions on the trading account.                                                                                                                                                                                                                                                                              |
| optionLongMarketValue   | This is the gross market value of all long option positions on the trading account.                                                                                                                                                                                                                                                                              |
| optionShortMarketValue  | This is the gross market value of all short option positions on the trading account.                                                                                                                                                                                                                                                                             |
| forexLongMarketValue    | This is the gross market value of all long forex positions on the trading account.                                                                                                                                                                                                                                                                               |
| forexShortMarketValue   | This is the gross market value of all short forex positions on the trading account.                                                                                                                                                                                                                                                                              |
| dayTrades               | This is the number of day trades that have been executed during the last five trading sessions (including the current one).                                                                                                                                                                                                                                      |
| stockBuyingPower        | This is the gross amount of stocks that can be purchased on this trading account, adjusted for the available margin debt.                                                                                                                                                                                                                                        |
| optionBuyingPower       | This is the gross amount of options that can be purchased on this trading account, adjusted for the available margin debt.                                                                                                                                                                                                                                       |
| forexBuyingPower        | This is the gross amount of forex positions that can be opened on this trading account, adjusted for the available margin debt.                                                                                                                                                                                                                                  |
| pendingCash             | This is the amount of funds reserved to complete pending transactions.                                                                                                                                                                                                                                                                                           |
| maintenanceMargin       | This is the minimum amount of equity that must be maintained in a margin account.                                                                                                                                                                                                                                                                                |
| optionMaintenanceMargin | This is the minimum amount of equity that must be maintained for option securities.                                                                                                                                                                                                                                                                              |
| openPL                  | This is the amount of unrealized profit or loss for all positions.                                                                                                                                                                                                                                                                                               |
| closePL                 | This is the amount of realized profit or loss during the current trading session.                                                                                                                                                                                                                                                                                |
| marketValue             | This is the market value of all open long and short positions.                                                                                                                                                                                                                                                                                                   |

#### Common Mistakes

Here are some of the common mistakes that developers make when requesting the balance information of a particular trading account:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Attempting to Use @me to Get the User's Account Balance Information

Even if the user has one trading account, it's not possible to get the balance information of this single account using the @me directive. Attempting to do that will lead to the 400 status code and the following error:

```javascript
{
    "Message": "The request is invalid."
}
```

In the following article we provide in-depth coverage of the syntax for this API request.


# Syntax

## Get account balance info

```
GET /v{version}/accounts/{accountId}/info
```

### Description

This API request returns the balance information of a particular trading account

### Parameters

| Type       | Name                           | Description                                                                                                                                 | Schema          | Default |
| ---------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------- |
| **Header** | **Authorization**   *required* | This is the authorization token that you retrieved from the first endpoint (/token).                                                        | string          |         |
| **Header** | **Et-App-Key**   *required*    | This is your app’s unique key that can be retrieved from the BO Companies widget in Autoshares Trader.                                      | string          |         |
| **Path**   | **accountId**   *required*     | This is the unique identifier of the trading account in Autoshares Trader.                                                                  | integer (int32) |         |
| **Path**   | **version**   *required*       | This is the version of the API. Unless you have multiple versions of Autoshares Trader’s API deployed in your environment, leave it at 1.0. | string          | `"1"`   |

### Responses

| HTTP Code | Description                                                                                       | Schema                          |
| --------- | ------------------------------------------------------------------------------------------------- | ------------------------------- |
| **200**   | Returns a dictionary with the balance information of the trading account                          | < string, number (double) > map |
| **401**   | The access level of the provided authorization token is not sufficient to perform this operation. | No Content                      |
| **403**   | The provided Et-App-Key is incorrect.                                                             | No Content                      |
| **422**   | A validation error occurred while processing the request.                                         | No Content                      |
| **500**   | Internal server error                                                                             | No Content                      |

### Produces

* `application/json`
* `text/json`


# Get Account's History

Get transaction history for a particular trading account

## Overview

This endpoint enables you to retrieve the historical value of a particular trading account.

There are seven required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication/requesting-tokens).
3. **Trading Account Number** (path). This is the numeric ID of the trading account whose historical value you'd like to retrieve. You can get the list of a user's trading accounts with [this API call](/rest-api/trading-api/user-accounts/list-users-accounts).
4. **API version** (path). Unless necessary, leave it at "1.0".
5. **startDate** (query). This is the starting date from which the account value history will be retrieved.
6. **endDate** (query). This is the end date until which the account value history will be retrieved.
7. **step** (query). This is the number of items that must be retrieved.

{% hint style="info" %}
The **step** parameter is currently ignored by the service. You can assign any value to it without affecting the content of the response.
{% endhint %}

This API request must be sent to the following URL:

```
apiURL/v1.0/accounts/accountNumber/history?startDate=2019-01-01T14:20:10.837Z&endDate=2019-02-08T14:20:10.837Z&step=5
```

## Response

In response to this request, you'll receive a JSON file with the list of account valuation throughout the specified period.

```javascript
[
    {
        "Date": "2019-01-14T00:00:00Z",
        "Value": 1000000
    },
    {
        "Date": "2019-01-15T00:00:00Z",
        "Value": 1000000
    },
    {
        "Date": "2019-01-16T00:00:00Z",
        "Value": 1000000
    },
    {
        "Date": "2019-01-17T00:00:00Z",
        "Value": 1000000
    },
    {
        "Date": "2019-01-18T00:00:00Z",
        "Value": 1000000
    },
    {
        "Date": "2019-01-22T00:00:00Z",
        "Value": 999534.25
    },
    {
        "Date": "2019-01-23T00:00:00Z",
        "Value": 999598.75
    },
    {
        "Date": "2019-01-24T00:00:00Z",
        "Value": 999400.75
    },
    {
        "Date": "2019-01-25T00:00:00Z",
        "Value": 1000183.75
    },
    {
        "Date": "2019-01-28T00:00:00Z",
        "Value": 999850.75
    },
    {
        "Date": "2019-01-29T00:00:00Z",
        "Value": 1001035.75
    },
    {
        "Date": "2019-01-30T00:00:00Z",
        "Value": 1001328.25
    },
    {
        "Date": "2019-01-31T00:00:00Z",
        "Value": 1001530.75
    },
    {
        "Date": "2019-02-01T00:00:00Z",
        "Value": 1001488.75
    }
]
```

where:

| Parameter | Description                           |
| --------- | ------------------------------------- |
| Date      | The precise date on the valuation     |
| Value     | The value of the account for the date |

## Common Mistakes

Here are some of the common mistakes that developers make when requesting the historical value of a particular trading account:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Incorrect or Missing Query Parameters

If the query parameters are missing or incorrectly specified , the following error message will be returned:

```javascript
{
    "Message": "No HTTP resource was found that matches the request URI 'https://pub-api-et-demo-prod.etnasoft.us/api/v1.0/accounts/6303/history'."
}
```

In the following article we provide in-depth coverage of the syntax for this API request.


# Syntax

## Get account history

```
GET /v{version}/accounts/{accountId}/history
```

### Description

This API endpoint returns the historical value of a particular trading account throughout the specified period.

### Parameters

| Type       | Name                           | Description                                                                                                                                          | Schema             | Default |
| ---------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------- |
| **Header** | **Authorization**   *required* | This is the authorization token that you retrieved from the first endpoint (/token).                                                                 | string             |         |
| **Header** | **Et-App-Key**   *required*    | This is your app’s unique key that can be retrieved from the BO Companies widget in Autoshares Trader.                                               | string             |         |
| **Path**   | **accountId**   *required*     | This is the unique identifier of the trading account in Autoshares Trader.This is the unique identifier of the trading account in Autoshares Trader. | integer (int32)    |         |
| **Path**   | **version**   *required*       | This is the version of the API. Unless you have multiple versions of Autoshares Trader’s API deployed in your environment, leave it at 1.0.          | string             | `"1"`   |
| **Query**  | **endDate**   *required*       | The end of the target period (in UTC ticks).                                                                                                         | string (date-time) |         |
| **Query**  | **startDate**   *required*     | The start of the target period (in UTC ticks).                                                                                                       | string (date-time) |         |
| **Query**  | **step**   *required*          | Obsolete.                                                                                                                                            | integer (int32)    |         |

### Responses

| HTTP Code | Description                                                                                       | Schema                                                                                                                                 |
| --------- | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **200**   | Returns a dictionary with historical values of the trading account                                | < [AccountValueItem](/rest-api/trading-api/user-accounts/get-accounts-history/useraccounts_getaccounthistory#accountvalueitem) > array |
| **401**   | The access level of the provided authorization token is not sufficient to perform this operation. | No Content                                                                                                                             |
| **403**   | The provided Et-App-Key is incorrect.                                                             | No Content                                                                                                                             |
| **422**   | A validation error occurred while processing the request.                                         | No Content                                                                                                                             |
| **500**   | Internal server error                                                                             | No Content                                                                                                                             |

### Produces

* `application/json`
* `text/json`


# List User's Accounts

List all trading accounts of a particular user

## Overview

This endpoint enables you to list all trading accounts associated with the user whose authorization token was provided in the request header. Note that trading accounts are distinct from the regular user accounts.

There are four required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication/requesting-tokens).
3. **Internal user ID** (path). This is the numeric ID of the user  whose trading accounts you'd like to list.&#x20;
4. **API version** (path). Unless necessary, leave it at "1.0"

The user information request must be sent to the following URL:

```
apiURL/v1.0/users/644(userID)/accounts
```

{% hint style="info" %}
To list the trading accounts of the user whose authorization token you provide in the request header, replace the internal user ID with **@me**
{% endhint %}

## Response

As a response, you'll receive a JSON file with the trading accounts of this user:

```javascript
[
    {
        "Id": 644,
        "ClearingAccount": "6303", 
        "AccessType": "Full", 
        "MarginType": "DayTrader", 
        "Enabled": true
    }
]
```

where:

| Parameter       | Description                                                                                               |
| --------------- | --------------------------------------------------------------------------------------------------------- |
| Id              | This is the internal ID of the trading account in Autoshares Trader.                                      |
| ClearingAccount | This is the internal number of the trading account                                                        |
| AccessType      | This is the access type of the account. Possible values: 0 (Full), 1 (Read Only), (Close Positions Only). |
| MarginType      | This is the account type. Possible values: Full, Margin, DayTrader.                                       |

## Common Mistakes

Here are some of the common mistakes that developers make when requesting the list of trading accounts of a particular user:

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Specifying the Regular User ID Instead of the Internal One

Another common mistake when making this request is specifying the regular user ID instead of the internal Autoshares Trader ID. Doing so will result in the 400 status code and the following error message:

```javascript
{
    "Message": "The request is invalid."
}
```

In the following article we provide in-depth coverage of the syntax for this API request.


# Syntax

## Get user accounts

```
GET /v{version}/users/{userId}/accounts
```

### Description

This API endpoint returns the list of trading accounts bound to a particular user.

### Parameters

| Type       | Name                           | Description                                                                                                                                 | Schema          | Default |
| ---------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------- |
| **Header** | **Authorization**   *required* | This is the authorization token that you retrieved from the first endpoint (/token).                                                        | string          |         |
| **Header** | **Et-App-Key**   *required*    | This is your app’s unique key that can be retrieved from the BO Companies widget in Autoshares Trader.                                      | string          |         |
| **Path**   | **userId**   *required*        | This is the unique identifier of the user in Autoshares Trader.                                                                             | integer (int32) |         |
| **Path**   | **version**   *required*       | This is the version of the API. Unless you have multiple versions of Autoshares Trader’s API deployed in your environment, leave it at 1.0. | string          | `"1"`   |

### Responses

| HTTP Code | Description                                                                                                            | Schema                                                                                                                              |
| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **200**   | Successful request, returns the list of trading accounts bound to the user whose ID was specified in the request path. | < [UserAccountModel](/rest-api/trading-api/user-accounts/list-users-accounts/useraccounts_getuseraccounts#useraccountmodel) > array |
| **401**   | The access level of the provided authorization token is not sufficient to perform this operation.                      | No Content                                                                                                                          |
| **403**   | The provided Et-App-Key is incorrect.                                                                                  | No Content                                                                                                                          |
| **422**   | A validation error occurred while processing the request.                                                              | No Content                                                                                                                          |
| **500**   | Internal server error                                                                                                  | No Content                                                                                                                          |

### Produces

* `application/json`
* `text/json`


# Password Reset


# 1. Reset Trader's Password

Reset a trader's password

## Introduction

This POST endpoint enables you to reset a trader's password. Overall, there are three steps to resetting passwords in Autoshares Trader and this is the first step.

There are three required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **API version** (path). Unless necessary, leave it at "1.0".
3. **resource** (body). This is a JSON file that contains the login of the trader whose password must be reset as well as the answer to the secret question (if there is any).

### Request Body

The body of this request represents two parameters:

| Parameter            | Description                                                                                                                             |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| User                 | This is the login of the trader.                                                                                                        |
| SecretQuestionAnswer | This is the answer to the trader's secret question. If a trader has not selected a secret question during sign-up, omit this parameter. |

```javascript
{
  "User": "robert.zak",
  "SecretQuestionAnswer": "Peterson" //Optional
}
```

Here's the final template for this API request:

```
POST apiURL/v1.0/users/password/reset
```

## Response

In response to this API request, you will receive a JSON file either confirming successful password reset or enumerating errors that occurred in the process.

```
{
  "Errors": [],
  "IsSucceed": false
}
```

Also, at this point the trader will have received the confirmation code via email which they will have to use during the [second step](/rest-api/trading-api/password-reset/2.-generate-a-token-for-a-new-password) of the password reset password.

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to reset a trader's password.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Failing to Specify the SecretQuestionAnswer Parameter

Another common mistake when making this request is failing to specify SecretQuestionAnswer parameter. Doing so will result in the following error message:

```javascript
{
  "Errors": [
    "Answer is incorrect, try again."
  ],
  "ErrorsCode": [
    "ErrorIncorrectAnswer"
  ],
  "IsSucceed": false
}
```


# 2. Retrieve the Secret Question

Retrieve the secret question for which the user must provide the answer in order to reset the password

## Introduction

Depending on the configuration of your company, users may either be forced to specify a secret question-answer pair during registration or not. If a user does not have to answer the secret question, this step might be skipped and you can proceed to the [third step](/rest-api/trading-api/password-reset/2.-generate-a-token-for-a-new-password). If the user does need to answer the question, use this endpoint to retrieve the question and then go back to the endpoint from the [first step](/rest-api/trading-api/password-reset/1.-reset-traders-password) to provide the answer.

There are three required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **API version** (path). Unless necessary, leave it at "1.0".
3. **username** (query). This is the login or the email of the user whose password ought to be reset.

Here's the final template for this API request:

```
GET apiURL/v1.0/users/password/secret-question?username=hello%40autoshares.com
```

## Response

In response to this request, you will receive a JSON object containing the secret question:

```javascript
{
  "Model": "What street did you live on in third grade?",
  "Errors": [],
  "IsSucceed": true
}
```

You may then display this question to the user and prompt them to specify the answer. Next, provide their answer as the value for the `SecretQuestionAnswer` key in the request body of the [first step](/rest-api/trading-api/password-reset/1.-reset-traders-password). Afterward you can proceed to the [third step](/rest-api/trading-api/password-reset/2.-generate-a-token-for-a-new-password).

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to retrieve a user's secret question.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# 3. Generate a Token For a New Password

Generate a token using the conformation code from email

## Introduction

This POST endpoint enables you to generate a token using the confirmation code received during the [first step](/rest-api/trading-api/password-reset/1.-reset-traders-password) of the password reset process.

There are three required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **API version** (path). Unless necessary, leave it at "1.0".
3. **resource** (body). This is a JSON file that contains the confirmation code from the email.

### Request Body

| Parameter | Description                                             |
| --------- | ------------------------------------------------------- |
| Code      | This is the confirmation code from the following email: |

```javascript
{
  "Code": "741175"
}
```

Here's the final template for this API request:

```
POST apiURL/v1.0/users/password/reset/code
```

## Response

In response to this API request, you will receive a JSON file either confirming successful token generation or enumerating errors that occurred in the process.

```javascript
{
  "Model": "ba6b8cac-6738-4434-bd26-825db020a05c",
  "Errors": [],
  "IsSucceed": true
}
```

The `Model` parameter contains the token that must be provided in the [final step](/rest-api/trading-api/password-reset/3.-update-the-password) of the password reset process.

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to generate a token for password reset.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# 4. Update the Password

Provide the trader's new password

## Introduction

This PUT endpoint is the final step of the password reset process.

There are three required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **API version** (path). Unless necessary, leave it at "1.0".
3. **resource** (body). This is a JSON file that contains the the token from the previous step as well as the new password.

### Request Body

| Parameter            | Description                                                                                                                         |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Token                | This is the token returned in the [previous endpoint](/rest-api/trading-api/password-reset/2.-generate-a-token-for-a-new-password). |
| Password             | This is the new password of the trader.                                                                                             |
| PasswordConfirmation | This is the new password of the trader (must be identical to `Password`).                                                           |

```javascript
{
  "Token": "someToken-bd26-825db0",
  "Password": "pkof394f34kf934f03u4fj0",
  "PasswordConfirmation": "pkof394f34kf934f03u4fj0"
}
```

Here's the final template for this API request:

```
PUT apiURL/v1.0/users/passwords/reset/
```

## Response

In response to this API request, you will receive a JSON file either confirming successful token generation or enumerating errors that occurred in the process.

```javascript
{
  "Errors": [],
  "IsSucceed": true
}
```

At this point the password has been successfully reset, and the trader may proceed to log into Autoshares Trade using the new password.

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to reset a trader's password.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Trading Accounts

Open, manage, and close trading accounts


# Open a New Trading Account

## Introduction

This POST endpoint enables to send a request for opening a new trading account. The process of creating new trading accounts differs based on the clearing firm responsible for handing these requests; in this article we will demonstrate how to open a new paper trading account in Autoshares Trader's demo environment.

There are five required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **userId** (query). This is the ID of the user account to which the new trading account will be bound.
5. **model** (body). This is a JSON file that contains detailed information about the new account opening request.

## Request Body

The body of this request represents the information about the to-be-created account opening request. It must be sent in the JSON format with the parameters described in the following table:

| Parameter       | Description                                                                                                       |
| --------------- | ----------------------------------------------------------------------------------------------------------------- |
| FormType        | For paper trading, the parameter must be equal to **Direct**.                                                     |
| AccountProvider | This is the clearing firm responsible for handling account requests. For paper trading, specify **PaperTrading**. |

```javascript
{
  "FormType": "Direct",
  "AccountProvider": "PaperTrading"
}
```

Here's the final template for this API request:

```
POST apiURL/v1.0/user/{userId}/account-requests/open
```

{% hint style="info" %}
To create a new account opening request on behalf of the user whose authorization token you provide in the request header, replace *userId* with **@me**
{% endhint %}

## Response

In response to this API request, you will receive a JSON file containing information about the status of the request.

```
{
  "Id": "ed8fcaac-70d6-4045-afb8-febe2d4a6af7",
  "UserId": "7125",
  "Status": "New",
  "FormType": "Direct",
  "RequestType": "Open",
  "AccountProvider": "PaperTrading",
  "CreatedAt": "2019-11-22T15:20:20.4433333Z"
}
```

For convenience purposes, paper trading accounts need not be approved by administrators (unlike regular accounts that must be approved by both administrators and the clearing firm). Once a paper trading account opening request has been created, a new account will immediately be created and bound to the user whose ID was provided as a query parameter.

You may list the user's trading accounts via the following API endpoint:

{% content-ref url="/pages/-MCzCxynoY1JgQGpVBhY" %}
[List User's Accounts](/rest-api/trading-api/user-accounts/list-users-accounts)
{% endcontent-ref %}

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to send a new account opening request.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Failing to Specify All Body Parameters

Another common mistake when making this request is failing to specify all of the required body parameters. Doing so will result in the 500 status code and the following error message:

```javascript
{
    "message": "An error occurred while processing your request",
    "error": "Unexpected server error"
}
```


# Account Funding


# Create an ACH Relationship

Bind an ACH relationship to a trading account

## Overview

After a trader has created a new [trading account](/rest-api/trading-api/trading-accounts/open-a-new-trading-account), they should proceed to deposit funds into it. Autoshares Trader provides native functionality for managing deposits and withdrawals by means of ACH relationships. Essentially, a trader must establish an ACH relationship with their banking account and, once it's done, use it to deposit and withdraw funds to/from their banking account through Autoshares Trader's web terminal and iOS apps.

There are five required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **accountId** (path). This is the [internal identifier](/rest-api/trading-api/user-accounts/list-users-accounts) of the trading account in Autoshares Trader.
5. **model** (body). This is a JSON dictionary that contains detailed information about the new ACH relationship.

## Request Body

The body of this request represents the information about the to-be-created ACH relationship. It must be sent in the JSON format with the parameters described in the following table:

| Parameter        | Description                                                                                                                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RoutingNumber    | This is the routing number of the bank who opened the banking account. You can view sample routing number on [this page](https://bankorganizer.com/list-of-routing-numbers/#bank-of-america). |
| AccountNumber    | This is the number of the banking account in the target bank. For example: **987654321222**.                                                                                                  |
| AccountOwnerName | This is the name of the banking account owner. For example: **Robert**.                                                                                                                       |
| Name             | This is the name of the target bank. For example: **Citi Bank**.                                                                                                                              |
| ApprovalMethod   | This is the approval method. The value of this parameter can be either **Instant** (Plaid) or **Manual** (Micro deposits).                                                                    |

```javascript
{
  "RoutingNumber": "051000017",
  "AccountNumber": "987654321222",
  "AccountOwnerName": "Eugeny",
  "Name": "Citi Bank",
  "ApprovalMethod": "Instant"
}
```

Here's the final template for this API request:

```
POST apiURL/v1.0/accounts/{accountId}/ach-relationships
```

## Response

In response to this API request, you will receive a JSON dictionary containing detailed information about the newly created ACH relationship.

```javascript
{
  "Id": "someID-da10-40bc-060a-08d7bacaad26",
  "AccountId": 0,
  "RoutingNumber": "051000017",
  "AccountNumber": "987654321222",
  "AccountOwnerName": "Eugeny",
  "Name": "Citi Bank",
  "Status": "Pending",
  "CreatedAt": "2020-03-16T15:38:41.5766667Z",
  "ApprovalMethod": "Instant",
  "Default": false
}
```

where:

| Parameter        | Description                                                                                                                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Id               | This is the internal identifier of the newly created ACH relationship in Autoshares Trader.                                                                                                   |
| AccountId        | This is an Autoshares Trader's trading account to which the ACH relationship.                                                                                                                 |
| RoutingNumber    | This is the routing number of the bank who opened the banking account. You can view sample routing number on [this page](https://bankorganizer.com/list-of-routing-numbers/#bank-of-america). |
| AccountNumber    | This is the number of the banking account in the target bank. For example: **987654321222**.                                                                                                  |
| AccountOwnerName | This is the name of the banking account owner. For example: **Robert**.                                                                                                                       |
| Name             | This is the name of the target bank. For example: **Citi Bank**.                                                                                                                              |
| Status           | This is the status of the ACH relationship.                                                                                                                                                   |
| CreatedAt        | This is the precise time and date at which the ACH relationship was created.                                                                                                                  |
| ApprovalMethod   | This is the approval method. The value of this parameter can be either **Instant** (Plaid) or **Manual** (Micro deposits).                                                                    |
| Default          | This boolean value indicates if this ACH relationship is a default one for this trading account.                                                                                              |

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to send a request to establish a new ACH relationship.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```

### Failing to Specify All Body Parameters

Another common mistake when making this request is failing to specify all of the required body parameters. Doing so will result in the 500 status code and the following error message:

```javascript
{
    "message": "An error occurred while processing your request",
    "error": "Unexpected server error"
}
```


# Get an ACH Relationship

Fetch information about a specific ACH relationship

## Overview

This GET endpoint enables you to retrieve information about a specific ACH relationship.

There are five required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **accountId** (path). This is the [internal identifier](/rest-api/trading-api/user-accounts/list-users-accounts) of the trading account in Autoshares Trader.
5. **id** (path). This is the ID of the ACH relationship whose information you would like to retrieve.

Here's the final template for this API request:

```
GET apiURL/v1.0/accounts/{accountId}/ach-relationships/{id}
```

## Response

In response to this API request, you will receive a JSON dictionary containing detailed information about the enquired ACH relationship.

```javascript
{
  "Id": "someID-da10-40bc-060a-08d7bacaad26",
  "AccountId": 0,
  "RoutingNumber": "051000017",
  "AccountNumber": "987654321222",
  "AccountOwnerName": "Eugeny",
  "Name": "Citi Bank",
  "Status": "Pending",
  "CreatedAt": "2020-03-16T15:38:41.5766667Z",
  "ApprovalMethod": "Instant",
  "Default": false
}
```

where:

| Parameter        | Description                                                                                                                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Id               | This is the internal identifier of the ACH relationship in Autoshares Trader.                                                                                                                 |
| AccountId        | This is an Autoshares Trader's trading account to which the ACH relationship.                                                                                                                 |
| RoutingNumber    | This is the routing number of the bank who opened the banking account. You can view sample routing number on [this page](https://bankorganizer.com/list-of-routing-numbers/#bank-of-america). |
| AccountNumber    | This is the number of the banking account in the target bank. For example: **987654321222**.                                                                                                  |
| AccountOwnerName | This is the name of the banking account owner. For example: **Robert**.                                                                                                                       |
| Name             | This is the name of the target bank. For example: **Citi Bank**.                                                                                                                              |
| Status           | This is the status of the ACH relationship.                                                                                                                                                   |
| CreatedAt        | This is the precise time and date at which the ACH relationship was created.                                                                                                                  |
| ApprovalMethod   | This is the approval method. The value of this parameter can be either **Instant** (Plaid) or **Manual** (Micro deposits).                                                                    |
| Default          | This boolean value indicates if this ACH relationship is a default one for this trading account.                                                                                              |

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to retrieve information about an ACH relationship.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Get All ACH Relationships

List all ACH relationships of a particular trading account

## Overview

This GET endpoint enables you to retrieve information about all ACH relationships of a particular trading account.

There are five required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **accountId** (path). This is the [internal identifier](/rest-api/trading-api/user-accounts/list-users-accounts) of the trading account in Autoshares Trader whose ACH relationships must be listed.
5. **pageNumber** (query). This is the number of the page (all ACH relationships are split in pages).
6. **pageSize** (query). This is the preferable size of the page (maximum value is 99).
7. **sortField** (query). This is a parameter by which all returned ACH relationships must be sorted.
8. **desc** (query). This boolean parameter indicates if the returned ACH relationships should be sorted in ascending (false) or descending (true) order.

Here's the final template for this API request:

```
GET apiURL/v1.0/accounts/{accountId}/ach-relationships/
```

## Response

In response to this API request, you will receive an array of JSON dictionaries, each containing detailed information about some ACH relationship.

```javascript
{
  "Result": [
    {
      "Id": "91fde713-6c64-4ef3-0606-08d7bacaad26",
      "AccountId": 0,
      "ExternalId": "5e5927470d34ab4080d629a6",
      "RoutingNumber": "011401533",
      "AccountNumber": "1111222233331111",
      "AccountOwnerName": "Alberta Bobbeth Charleson",
      "Name": "Bank of America",
      "Status": "Approved",
      "CreatedAt": "2020-02-28T14:44:22.82Z",
      "ApprovalMethod": "Instant",
      "Default": false
    },
    {
      "Id": "36ffac9c-668f-484a-0607-08d7bacaad26",
      "AccountId": 0,
      "RoutingNumber": "011401533",
      "AccountNumber": "1111222233331111",
      "AccountOwnerName": "Alberta Bobbeth Charleson",
      "Name": "Bank of America",
      "Status": "Pending",
      "CreatedAt": "2020-03-02T09:21:06.01Z",
      "ApprovalMethod": "Instant",
      "Default": false
    },
    {
      "Id": "40ee3617-7a67-45dd-0609-08d7bacaad26",
      "AccountId": 0,
      "ExternalId": "5e6f80963c3477ba9dc1f98a",
      "RoutingNumber": "051000017",
      "AccountNumber": "987654321222",
      "AccountOwnerName": "Eugeny",
      "Name": "Main Citi Bank Account",
      "Status": "Canceled",
      "CreatedAt": "2020-03-16T13:35:18.0133333Z",
      "CancelDate": "2020-03-16T17:53:54.4806035Z",
      "CancelReason": "Closed the banking account",
      "ApprovalMethod": "Instant",
      "Default": false
    },
    {
      "Id": "ff1cdf34-da10-40bc-060a-08d7bacaad26",
      "AccountId": 0,
      "ExternalId": "5e6fc3093c3477ba9dc2438d",
      "RoutingNumber": "051000017",
      "AccountNumber": "987654321222",
      "AccountOwnerName": "Eugeny",
      "Name": "Citi Bank",
      "Status": "Approved",
      "CreatedAt": "2020-03-16T15:38:41.5766667Z",
      "ApprovalMethod": "Instant",
      "Default": false
    }
  ],
  "NextPageLink": "",
  "PreviousPageLink": "",
  "TotalCount": 4
}
```

where:

| Parameter        | Description                                                                                                                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Id               | This is the internal identifier of the ACH relationship in Autoshares Trader.                                                                                                                 |
| AccountId        | This is an Autoshares Trader's trading account to which the ACH relationship.                                                                                                                 |
| RoutingNumber    | This is the routing number of the bank who opened the banking account. You can view sample routing number on [this page](https://bankorganizer.com/list-of-routing-numbers/#bank-of-america). |
| AccountNumber    | This is the number of the banking account in the target bank. For example: **987654321222**.                                                                                                  |
| AccountOwnerName | This is the name of the banking account owner. For example: **Robert**.                                                                                                                       |
| Name             | This is the name of the target bank. For example: **Citi Bank**.                                                                                                                              |
| Status           | This is the status of the ACH relationship.                                                                                                                                                   |
| CreatedAt        | This is the precise time and date at which the ACH relationship was created.                                                                                                                  |
| ApprovalMethod   | This is the approval method. The value of this parameter can be either **Instant** (Plaid) or **Manual** (Micro deposits).                                                                    |
| Default          | This boolean value indicates if this ACH relationship is a default one for this trading account.                                                                                              |

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to retrieve a list of ACH relationships.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Get the Default ACH Relationship

Fetch information about the default ACH relationship

## Overview

This GET endpoint enables you to retrieve information about the default ACH relationship.

There are four required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **accountId** (path). This is the [internal identifier](/rest-api/trading-api/user-accounts/list-users-accounts) of the trading account in Autoshares Trader.

Here's the final template for this API request:

```
GET apiURL/v1.0/accounts/{accountId}/ach-relationships/default
```

## Response

In response to this API request, you will receive a JSON dictionary containing detailed information about the default ACH relationship.

```javascript
{
  "Id": "someID-da10-40bc-060a-08d7bacaad26",
  "AccountId": 0,
  "RoutingNumber": "051000017",
  "AccountNumber": "987654321222",
  "AccountOwnerName": "Eugeny",
  "Name": "Citi Bank",
  "Status": "Pending",
  "CreatedAt": "2020-03-16T15:38:41.5766667Z",
  "ApprovalMethod": "Instant",
  "Default": false
}
```

where:

| Parameter        | Description                                                                                                                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Id               | This is the internal identifier of the default ACH relationship in Autoshares Trader.                                                                                                         |
| AccountId        | This is an Autoshares Trader's trading account to which the ACH relationship.                                                                                                                 |
| RoutingNumber    | This is the routing number of the bank who opened the banking account. You can view sample routing number on [this page](https://bankorganizer.com/list-of-routing-numbers/#bank-of-america). |
| AccountNumber    | This is the number of the banking account in the target bank. For example: **987654321222**.                                                                                                  |
| AccountOwnerName | This is the name of the banking account owner. For example: **Robert**.                                                                                                                       |
| Name             | This is the name of the target bank. For example: **Citi Bank**.                                                                                                                              |
| Status           | This is the status of the ACH relationship.                                                                                                                                                   |
| CreatedAt        | This is the precise time and date at which the ACH relationship was created.                                                                                                                  |
| ApprovalMethod   | This is the approval method. The value of this parameter can be either **Instant** (Plaid) or **Manual** (Micro deposits).                                                                    |
| Default          | This boolean value indicates if this ACH relationship is a default one for this trading account.                                                                                              |

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to retrieve information about the default ACH relationship.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Modify an ACH Relationship

Modify the name of an existing ACH Relationship

## Overview

This PUT endpoint enables you to modify an existing ACH relationship.

There are six required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **accountId** (path). This is the [internal identifier](/rest-api/trading-api/user-accounts/list-users-accounts) of the trading account in Autoshares Trader.
5. **id** (path). This is the ID of the ACH relationship in Autoshares Trader.
6. **model** (body). This is a JSON dictionary that contains updated information about the ACH relationship.

### Request Body

The body of this request represents the updated name of ACH relationship.

| Parameter | Description                              |
| --------- | ---------------------------------------- |
| Name      | This is the new name of the target bank. |

```javascript
{
  "Name": "Main Citi Bank Account"
}
```

Here's the final template for this API request:

```
PUT apiURL/v1.0/accounts/{accountId}/ach-relationships/{id}
```

## Response

In response to this API request, you will receive a JSON dictionary containing detailed information about the newly created ACH relationship.

```javascript
{
  "Id": "40ee3617-7a67-45dd-0609-08d7bacaad26",
  "AccountId": 0,
  "ExternalId": "5e6f80963c3477ba9dc1f98a",
  "RoutingNumber": "051000017",
  "AccountNumber": "987654321222",
  "AccountOwnerName": "Eugeny",
  "Name": "Main Citi Bank Account",
  "Status": "Approved",
  "CreatedAt": "2020-03-16T13:35:18.0133333Z",
  "ApprovalMethod": "Instant",
  "Default": false
}
```

where:

| Parameter        | Description                                                                                                                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Id               | This is the internal identifier of the newly created ACH relationship in Autoshares Trader.                                                                                                   |
| AccountId        | This is an Autoshares Trader's trading account to which the ACH relationship.                                                                                                                 |
| RoutingNumber    | This is the routing number of the bank who opened the banking account. You can view sample routing number on [this page](https://bankorganizer.com/list-of-routing-numbers/#bank-of-america). |
| AccountNumber    | This is the number of the banking account in the target bank. For example: **987654321222**.                                                                                                  |
| AccountOwnerName | This is the name of the banking account owner. For example: **Robert**.                                                                                                                       |
| Name             | This is the name of the target bank. For example: **Citi Bank**.                                                                                                                              |
| Status           | This is the status of the ACH relationship.                                                                                                                                                   |
| CreatedAt        | This is the precise time and date at which the ACH relationship was created.                                                                                                                  |
| ApprovalMethod   | This is the approval method. The value of this parameter can be either **Instant** (Plaid) or **Manual** (Micro deposits).                                                                    |
| Default          | This boolean value indicates if this ACH relationship is a default one for this trading account.                                                                                              |

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to send a request to update an existing ACH relationship.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Delete an ACH Relationship

Delete an existing ACH relationship

## Overview

This DELETE endpoint enables you to delete an existing ACH relationship from a particular trading account.

There are six required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **accountId** (path). This is the [internal identifier](/rest-api/trading-api/user-accounts/list-users-accounts) of the trading account in Autoshares Trader to which the ACH relationship is bound.
5. **id** (path). This is the ID of the to-be-deleted ACH relationship in Autoshares Trader.
6. **reason** (query). This is a string that contains the reason for closing the ACH relationship.

Here's the final template for this API request:

```
DELETE apiURL/v1.0/accounts/{accountId}/ach-relationships/{id}?reason=Closed%20the%20banking%20account
```

## Response

In response to this API request, you will receive a JSON dictionary containing information about the deleted ACH relationship, including the **Canceled** status and the cancelation reason.

```javascript
{
  "Id": "40ee3617-7a67-45dd-0609-08d7bacaad26",
  "AccountId": 0,
  "ExternalId": "5e6f80963c3477ba9dc1f98a",
  "RoutingNumber": "051000017",
  "AccountNumber": "987654321222",
  "AccountOwnerName": "Eugeny",
  "Name": "Main Citi Bank Account",
  "Status": "Canceled",
  "CreatedAt": "2020-03-16T13:35:18.0133333Z",
  "CancelDate": "2020-03-16T17:53:54.4806035Z",
  "CancelReason": "Closed the banking account",
  "ApprovalMethod": "Instant",
  "Default": false
}
```

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to send a request to delete an existing ACH relationship.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Approve an ACH Relationship

Approve an ACH relationship based on micro deposits

## Overview

This POST endpoint enables you to approve a new ACH relationship that are based on micro deposits (as opposed to Plaid-based ACH relationships). When you attempt to create such relationship, you will see two values in your banking account statement (e.g., `0.34` and `0.21`). These two values will have to provided in this endpoint to confirm the creation of the ACH relationship.

{% hint style="warning" %}
This endpoint cannot be used for approving Plaid-based ACH relationships, as they are automatically approved.
{% endhint %}

There are six required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **accountId** (path). This is the [internal identifier](/rest-api/trading-api/user-accounts/list-users-accounts) of the trading account in Autoshares Trader to which the ACH relationship is bound.
5. **id** (path). This is the ID of the to-be-approved ACH relationship in Autoshares Trader.
6. **model** (body). This is a JSON dictionary containing two values from the banking statement.

### Request Body

The body of this request represents the two values from the banking statement. They can be provided in any order.

| Parameter | Description                                               |
| --------- | --------------------------------------------------------- |
| Amount1   | This is one of the two values from the banking statement. |
| Amount2   | This is the other value from the banking statement.       |

For example:

```javascript
{
  "Amount1": 0.32,
  "Amount2": 0.19
}
```

Here's the final template for this API request:

```
POST apiURL/v1.0/accounts/{accountId}/ach-relationships/{id}/approve
```

## Response

In response to this API request, you will receive the 200 status code and no error message.

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to send a request to approve an ACH relationship.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Deposit / Withdraw Funds via ACH

Deposit and withdraw funds to/from a specific trading account via ACH relationships

## Overview

This POST endpoint enables you to deposit or withdraw funds to/from an ACH-based banking account.

There are five required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **accountId** (path). This is the [internal identifier](/rest-api/trading-api/user-accounts/list-users-accounts) of the trading account in Autoshares Trader.
5. **model** (body). This is a JSON file containing detailed information about the funds transfer.

### Body Syntax

The body of the request represents a JSON file containing all required parameters for performing a funds transfer.

| Parameter         | Description                                                                                                                                        |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| AchRelationshipId | This is the ACH relationship through which the transfer will be performed.                                                                         |
| Amount            | This is the amount of funds to be transferred. The value must be provided in US dollars.                                                           |
| CloseAccount      | This boolean value indicates if the trading account must be closed after the transfer if performed. Only applicable to withdrawal operations.      |
| DaysToHoldFunds   | This is the number of days by which the transfer must be delayed.                                                                                  |
| IsIncoming        | This boolean value indicates the transaction type. To perform a deposit, set it to `true`. Conversely, to perform a withdrawal, set it to `false`. |

For example:

```javascript
{
   "AchRelationshipId":"91fde713-6c64-4ef3-0606-08d7bacaad26",
   "Amount":50,
   "CloseAccount":false,
   "DaysToHoldFunds":0,
   "IsIncoming":true
}
```

Here's the final template for this API request:

```
POST apiURL/v1.0/accounts/{accountId}/transfers/ach
```

## Response

In response to this API request, you will receive a JSON dictionary containing detailed information about the transfer.

```javascript
{
  "Id": "0306a11e-a13c-4741-6cec-08d7bc5cbf81",
  "AccountId": 0,
  "Mechanism": "ACH",
  "IsDeposit": true,
  "Status": "Submitted",
  "Amount": 50,
  "TotalAmount": 0,
  "CreatedAt": "2020-03-17T17:00:17.0566667Z",
  "ClearingAccountNumber": "5DP05506"
}
```

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to send a request to deposit or withdraw funds.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```


# Cancel an ACH Transfer

Cancel an outstanding ACH Transfer

## Overview

This DELETE endpoint enables you to cancel an outstanding ACH deposit or withdrawal.

There are six required parameters that must be provided in the request:

1. **Et-App-Key** (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.
2. **Authorization** (header). This is the authorization token from the very first [token request](/rest-api/trading-api/authentication).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **accountId** (path). This is the [internal identifier](/rest-api/trading-api/user-accounts/list-users-accounts) of the trading account in Autoshares Trader.
5. **transferId** (path). This is the ID of the transfer which is intended to be cancelled.&#x20;
6. **comment** (query). This is a string containing the reason for canceling the deposit or withdrawal.

Here's the final template for this API request:

```
DELETE apiURL/v1.0/accounts/{accountId}/transfers/{transferId}?comment=Accidental%20transfer
```

## Response

In response to this API request, if the transfer was successfully canceled, you will receive the 204 status code and no response body.

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to cancel an outstanding funds transfer.

### Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

```javascript
{
    "error": "Application key is not defined or does not exist"
}
```




---

[Next Page](/llms-full.txt/1)

