# upstox_developer_api

UpstoxDeveloperApi - JavaScript client for upstox_developer_api
Build your App on the Upstox platform  ![Banner](https://api-v2.upstox.com/api-docs/images/banner.jpg \"banner\")  # Introduction  Upstox API is a set of rest APIs that provide data required to build a complete investment and trading platform. Execute orders in real time, manage user portfolio, stream live market data (using Websocket), and more, with the easy to understand API collection.  All requests are over HTTPS and the requests are sent with the content-type ‘application/json’. Developers have the option of choosing the response type as JSON or CSV for a few API calls.  To be able to use these APIs you need to create an App in the Developer Console and generate your **apiKey** and **apiSecret**. You can use a redirect URL which will be called after the login flow.  If you are a **trader**, you can directly create apps from Upstox mobile app or the desktop platform itself from **Apps** sections inside the **Account** Tab. Head over to <a href=\"http://account.upstox.com/developer/apps\" target=\"_blank\">account.upstox.com/developer/apps</a>.</br> If you are a **business** looking to integrate Upstox APIs, reach out to us and we will get a custom app created for you in no time.  It is highly recommended that you do not embed the **apiSecret** in your frontend app. Create a remote backend which does the handshake on behalf of the frontend app. Marking the apiSecret in the frontend app will make your app vulnerable to threats and potential issues. 
This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:

- API version: v2
- Package version: v2
- Build package: io.swagger.codegen.v3.generators.javascript.JavaScriptClientCodegen

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

To publish the library as a [npm](https://www.npmjs.com/),
please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).

Then install it via:

```shell
npm install upstox_developer_api --save
```

#### git
#
If the library is hosted at a git repository, e.g.
https://github.com/GIT_USER_ID/GIT_REPO_ID
then install it via:

```shell
    npm install GIT_USER_ID/GIT_REPO_ID --save
```

### For browser

The library also works in the browser environment via npm and [browserify](http://browserify.org/). After following
the above steps with Node.js and installing browserify with `npm install -g browserify`,
perform the following (assuming *main.js* is your entry file):

```shell
browserify main.js > bundle.js
```

Then include *bundle.js* in the HTML pages.

### Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error:
Cannot resolve module", most certainly you should disable AMD loader. Add/merge
the following section to your webpack config:

```javascript
module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}
```

## Getting Started

Please follow the [installation](#installation) instruction and execute the following JS code:

```javascript
var UpstoxDeveloperApi = require('upstox_developer_api');
var defaultClient = UpstoxDeveloperApi.ApiClient.instance;

// Configure OAuth2 access token for authorization: OAUTH2
var OAUTH2 = defaultClient.authentications['OAUTH2'];
OAUTH2.accessToken = "YOUR ACCESS TOKEN"

var api = new UpstoxDeveloperApi.ChargeApi()
var instrumentToken = "instrumentToken_example"; // {String} Key of the instrument
var quantity = 56; // {Number} Quantity with which the order is to be placed
var product = "product_example"; // {String} Product with which the order is to be placed
var transactionType = "transactionType_example"; // {String} Indicates whether its a BUY or SELL order
var price = 3.4; // {Number} Price with which the order is to be placed
var apiVersion = "apiVersion_example"; // {String} API Version Header

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.getBrokerage(instrumentToken, quantity, product, transactionType, price, apiVersion, callback);
```

## Documentation for API Endpoints

All URIs are relative to *https://api-v2.upstox.com*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*UpstoxDeveloperApi.ChargeApi* | [**getBrokerage**](docs/ChargeApi.md#getBrokerage) | **GET** /charges/brokerage | Brokerage details
*UpstoxDeveloperApi.HistoryApi* | [**getHistoricalCandleData**](docs/HistoryApi.md#getHistoricalCandleData) | **GET** /historical-candle/{instrumentKey}/{interval}/{to_date} | Historical candle data
*UpstoxDeveloperApi.HistoryApi* | [**getHistoricalCandleData1**](docs/HistoryApi.md#getHistoricalCandleData1) | **GET** /historical-candle/{instrumentKey}/{interval}/{to_date}/{from_date} | Historical candle data
*UpstoxDeveloperApi.HistoryApi* | [**getIntraDayCandleData**](docs/HistoryApi.md#getIntraDayCandleData) | **GET** /historical-candle/intraday/{instrumentKey}/{interval} | Intra day candle data
*UpstoxDeveloperApi.LoginApi* | [**authorize**](docs/LoginApi.md#authorize) | **GET** /login/authorization/dialog | Authorize API
*UpstoxDeveloperApi.LoginApi* | [**logout**](docs/LoginApi.md#logout) | **DELETE** /logout | Logout
*UpstoxDeveloperApi.LoginApi* | [**token**](docs/LoginApi.md#token) | **POST** /login/authorization/token | Get token API
*UpstoxDeveloperApi.MarketQuoteApi* | [**getFullMarketQuote**](docs/MarketQuoteApi.md#getFullMarketQuote) | **GET** /market-quote/quotes | Market quotes and instruments - Full market quotes
*UpstoxDeveloperApi.MarketQuoteApi* | [**getMarketQuoteOHLC**](docs/MarketQuoteApi.md#getMarketQuoteOHLC) | **GET** /market-quote/ohlc | Market quotes and instruments - OHLC quotes
*UpstoxDeveloperApi.MarketQuoteApi* | [**ltp**](docs/MarketQuoteApi.md#ltp) | **GET** /market-quote/ltp | Market quotes and instruments - LTP quotes.
*UpstoxDeveloperApi.OrderApi* | [**cancelOrder**](docs/OrderApi.md#cancelOrder) | **DELETE** /order/cancel | Cancel order
*UpstoxDeveloperApi.OrderApi* | [**getOrderBook**](docs/OrderApi.md#getOrderBook) | **GET** /order/retrieve-all | Get order book
*UpstoxDeveloperApi.OrderApi* | [**getOrderDetails**](docs/OrderApi.md#getOrderDetails) | **GET** /order/history | Get order details
*UpstoxDeveloperApi.OrderApi* | [**getTradeHistory**](docs/OrderApi.md#getTradeHistory) | **GET** /order/trades/get-trades-for-day | Get trades
*UpstoxDeveloperApi.OrderApi* | [**getTradesByOrder**](docs/OrderApi.md#getTradesByOrder) | **GET** /order/trades | Get trades for order
*UpstoxDeveloperApi.OrderApi* | [**modifyOrder**](docs/OrderApi.md#modifyOrder) | **PUT** /order/modify | Modify order
*UpstoxDeveloperApi.OrderApi* | [**placeOrder**](docs/OrderApi.md#placeOrder) | **POST** /order/place | Place order
*UpstoxDeveloperApi.PortfolioApi* | [**convertPositions**](docs/PortfolioApi.md#convertPositions) | **PUT** /portfolio/convert-position | Convert Positions
*UpstoxDeveloperApi.PortfolioApi* | [**getHoldings**](docs/PortfolioApi.md#getHoldings) | **GET** /portfolio/long-term-holdings | Get Holdings
*UpstoxDeveloperApi.PortfolioApi* | [**getPositions**](docs/PortfolioApi.md#getPositions) | **GET** /portfolio/short-term-positions | Get Positions
*UpstoxDeveloperApi.TradeProfitAndLossApi* | [**getProfitAndLossCharges**](docs/TradeProfitAndLossApi.md#getProfitAndLossCharges) | **GET** /trade/profit-loss/charges | Get profit and loss on trades
*UpstoxDeveloperApi.TradeProfitAndLossApi* | [**getTradeWiseProfitAndLossData**](docs/TradeProfitAndLossApi.md#getTradeWiseProfitAndLossData) | **GET** /trade/profit-loss/data | Get Trade-wise Profit and Loss Report Data
*UpstoxDeveloperApi.TradeProfitAndLossApi* | [**getTradeWiseProfitAndLossMetaData**](docs/TradeProfitAndLossApi.md#getTradeWiseProfitAndLossMetaData) | **GET** /trade/profit-loss/metadata | Get profit and loss meta data on trades
*UpstoxDeveloperApi.UserApi* | [**getProfile**](docs/UserApi.md#getProfile) | **GET** /user/profile | Get profile
*UpstoxDeveloperApi.UserApi* | [**getUserFundMargin**](docs/UserApi.md#getUserFundMargin) | **GET** /user/get-funds-and-margin | Get User Fund And Margin
*UpstoxDeveloperApi.WebsocketApi* | [**getMarketDataFeed**](docs/WebsocketApi.md#getMarketDataFeed) | **GET** /feed/market-data-feed | Market Data Feed
*UpstoxDeveloperApi.WebsocketApi* | [**getMarketDataFeedAuthorize**](docs/WebsocketApi.md#getMarketDataFeedAuthorize) | **GET** /feed/market-data-feed/authorize | Market Data Feed Authorize
*UpstoxDeveloperApi.WebsocketApi* | [**getPortfolioStreamFeed**](docs/WebsocketApi.md#getPortfolioStreamFeed) | **GET** /feed/portfolio-stream-feed | Portfolio Stream Feed
*UpstoxDeveloperApi.WebsocketApi* | [**getPortfolioStreamFeedAuthorize**](docs/WebsocketApi.md#getPortfolioStreamFeedAuthorize) | **GET** /feed/portfolio-stream-feed/authorize | Portfolio Stream Feed Authorize

## Documentation for Models

 - [UpstoxDeveloperApi.ApiGatewayErrorResponse](docs/ApiGatewayErrorResponse.md)
 - [UpstoxDeveloperApi.BrokerageData](docs/BrokerageData.md)
 - [UpstoxDeveloperApi.BrokerageTaxes](docs/BrokerageTaxes.md)
 - [UpstoxDeveloperApi.BrokerageWrapperData](docs/BrokerageWrapperData.md)
 - [UpstoxDeveloperApi.CancelOrderData](docs/CancelOrderData.md)
 - [UpstoxDeveloperApi.CancelOrderResponse](docs/CancelOrderResponse.md)
 - [UpstoxDeveloperApi.ConvertPositionData](docs/ConvertPositionData.md)
 - [UpstoxDeveloperApi.ConvertPositionRequest](docs/ConvertPositionRequest.md)
 - [UpstoxDeveloperApi.ConvertPositionResponse](docs/ConvertPositionResponse.md)
 - [UpstoxDeveloperApi.Depth](docs/Depth.md)
 - [UpstoxDeveloperApi.DepthMap](docs/DepthMap.md)
 - [UpstoxDeveloperApi.DpPlan](docs/DpPlan.md)
 - [UpstoxDeveloperApi.GetBrokerageResponse](docs/GetBrokerageResponse.md)
 - [UpstoxDeveloperApi.GetFullMarketQuoteResponse](docs/GetFullMarketQuoteResponse.md)
 - [UpstoxDeveloperApi.GetHistoricalCandleResponse](docs/GetHistoricalCandleResponse.md)
 - [UpstoxDeveloperApi.GetHoldingsResponse](docs/GetHoldingsResponse.md)
 - [UpstoxDeveloperApi.GetIntraDayCandleResponse](docs/GetIntraDayCandleResponse.md)
 - [UpstoxDeveloperApi.GetMarketQuoteLastTradedPriceResponse](docs/GetMarketQuoteLastTradedPriceResponse.md)
 - [UpstoxDeveloperApi.GetMarketQuoteOHLCResponse](docs/GetMarketQuoteOHLCResponse.md)
 - [UpstoxDeveloperApi.GetOrderBookResponse](docs/GetOrderBookResponse.md)
 - [UpstoxDeveloperApi.GetOrderResponse](docs/GetOrderResponse.md)
 - [UpstoxDeveloperApi.GetPositionResponse](docs/GetPositionResponse.md)
 - [UpstoxDeveloperApi.GetProfileResponse](docs/GetProfileResponse.md)
 - [UpstoxDeveloperApi.GetProfitAndLossChargesResponse](docs/GetProfitAndLossChargesResponse.md)
 - [UpstoxDeveloperApi.GetTradeResponse](docs/GetTradeResponse.md)
 - [UpstoxDeveloperApi.GetTradeWiseProfitAndLossDataResponse](docs/GetTradeWiseProfitAndLossDataResponse.md)
 - [UpstoxDeveloperApi.GetTradeWiseProfitAndLossMetaDataResponse](docs/GetTradeWiseProfitAndLossMetaDataResponse.md)
 - [UpstoxDeveloperApi.GetUserFundMarginResponse](docs/GetUserFundMarginResponse.md)
 - [UpstoxDeveloperApi.HistoricalCandleData](docs/HistoricalCandleData.md)
 - [UpstoxDeveloperApi.HoldingsData](docs/HoldingsData.md)
 - [UpstoxDeveloperApi.IntraDayCandleData](docs/IntraDayCandleData.md)
 - [UpstoxDeveloperApi.LogoutResponse](docs/LogoutResponse.md)
 - [UpstoxDeveloperApi.MarketQuoteOHLC](docs/MarketQuoteOHLC.md)
 - [UpstoxDeveloperApi.MarketQuoteSymbol](docs/MarketQuoteSymbol.md)
 - [UpstoxDeveloperApi.MarketQuoteSymbolLtp](docs/MarketQuoteSymbolLtp.md)
 - [UpstoxDeveloperApi.ModifyOrderData](docs/ModifyOrderData.md)
 - [UpstoxDeveloperApi.ModifyOrderRequest](docs/ModifyOrderRequest.md)
 - [UpstoxDeveloperApi.ModifyOrderResponse](docs/ModifyOrderResponse.md)
 - [UpstoxDeveloperApi.OAuthClientException](docs/OAuthClientException.md)
 - [UpstoxDeveloperApi.OAuthClientExceptionCause](docs/OAuthClientExceptionCause.md)
 - [UpstoxDeveloperApi.OAuthClientExceptionCauseStackTrace](docs/OAuthClientExceptionCauseStackTrace.md)
 - [UpstoxDeveloperApi.OAuthClientExceptionCauseSuppressed](docs/OAuthClientExceptionCauseSuppressed.md)
 - [UpstoxDeveloperApi.Ohlc](docs/Ohlc.md)
 - [UpstoxDeveloperApi.OrderBookData](docs/OrderBookData.md)
 - [UpstoxDeveloperApi.OrderData](docs/OrderData.md)
 - [UpstoxDeveloperApi.OtherTaxes](docs/OtherTaxes.md)
 - [UpstoxDeveloperApi.PlaceOrderData](docs/PlaceOrderData.md)
 - [UpstoxDeveloperApi.PlaceOrderRequest](docs/PlaceOrderRequest.md)
 - [UpstoxDeveloperApi.PlaceOrderResponse](docs/PlaceOrderResponse.md)
 - [UpstoxDeveloperApi.PositionData](docs/PositionData.md)
 - [UpstoxDeveloperApi.Problem](docs/Problem.md)
 - [UpstoxDeveloperApi.ProfileData](docs/ProfileData.md)
 - [UpstoxDeveloperApi.ProfitAndLossChargesData](docs/ProfitAndLossChargesData.md)
 - [UpstoxDeveloperApi.ProfitAndLossChargesTaxes](docs/ProfitAndLossChargesTaxes.md)
 - [UpstoxDeveloperApi.ProfitAndLossChargesWrapperData](docs/ProfitAndLossChargesWrapperData.md)
 - [UpstoxDeveloperApi.ProfitAndLossMetaData](docs/ProfitAndLossMetaData.md)
 - [UpstoxDeveloperApi.ProfitAndLossMetaDataWrapper](docs/ProfitAndLossMetaDataWrapper.md)
 - [UpstoxDeveloperApi.ProfitAndLossOtherChargesTaxes](docs/ProfitAndLossOtherChargesTaxes.md)
 - [UpstoxDeveloperApi.TokenRequest](docs/TokenRequest.md)
 - [UpstoxDeveloperApi.TokenResponse](docs/TokenResponse.md)
 - [UpstoxDeveloperApi.TradeData](docs/TradeData.md)
 - [UpstoxDeveloperApi.TradeWiseMetaData](docs/TradeWiseMetaData.md)
 - [UpstoxDeveloperApi.TradeWiseProfitAndLossData](docs/TradeWiseProfitAndLossData.md)
 - [UpstoxDeveloperApi.UserFundMarginData](docs/UserFundMarginData.md)
 - [UpstoxDeveloperApi.WebsocketAuthRedirectResponse](docs/WebsocketAuthRedirectResponse.md)
 - [UpstoxDeveloperApi.WebsocketAuthRedirectResponseData](docs/WebsocketAuthRedirectResponseData.md)

## Documentation for Authorization


### OAUTH2

- **Type**: OAuth
- **Flow**: accessCode
- **Authorization URL**: https://api-v2.upstox.com/login/authorization/dialog
- **Scopes**: 
  - : 

