# Get User's Price Alerts

## Overview

This GET endpoint enables you to retrieve the list of a user's price alerts. Price alerts are essentially notifications that are sent to the user when the alert's conditions are satisfied by the market. For example, a user may have a price alert that will notify them when the price of the Apple stock exceeds $200.

There are eight 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.md).
3. **API version** (path). Unless necessary, leave it at "1.0".
4. **userID** (path). This is the ID of the user whose particular watchlist needs to be have one security removed.
5. **pageSize** (query). This field indicates the number of price alerts that needs to be retrieved per page.
6. **pageNumber** (query). This field indicates the number of the page that needs to be retrieved (all price alerts are split into a set of pages that can be loaded one by one).
7. **sortBy** (query). This is the field by which the retrieved alerts should be sorted. For example, if you the value of this parameter is set to **State**, the retrieved alerts will be sorted by their state.
8. **isDesc** (query). This field indicates if the list of retrieved price alerts should be sorted in the descending (true) or ascending (false) order.

Here's the final template for this API request:

```
GET apiURL/v1.0/users/@me/pricealerts?pageSize=10&pageNumber=0&sortBy=State&isDesc=true
```

## Response

In response to this API request, you'll receive a JSON file with the list of the user's price alerts.

```javascript
{
  "Result": [
    {
      "Id": 1712,
      "State": "New",
      "CreatedDate": 1574788269,
      "Operator": "LTEQ",
      "SecurityId": 685714,
      "Symbol": "TSLA",
      "Field": "Last",
      "Argument": 315,
      "ExpirationDate": 1576775453
    },
    {
      "Id": 1713,
      "State": "New",
      "CreatedDate": 1574788285,
      "Operator": "LTEQ",
      "SecurityId": 4,
      "Symbol": "AAPL",
      "Field": "Last",
      "Argument": 250,
      "ExpirationDate": 1577293871
    }
  ],
  "NextPageLink": "",
  "PreviousPageLink": "",
  "TotalCount": 2
}
```

where:

| Parameter      | Description                                                                                                          |
| -------------- | -------------------------------------------------------------------------------------------------------------------- |
| Id             | This is the internal identifier of the price alert.                                                                  |
| State          | This is the state of the price alert. Possible values: New, Expired, Completed, Stopped.                             |
| CreatedDate    | This is the date on which the price alert was created (in ticks).                                                    |
| Operator       | This is the condition of the price alert. Possible values: GTEQ (greater or equal to), LTEQ (less than or equal to). |
| SecurityId     | This is the ID of the security for which the price alert is configured.                                              |
| Symbol         | This is the ticker symbol of the security for which the price alert is configured.                                   |
| Field          | This is the referent price for the price alert. Possible values: Ask, Bid, Last.                                     |
| Argument       | This is the price point at which the price alert will be triggered and the user will be notified.                    |
| ExpirationDate | This is the expiration date of the price alert (in ticks).                                                           |

## Common Mistakes

Here are some of the common mistakes that developers make when attempting to retrieve the list of a user's price alerts.

### 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 Query Parameters

It's crucial to understand that the ***pageSize, pageNumber, isDesc, and sortBy*** parameters must be provided in the request; otherwise you'll receive the 404 status code and the following message:

```javascript
{
    "Error": {
        "Code": "UnsupportedApiVersion",
        "Message": "The requested resource with API version '1.0' does not support HTTP method 'GET'."
    }
}
```

The following article covers the syntax for this API request in detail.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://api-documentation.autoshares.dev/rest-api/trading-api/price-alerts/get-users-price-alerts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
