diff --git a/examples/README.md b/examples/README.md index afc1943..96d6482 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,15 +1,41 @@ -# Java Sample Implementation +# Upstox Java SDK Examples -## Websocket +This directory contains Java SDK code examples for the Upstox API, organized by category. -### Market stream feed +## Prerequisites -Java code to connect to the Upstox Websocket API for streaming live market data. It fetches market data for a list of instrument keys. When the client receives updates from the server, it decodes the incoming protobuf data into a FeedResponse object. +- Java 8 or higher +- Maven or Gradle +- An Upstox account with API access +- A valid access token -[Market updates using Upstox's websocket](websocket/market_data/v3) +## Maven Dependency -### Porfolio stream feed +Add the following dependency to your `pom.xml`: -Java code to connect to the Upstox WebSocket API for streaming live order updates. It fetches the order updates and prints them to the console. +```xml + + com.upstox.api + upstox-java-api + LATEST + compile + +``` -[Order updates using Upstox's websocket](websocket/order_updates/) \ No newline at end of file +## Folder Structure + +| Category | Description | +|----------|-------------| +| [login](./login/) | Authentication — get access token and logout | +| [user](./user/) | User profile and fund/margin details | +| [orders](./orders/) | Place, modify, cancel orders and fetch order details | +| [portfolio](./portfolio/) | Positions, holdings, MTF positions, and position conversion | +| [market-quote](./market-quote/) | LTP, OHLC, full market quotes, and option greeks | +| [historical-data](./historical-data/) | Historical and intra-day candle data | +| [option-chain](./option-chain/) | Option contracts and put/call option chain | +| [expired-instruments](./expired-instruments/) | Expired instrument data and historical candles | +| [market-information](./market-information/) | Exchange status, market timings, and holidays | +| [gtt-orders](./gtt-orders/) | Good Till Triggered (GTT) order management | +| [margins](./margins/) | Order margin calculations | +| [charges](./charges/) | Brokerage charge calculations | +| [trade-profit-and-loss](./trade-profit-and-loss/) | Trade-wise profit and loss reports | diff --git a/examples/charges/README.md b/examples/charges/README.md new file mode 100644 index 0000000..91dbc0f --- /dev/null +++ b/examples/charges/README.md @@ -0,0 +1,10 @@ +# Charges – Example code + +Links to all charge-related examples in the `code/` folder. + +## 1. Brokerage Details + +- 1.1 [Get brokerage details for equity delivery orders](code/brokerage-details.md#get-brokerage-details-for-equity-delivery-orders) +- 1.2 [Get brokerage details for equity intraday orders](code/brokerage-details.md#get-brokerage-details-for-equity-intraday-orders) +- 1.3 [Get brokerage details for equity futures and options delivery orders](code/brokerage-details.md#get-brokerage-details-for-equity-futures-and-options-delivery-orders) +- 1.4 [Get brokerage details for equity futures and options intraday orders](code/brokerage-details.md#get-brokerage-details-for-equity-futures-and-options-intraday-orders) diff --git a/examples/charges/code/brokerage-details.md b/examples/charges/code/brokerage-details.md new file mode 100644 index 0000000..69c95c1 --- /dev/null +++ b/examples/charges/code/brokerage-details.md @@ -0,0 +1,139 @@ +## Get brokerage details for equity delivery orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetBrokerageResponse; +import com.upstox.auth.*; +import io.swagger.client.api.ChargeApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ChargeApi apiInstance = new ChargeApi(); + String instrumentToken = "NSE_EQ|INE669E01016"; + int quantity = 56; + String product = "D"; + String transactionType = "BUY"; + float price = 31.4F; + String apiVersion = "2.0"; + try { + GetBrokerageResponse result = apiInstance.getBrokerage(instrumentToken, quantity, product, transactionType, price, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ChargeApi#getBrokerage"); + e.printStackTrace(); + } + } +} +``` + +## Get brokerage details for equity intraday orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetBrokerageResponse; +import com.upstox.auth.*; +import io.swagger.client.api.ChargeApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ChargeApi apiInstance = new ChargeApi(); + String instrumentToken = "NSE_EQ|INE669E01016"; + int quantity = 56; + String product = "I"; + String transactionType = "BUY"; + float price = 31.4F; + String apiVersion = "2.0"; + try { + GetBrokerageResponse result = apiInstance.getBrokerage(instrumentToken, quantity, product, transactionType, price, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ChargeApi#getBrokerage"); + e.printStackTrace(); + } + } +} +``` + +## Get brokerage details for equity futures and options delivery orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetBrokerageResponse; +import com.upstox.auth.*; +import io.swagger.client.api.ChargeApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ChargeApi apiInstance = new ChargeApi(); + String instrumentToken = "NSE_FO|35271"; + int quantity = 5; + String product = "D"; + String transactionType = "BUY"; + float price = 1331.4F; + String apiVersion = "2.0"; + try { + GetBrokerageResponse result = apiInstance.getBrokerage(instrumentToken, quantity, product, transactionType, price, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ChargeApi#getBrokerage"); + e.printStackTrace(); + } + } +} +``` + +## Get brokerage details for equity futures and options intraday orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetBrokerageResponse; +import com.upstox.auth.*; +import io.swagger.client.api.ChargeApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ChargeApi apiInstance = new ChargeApi(); + String instrumentToken = "NSE_FO|35271"; + int quantity = 5; + String product = "I"; + String transactionType = "BUY"; + float price = 1331.4F; + String apiVersion = "2.0"; + try { + GetBrokerageResponse result = apiInstance.getBrokerage(instrumentToken, quantity, product, transactionType, price, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ChargeApi#getBrokerage"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/expired-instruments/README.md b/examples/expired-instruments/README.md new file mode 100644 index 0000000..955b460 --- /dev/null +++ b/examples/expired-instruments/README.md @@ -0,0 +1,19 @@ +# Expired Instruments – Example code + +Links to all expired-instrument-related examples in the `code/` folder. + +## 1. Get Expiries + +- 1.1 [Get Expiries for given instrument](code/get-expiries.md#get-expiries-for-given-instrument) + +## 2. Get Expired Future Contracts + +- 2.1 [Get Expired Future Contracts for given instrument with expiry date](code/get-expired-future-contracts.md#get-expired-future-contracts-for-given-instrument-with-expiry-date) + +## 3. Get Expired Option Contracts + +- 3.1 [Get Expired Option Contracts for given instrument with expiry date](code/get-expired-option-contracts.md#get-expired-option-contracts-for-given-instrument-with-expiry-date) + +## 4. Get Expired Historical Candle Data + +- 4.1 [Get Historical Candle Data for Expired Instruments](code/get-expired-historical-candle-data.md#get-historical-candle-data-for-expired-instruments) diff --git a/examples/expired-instruments/code/get-expired-future-contracts.md b/examples/expired-instruments/code/get-expired-future-contracts.md new file mode 100644 index 0000000..d50abe7 --- /dev/null +++ b/examples/expired-instruments/code/get-expired-future-contracts.md @@ -0,0 +1,28 @@ +## Get Expired Future Contracts for given instrument with expiry date + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ExpiredInstrumentApi expiredInstrumentApi = new ExpiredInstrumentApi(); + try { + GetExpiredFuturesContractResponse response = expiredInstrumentApi.getExpiredFutureContracts("NSE_INDEX|Nifty 50", "2024-11-27"); + System.out.println(response); + } catch (ApiException e) { + System.out.println("Exception when calling ExpiredInstrumentApi#getExpiredFutureContracts"); + System.out.println("Status code: " + e.getCode()); + System.out.println("Error message: " + e.getResponseBody()); + } + } +} +``` diff --git a/examples/expired-instruments/code/get-expired-historical-candle-data.md b/examples/expired-instruments/code/get-expired-historical-candle-data.md new file mode 100644 index 0000000..d7285e5 --- /dev/null +++ b/examples/expired-instruments/code/get-expired-historical-candle-data.md @@ -0,0 +1,28 @@ +## Get Historical Candle Data for Expired Instruments + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ExpiredInstrumentApi expiredInstrumentApi = new ExpiredInstrumentApi(); + try { + GetHistoricalCandleResponse result = expiredInstrumentApi.getExpiredHistoricalCandleData("NSE_FO|54452|24-04-2025", "30minute", "2025-06-04", "2002-06-04"); + System.out.println(result); + } catch (ApiException e) { + System.out.println("Exception when calling ExpiredInstrumentApi#getExpiredHistoricalCandleData"); + System.out.println("Status code: " + e.getCode()); + System.out.println("Error message: " + e.getResponseBody()); + } + } +} +``` diff --git a/examples/expired-instruments/code/get-expired-option-contracts.md b/examples/expired-instruments/code/get-expired-option-contracts.md new file mode 100644 index 0000000..388fd7c --- /dev/null +++ b/examples/expired-instruments/code/get-expired-option-contracts.md @@ -0,0 +1,28 @@ +## Get Expired Option Contracts for given instrument with expiry date + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ExpiredInstrumentApi expiredInstrumentApi = new ExpiredInstrumentApi(); + try { + GetOptionContractResponse result = expiredInstrumentApi.getExpiredOptionContracts("NSE_INDEX|Nifty 50", "2025-04-24"); + System.out.println(result); + } catch (ApiException e) { + System.out.println("Exception when calling ExpiredInstrumentApi#getExpiredOptionContracts"); + System.out.println("Status code: " + e.getCode()); + System.out.println("Error message: " + e.getResponseBody()); + } + } +} +``` diff --git a/examples/expired-instruments/code/get-expiries.md b/examples/expired-instruments/code/get-expiries.md new file mode 100644 index 0000000..394107b --- /dev/null +++ b/examples/expired-instruments/code/get-expiries.md @@ -0,0 +1,28 @@ +## Get Expiries for given instrument + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ExpiredInstrumentApi expiredInstrumentApi = new ExpiredInstrumentApi(); + try { + GetExpiriesResponse getExpiriesResponse = expiredInstrumentApi.getExpiries("NSE_INDEX|Nifty 50"); + System.out.println(getExpiriesResponse); + } catch (ApiException e) { + System.out.println("Exception when calling ExpiredInstrumentApi#getExpiredInstruments"); + System.out.println("Status code: " + e.getCode()); + System.out.println("Error message: " + e.getResponseBody()); + } + } +} +``` diff --git a/examples/gtt-orders/README.md b/examples/gtt-orders/README.md new file mode 100644 index 0000000..0b01154 --- /dev/null +++ b/examples/gtt-orders/README.md @@ -0,0 +1,21 @@ +# GTT Orders – Example code + +Links to all GTT-order-related examples in the `code/` folder. + +## 1. Place GTT Order + +- 1.1 [Place Single Leg GTT Order](code/place-gtt-order.md#place-single-leg-gtt-order) +- 1.2 [Place Multiple Leg GTT Order](code/place-gtt-order.md#place-multiple-leg-gtt-order) + +## 2. Modify GTT Order + +- 2.1 [Modify Single Leg GTT Order](code/modify-gtt-order.md#modify-single-leg-gtt-order) +- 2.2 [Modify Multiple Leg GTT Order](code/modify-gtt-order.md#modify-multiple-leg-gtt-order) + +## 3. Cancel GTT Order + +- 3.1 [Cancel GTT Order](code/cancel-gtt-order.md#cancel-gtt-order) + +## 4. Get GTT Order Details + +- 4.1 [Get GTT Order Details](code/get-gtt-order-details.md#get-gtt-order-details) diff --git a/examples/gtt-orders/code/cancel-gtt-order.md b/examples/gtt-orders/code/cancel-gtt-order.md new file mode 100644 index 0000000..372c111 --- /dev/null +++ b/examples/gtt-orders/code/cancel-gtt-order.md @@ -0,0 +1,28 @@ +## Cancel GTT Order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GttCancelOrderRequest; +import com.upstox.api.GttTriggerOrderResponse; +import com.upstox.api.OrderApiV3; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + GttCancelOrderRequest gttCancelOrderRequest = new GttCancelOrderRequest(); + gttCancelOrderRequest.setGttOrderId("GTT-C25040144712"); + + try { + GttTriggerOrderResponse result = apiInstance.cancelGTTOrder(gttCancelOrderRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->cancelGTTOrder: " + e.getMessage()); + } + } +} +``` diff --git a/examples/gtt-orders/code/get-gtt-order-details.md b/examples/gtt-orders/code/get-gtt-order-details.md new file mode 100644 index 0000000..d98e9b7 --- /dev/null +++ b/examples/gtt-orders/code/get-gtt-order-details.md @@ -0,0 +1,25 @@ +## Get GTT Order Details + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetGttOrderResponse; +import com.upstox.api.OrderApiV3; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + + try { + GetGttOrderResponse result = apiInstance.getGttOrderDetails("GTT-C25040144712"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->getGttOrderDetails: " + e.getMessage()); + } + } +} +``` diff --git a/examples/gtt-orders/code/modify-gtt-order.md b/examples/gtt-orders/code/modify-gtt-order.md new file mode 100644 index 0000000..d10e1ba --- /dev/null +++ b/examples/gtt-orders/code/modify-gtt-order.md @@ -0,0 +1,91 @@ +## Modify Single Leg GTT Order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import java.util.ArrayList; +import java.util.List; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + List gttRules = new ArrayList<>(); + + GttRule entryRule = new GttRule(); + entryRule.setStrategy(GttRule.StrategyEnum.ENTRY); + entryRule.setTriggerType(GttRule.TriggerTypeEnum.ABOVE); + entryRule.setTriggerPrice(7.3D); + gttRules.add(entryRule); + + GttModifyOrderRequest modifyOrderRequest = new GttModifyOrderRequest(); + modifyOrderRequest.setQuantity(1); + modifyOrderRequest.setGttOrderId("GTT-C25270200137952"); + modifyOrderRequest.setType(GttModifyOrderRequest.TypeEnum.SINGLE); + modifyOrderRequest.setRules(gttRules); + + try { + GttTriggerOrderResponse result = apiInstance.modifyGTTOrder(modifyOrderRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->modifyGTTOrder: " + e.getMessage()); + } + } +} +``` + +## Modify Multiple Leg GTT Order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import java.util.ArrayList; +import java.util.List; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + List gttRules = new ArrayList<>(); + + GttRule entryRule = new GttRule(); + entryRule.setStrategy(GttRule.StrategyEnum.ENTRY); + entryRule.setTriggerType(GttRule.TriggerTypeEnum.ABOVE); + entryRule.setTriggerPrice(7.3D); + gttRules.add(entryRule); + + GttRule targetRule = new GttRule(); + targetRule.setStrategy(GttRule.StrategyEnum.TARGET); + targetRule.setTriggerType(GttRule.TriggerTypeEnum.IMMEDIATE); + targetRule.setTriggerPrice(7.64D); + gttRules.add(targetRule); + + GttRule stopLossRule = new GttRule(); + stopLossRule.setStrategy(GttRule.StrategyEnum.STOPLOSS); + stopLossRule.setTriggerType(GttRule.TriggerTypeEnum.IMMEDIATE); + stopLossRule.setTriggerPrice(7.1D); + gttRules.add(stopLossRule); + + GttModifyOrderRequest modifyOrderRequest = new GttModifyOrderRequest(); + modifyOrderRequest.setQuantity(1); + modifyOrderRequest.setGttOrderId("GTT-C25280200137522"); + modifyOrderRequest.setType(GttModifyOrderRequest.TypeEnum.MULTIPLE); + modifyOrderRequest.setRules(gttRules); + + try { + GttTriggerOrderResponse result = apiInstance.modifyGTTOrder(modifyOrderRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->modifyGTTOrder: " + e.getMessage()); + } + } +} +``` diff --git a/examples/gtt-orders/code/place-gtt-order.md b/examples/gtt-orders/code/place-gtt-order.md new file mode 100644 index 0000000..dee6e6e --- /dev/null +++ b/examples/gtt-orders/code/place-gtt-order.md @@ -0,0 +1,97 @@ +## Place Single Leg GTT Order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import java.util.ArrayList; +import java.util.List; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + GttPlaceOrderRequest gttPlaceOrderRequest = new GttPlaceOrderRequest(); + gttPlaceOrderRequest.setQuantity(1); + gttPlaceOrderRequest.setProduct(GttPlaceOrderRequest.ProductEnum.D); + gttPlaceOrderRequest.setInstrumentToken("NSE_EQ|INE669E01016"); + gttPlaceOrderRequest.setType(GttPlaceOrderRequest.TypeEnum.SINGLE); + gttPlaceOrderRequest.setTransactionType(GttPlaceOrderRequest.TransactionTypeEnum.BUY); + + List gttRules = new ArrayList<>(); + + GttRule entryRule = new GttRule(); + entryRule.setStrategy(GttRule.StrategyEnum.ENTRY); + entryRule.setTriggerType(GttRule.TriggerTypeEnum.ABOVE); + entryRule.setTriggerPrice(7D); + gttRules.add(entryRule); + + gttPlaceOrderRequest.setRules(gttRules); + + try { + GttTriggerOrderResponse result = apiInstance.placeGTTOrder(gttPlaceOrderRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->placeGTTOrder: " + e.getMessage()); + } + } +} +``` + +## Place Multiple Leg GTT Order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import java.util.ArrayList; +import java.util.List; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + GttPlaceOrderRequest gttPlaceOrderRequest = new GttPlaceOrderRequest(); + gttPlaceOrderRequest.setQuantity(1); + gttPlaceOrderRequest.setProduct(GttPlaceOrderRequest.ProductEnum.D); + gttPlaceOrderRequest.setInstrumentToken("NSE_EQ|INE669E01016"); + gttPlaceOrderRequest.setType(GttPlaceOrderRequest.TypeEnum.MULTIPLE); + gttPlaceOrderRequest.setTransactionType(GttPlaceOrderRequest.TransactionTypeEnum.BUY); + + List gttRules = new ArrayList<>(); + + GttRule entryRule = new GttRule(); + entryRule.setStrategy(GttRule.StrategyEnum.ENTRY); + entryRule.setTriggerType(GttRule.TriggerTypeEnum.ABOVE); + entryRule.setTriggerPrice(7D); + gttRules.add(entryRule); + + GttRule stopLossRule = new GttRule(); + stopLossRule.setStrategy(GttRule.StrategyEnum.STOPLOSS); + stopLossRule.setTriggerType(GttRule.TriggerTypeEnum.IMMEDIATE); + stopLossRule.setTriggerPrice(6D); + gttRules.add(stopLossRule); + + GttRule targetRule = new GttRule(); + targetRule.setStrategy(GttRule.StrategyEnum.TARGET); + targetRule.setTriggerType(GttRule.TriggerTypeEnum.IMMEDIATE); + targetRule.setTriggerPrice(60D); + gttRules.add(targetRule); + + gttPlaceOrderRequest.setRules(gttRules); + + try { + GttTriggerOrderResponse result = apiInstance.placeGTTOrder(gttPlaceOrderRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->placeGTTOrder: " + e.getMessage()); + } + } +} +``` diff --git a/examples/historical-data/README.md b/examples/historical-data/README.md new file mode 100644 index 0000000..912e8dc --- /dev/null +++ b/examples/historical-data/README.md @@ -0,0 +1,43 @@ +# Historical Data – Example code + +Links to all historical-data-related examples in the `code/` folder. + +## 1. Historical Candle Data V3 + +- 1.1 [Get data with a 1-minute interval](code/historical-candle-data-v3.md#get-data-with-a-1-minute-interval) +- 1.2 [Get data with a 3-minute interval](code/historical-candle-data-v3.md#get-data-with-a-3-minute-interval) +- 1.3 [Get data with a 15-minute interval](code/historical-candle-data-v3.md#get-data-with-a-15-minute-interval) +- 1.4 [Get data with a 1-hour interval](code/historical-candle-data-v3.md#get-data-with-a-1-hour-interval) +- 1.5 [Get data with a 4-hour interval](code/historical-candle-data-v3.md#get-data-with-a-4-hour-interval) +- 1.6 [Get data with a daily interval](code/historical-candle-data-v3.md#get-data-with-a-daily-interval) +- 1.7 [Get data with a weekly interval](code/historical-candle-data-v3.md#get-data-with-a-weekly-interval) +- 1.8 [Get data with a monthly interval](code/historical-candle-data-v3.md#get-data-with-a-monthly-interval) + +## 2. Intraday Candle Data V3 + +- 2.1 [Get data with a 1-minute interval](code/intra-day-candle-data-v3.md#get-data-with-a-1-minute-interval) +- 2.2 [Get data with a 3-minute interval](code/intra-day-candle-data-v3.md#get-data-with-a-3-minute-interval) +- 2.3 [Get data with a 5-minute interval](code/intra-day-candle-data-v3.md#get-data-with-a-5-minute-interval) +- 2.4 [Get data with a 15-minute interval](code/intra-day-candle-data-v3.md#get-data-with-a-15-minute-interval) +- 2.5 [Get data with a 30-minute interval](code/intra-day-candle-data-v3.md#get-data-with-a-30-minute-interval) +- 2.6 [Get data with a 1-hour interval](code/intra-day-candle-data-v3.md#get-data-with-a-1-hour-interval) +- 2.7 [Get data with a 2-hour interval](code/intra-day-candle-data-v3.md#get-data-with-a-2-hour-interval) +- 2.8 [Get current day data](code/intra-day-candle-data-v3.md#get-current-day-data) + +## 3. Historical Candle Data + +- 3.1 [Get historical candle data with a 1-minute interval](code/historical-candle-data.md#get-historical-candle-data-with-a-1-minute-interval) +- 3.2 [Get data with a 30-minute interval](code/historical-candle-data.md#get-data-with-a-30-minute-interval) +- 3.3 [Get data with a daily interval](code/historical-candle-data.md#get-data-with-a-daily-interval) +- 3.4 [Get data with a weekly interval](code/historical-candle-data.md#get-data-with-a-weekly-interval) +- 3.5 [Get data with a monthly interval](code/historical-candle-data.md#get-data-with-a-monthly-interval) +- 3.6 [Get historical candle data with a 1-minute interval (without from date)](code/historical-candle-data.md#get-historical-candle-data-with-a-1-minute-interval-without-from-date) +- 3.7 [Get data with a 30-minute interval (without from date)](code/historical-candle-data.md#get-data-with-a-30-minute-interval-without-from-date) +- 3.8 [Get data with a daily interval (without from date)](code/historical-candle-data.md#get-data-with-a-daily-interval-without-from-date) +- 3.9 [Get data with a weekly interval (without from date)](code/historical-candle-data.md#get-data-with-a-weekly-interval-without-from-date) +- 3.10 [Get data with a monthly interval (without from date)](code/historical-candle-data.md#get-data-with-a-monthly-interval-without-from-date) + +## 4. Intraday Candle Data + +- 4.1 [Get intraday candle data with a 1-minute interval](code/intra-day-candle-data.md#get-intraday-candle-data-with-a-1-minute-interval) +- 4.2 [Get intraday candle data with a 30-minute interval](code/intra-day-candle-data.md#get-intraday-candle-data-with-a-30-minute-interval) diff --git a/examples/historical-data/code/historical-candle-data-v3.md b/examples/historical-data/code/historical-candle-data-v3.md new file mode 100644 index 0000000..fe32a2e --- /dev/null +++ b/examples/historical-data/code/historical-candle-data-v3.md @@ -0,0 +1,135 @@ +## Get data with a 1-minute interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetHistoricalCandleResponse result = historyV3Api.getHistoricalCandleData1("NSE_EQ|INE848E01016", "minutes", 1, "2025-01-02", "2025-01-01"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 3-minute interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetHistoricalCandleResponse result = historyV3Api.getHistoricalCandleData1("NSE_EQ|INE848E01016", "minutes", 3, "2025-01-02", "2025-01-01"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 15-minute interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetHistoricalCandleResponse result = historyV3Api.getHistoricalCandleData1("NSE_EQ|INE848E01016", "minutes", 15, "2025-01-04", "2025-01-01"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 1-hour interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetHistoricalCandleResponse result = historyV3Api.getHistoricalCandleData1("NSE_EQ|INE848E01016", "hours", 1, "2025-02-01", "2025-01-01"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 4-hour interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetHistoricalCandleResponse result = historyV3Api.getHistoricalCandleData1("NSE_EQ|INE848E01016", "hours", 4, "2025-02-01", "2025-01-01"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a daily interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetHistoricalCandleResponse result = historyV3Api.getHistoricalCandleData1("NSE_EQ|INE848E01016", "days", 1, "2025-03-01", "2025-01-01"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a weekly interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetHistoricalCandleResponse result = historyV3Api.getHistoricalCandleData1("NSE_EQ|INE848E01016", "weeks", 1, "2025-01-01", "2024-01-01"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a monthly interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetHistoricalCandleResponse result = historyV3Api.getHistoricalCandleData1("NSE_EQ|INE848E01016", "months", 1, "2025-01-01", "2010-01-01"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/historical-data/code/historical-candle-data.md b/examples/historical-data/code/historical-candle-data.md new file mode 100644 index 0000000..83fee5b --- /dev/null +++ b/examples/historical-data/code/historical-candle-data.md @@ -0,0 +1,254 @@ +## Get historical candle data with a 1-minute interval + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "1minute"; + String toDate = "2023-11-13"; + String fromDate = "2023-11-12"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData1(instrumentKey, interval, toDate, fromDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 30-minute interval + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "30minute"; + String toDate = "2023-11-13"; + String fromDate = "2023-11-12"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData1(instrumentKey, interval, toDate, fromDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a daily interval + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "day"; + String toDate = "2023-11-13"; + String fromDate = "2023-11-12"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData1(instrumentKey, interval, toDate, fromDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a weekly interval + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "week"; + String toDate = "2023-11-13"; + String fromDate = "2023-10-13"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData1(instrumentKey, interval, toDate, fromDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a monthly interval + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "month"; + String toDate = "2023-11-13"; + String fromDate = "2022-10-13"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData1(instrumentKey, interval, toDate, fromDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get historical candle data with a 1-minute interval (without from date) + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "1minute"; + String toDate = "2023-11-13"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData(instrumentKey, interval, toDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 30-minute interval (without from date) + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "30minute"; + String toDate = "2023-11-13"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData(instrumentKey, interval, toDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a daily interval (without from date) + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "day"; + String toDate = "2023-11-13"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData(instrumentKey, interval, toDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a weekly interval (without from date) + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "week"; + String toDate = "2023-11-13"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData(instrumentKey, interval, toDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a monthly interval (without from date) + +```java +import com.upstox.ApiException; +import com.upstox.api.GetHistoricalCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "month"; + String toDate = "2023-11-13"; + try { + GetHistoricalCandleResponse result = apiInstance.getHistoricalCandleData(instrumentKey, interval, toDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getHistoricalCandleData1"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/historical-data/code/intra-day-candle-data-v3.md b/examples/historical-data/code/intra-day-candle-data-v3.md new file mode 100644 index 0000000..3a190a9 --- /dev/null +++ b/examples/historical-data/code/intra-day-candle-data-v3.md @@ -0,0 +1,135 @@ +## Get data with a 1-minute interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetIntraDayCandleResponse result = historyV3Api.getIntraDayCandleData("NSE_EQ|INE848E01016", "minutes", 1); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 3-minute interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetIntraDayCandleResponse result = historyV3Api.getIntraDayCandleData("NSE_EQ|INE848E01016", "minutes", 3); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 5-minute interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetIntraDayCandleResponse result = historyV3Api.getIntraDayCandleData("NSE_EQ|INE848E01016", "minutes", 5); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 15-minute interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetIntraDayCandleResponse result = historyV3Api.getIntraDayCandleData("NSE_EQ|INE848E01016", "minutes", 15); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 30-minute interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetIntraDayCandleResponse result = historyV3Api.getIntraDayCandleData("NSE_EQ|INE848E01016", "minutes", 30); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 1-hour interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetIntraDayCandleResponse result = historyV3Api.getIntraDayCandleData("NSE_EQ|INE848E01016", "hours", 1); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` + +## Get data with a 2-hour interval + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetIntraDayCandleResponse result = historyV3Api.getIntraDayCandleData("NSE_EQ|INE848E01016", "hours", 2); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` + +## Get current day data + +```java +public class Main { + public static void main(String[] args) { + HistoryV3Api historyV3Api = new HistoryV3Api(); + try { + GetIntraDayCandleResponse result = historyV3Api.getIntraDayCandleData("NSE_EQ|INE848E01016", "days", 1); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryV3Api->getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/historical-data/code/intra-day-candle-data.md b/examples/historical-data/code/intra-day-candle-data.md new file mode 100644 index 0000000..4c56bbc --- /dev/null +++ b/examples/historical-data/code/intra-day-candle-data.md @@ -0,0 +1,47 @@ +## Get intraday candle data with a 1-minute interval + +```java +import com.upstox.ApiException; +import com.upstox.api.GetIntraDayCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "1minute"; + try { + GetIntraDayCandleResponse result = apiInstance.getIntraDayCandleData(instrumentKey, interval, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` + +## Get intraday candle data with a 30-minute interval + +```java +import com.upstox.ApiException; +import com.upstox.api.GetIntraDayCandleResponse; +import io.swagger.client.api.HistoryApi; + +public class Main { + public static void main(String[] args) { + HistoryApi apiInstance = new HistoryApi(); + String apiVersion = "2.0"; + String instrumentKey = "NSE_EQ|INE669E01016"; + String interval = "30minute"; + try { + GetIntraDayCandleResponse result = apiInstance.getIntraDayCandleData(instrumentKey, interval, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling HistoryApi#getIntraDayCandleData"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/login/README.md b/examples/login/README.md new file mode 100644 index 0000000..aba6138 --- /dev/null +++ b/examples/login/README.md @@ -0,0 +1,15 @@ +# Login – Example code + +Links to all login-related examples in the `code/` folder. + +## 1. Get Token + +- 1.1 [Get access token using auth code](code/get-token.md#get-access-token-using-auth-code) + +## 2. Access Token Request + +- 2.1 [Access token request](code/access-token-request.md#access-token-request) + +## 3. Logout + +- 3.1 [Logout](code/logout.md#logout) diff --git a/examples/login/code/access-token-request.md b/examples/login/code/access-token-request.md new file mode 100644 index 0000000..971bc0f --- /dev/null +++ b/examples/login/code/access-token-request.md @@ -0,0 +1,30 @@ +## Access token request + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.LoginApi; +import com.upstox.api.IndieUserTokenRequest; +import com.upstox.api.ExtendedTokenResponse; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + LoginApi apiInstance = new LoginApi(defaultClient); + + IndieUserTokenRequest indieUserTokenRequest = new IndieUserTokenRequest(); + indieUserTokenRequest.setCode("{your_auth_code}"); + indieUserTokenRequest.setClientSecret("{your_client_secret}"); + indieUserTokenRequest.setRedirectUri("{your_redirect_uri}"); + indieUserTokenRequest.setGrantType(IndieUserTokenRequest.GrantTypeEnum.AUTHORIZATION_CODE); + + try { + ExtendedTokenResponse result = apiInstance.initTokenRequestForIndieUser(indieUserTokenRequest, "your_client_id"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling LoginApi->initTokenRequestForIndieUser: " + e.getMessage()); + } + } +} +``` diff --git a/examples/login/code/get-token.md b/examples/login/code/get-token.md new file mode 100644 index 0000000..0cab83a --- /dev/null +++ b/examples/login/code/get-token.md @@ -0,0 +1,30 @@ +## Get access token using auth code + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.LoginApi; +import com.upstox.api.TokenResponse; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + LoginApi apiInstance = new LoginApi(defaultClient); + + String apiVersion = "2.0"; + String code = "{your_auth_code}"; + String clientId = "{your_client_id}"; + String clientSecret = "{your_client_secret}"; + String redirectUri = "{your_redirect_uri}"; + String grantType = "authorization_code"; + + try { + TokenResponse result = apiInstance.token(apiVersion, code, clientId, clientSecret, redirectUri, grantType); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling LoginApi->token: " + e.getMessage()); + } + } +} +``` diff --git a/examples/login/code/logout.md b/examples/login/code/logout.md new file mode 100644 index 0000000..666dc6a --- /dev/null +++ b/examples/login/code/logout.md @@ -0,0 +1,29 @@ +## Logout + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.LoginApi; +import com.upstox.api.LogoutResponse; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + LoginApi apiInstance = new LoginApi(defaultClient); + String apiVersion = "2.0"; + + try { + LogoutResponse result = apiInstance.logout(apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling LoginApi->logout: " + e.getMessage()); + } + } +} +``` diff --git a/examples/margins/README.md b/examples/margins/README.md new file mode 100644 index 0000000..2645976 --- /dev/null +++ b/examples/margins/README.md @@ -0,0 +1,11 @@ +# Margins – Example code + +Links to all margin-related examples in the `code/` folder. + +## 1. Margin Details + +- 1.1 [Get margin details for equity delivery orders](code/margin-details.md#get-margin-details-for-equity-delivery-orders) +- 1.2 [Get margin details for future delivery orders](code/margin-details.md#get-margin-details-for-future-delivery-orders) +- 1.3 [Get margin details for option delivery orders](code/margin-details.md#get-margin-details-for-option-delivery-orders) +- 1.4 [Get margin details for MCX delivery orders](code/margin-details.md#get-margin-details-for-mcx-delivery-orders) +- 1.5 [Get margin details for currency delivery orders](code/margin-details.md#get-margin-details-for-currency-delivery-orders) diff --git a/examples/margins/code/margin-details.md b/examples/margins/code/margin-details.md new file mode 100644 index 0000000..671ef85 --- /dev/null +++ b/examples/margins/code/margin-details.md @@ -0,0 +1,179 @@ +## Get margin details for equity delivery orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import com.upstox.auth.*; +import io.swagger.client.api.ChargeApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ChargeApi api = new ChargeApi(); + MarginRequest marginRequest = new MarginRequest(); + Instrument instrument = new Instrument(); + instrument.setInstrumentKey("NSE_EQ|INE669E01016"); + instrument.setQuantity(1); + instrument.setProduct("D"); + instrument.setTransactionType("BUY"); + marginRequest.addInstrumentsItem(instrument); + try { + PostMarginResponse response = api.postMargin(marginRequest); + System.out.println(response); + } catch (ApiException e) { + System.err.println("Exception when calling Margin API " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +## Get margin details for future delivery orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import com.upstox.auth.*; +import io.swagger.client.api.ChargeApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ChargeApi api = new ChargeApi(); + MarginRequest marginRequest = new MarginRequest(); + Instrument instrument = new Instrument(); + instrument.setInstrumentKey("NSE_FO|35000"); + instrument.setQuantity(1); + instrument.setProduct("D"); + instrument.setTransactionType("BUY"); + marginRequest.addInstrumentsItem(instrument); + try { + PostMarginResponse response = api.postMargin(marginRequest); + System.out.println(response); + } catch (ApiException e) { + System.err.println("Exception when calling Margin API " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +## Get margin details for option delivery orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import com.upstox.auth.*; +import io.swagger.client.api.ChargeApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ChargeApi api = new ChargeApi(); + MarginRequest marginRequest = new MarginRequest(); + Instrument instrument = new Instrument(); + instrument.setInstrumentKey("NSE_FO|54524"); + instrument.setQuantity(1); + instrument.setProduct("D"); + instrument.setTransactionType("BUY"); + marginRequest.addInstrumentsItem(instrument); + try { + PostMarginResponse response = api.postMargin(marginRequest); + System.out.println(response); + } catch (ApiException e) { + System.err.println("Exception when calling Margin API " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +## Get margin details for MCX delivery orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import com.upstox.auth.*; +import io.swagger.client.api.ChargeApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ChargeApi api = new ChargeApi(); + MarginRequest marginRequest = new MarginRequest(); + Instrument instrument = new Instrument(); + instrument.setInstrumentKey("MCX_FO|435356"); + instrument.setQuantity(1); + instrument.setProduct("D"); + instrument.setTransactionType("BUY"); + marginRequest.addInstrumentsItem(instrument); + try { + PostMarginResponse response = api.postMargin(marginRequest); + System.out.println(response); + } catch (ApiException e) { + System.err.println("Exception when calling Margin API " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +## Get margin details for currency delivery orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; +import com.upstox.auth.*; +import io.swagger.client.api.ChargeApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + ChargeApi api = new ChargeApi(); + MarginRequest marginRequest = new MarginRequest(); + Instrument instrument = new Instrument(); + instrument.setInstrumentKey("NCD_FO|15758"); + instrument.setQuantity(1); + instrument.setProduct("D"); + instrument.setTransactionType("BUY"); + marginRequest.addInstrumentsItem(instrument); + try { + PostMarginResponse response = api.postMargin(marginRequest); + System.out.println(response); + } catch (ApiException e) { + System.err.println("Exception when calling Margin API " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/market-information/README.md b/examples/market-information/README.md new file mode 100644 index 0000000..05cb198 --- /dev/null +++ b/examples/market-information/README.md @@ -0,0 +1,16 @@ +# Market Information – Example code + +Links to all market-information-related examples in the `code/` folder. + +## 1. Exchange Status + +- 1.1 [Get market status for a particular exchange](code/exchange-status.md#get-market-status-for-a-particular-exchange) + +## 2. Market Timings + +- 2.1 [Get market timings of a date](code/market-timings.md#get-market-timings-of-a-date) + +## 3. Market Holidays + +- 3.1 [Get market holidays for current year](code/market-holidays.md#get-market-holidays-for-current-year) +- 3.2 [Get market holiday status of a date](code/market-holidays.md#get-market-holiday-status-of-a-date) diff --git a/examples/market-information/code/exchange-status.md b/examples/market-information/code/exchange-status.md new file mode 100644 index 0000000..3b11570 --- /dev/null +++ b/examples/market-information/code/exchange-status.md @@ -0,0 +1,28 @@ +## Get market status for a particular exchange + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketStatusResponse; +import com.upstox.auth.OAuth; +import io.swagger.client.api.MarketHolidaysAndTimingsApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + MarketHolidaysAndTimingsApi apiInstance = new MarketHolidaysAndTimingsApi(); + + try { + GetMarketStatusResponse result = apiInstance.getMarketStatus("NSE"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling API= " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/market-information/code/market-holidays.md b/examples/market-information/code/market-holidays.md new file mode 100644 index 0000000..9465870 --- /dev/null +++ b/examples/market-information/code/market-holidays.md @@ -0,0 +1,47 @@ +## Get market holidays for current year + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetHolidayResponse; +import io.swagger.client.api.MarketHolidaysAndTimingsApi; + +public class Main { + public static void main(String[] args) { + MarketHolidaysAndTimingsApi apiInstance = new MarketHolidaysAndTimingsApi(); + + try { + GetHolidayResponse result = apiInstance.getHolidays(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling API= " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +## Get market holiday status of a date + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetHolidayResponse; +import io.swagger.client.api.MarketHolidaysAndTimingsApi; + +public class Main { + public static void main(String[] args) { + MarketHolidaysAndTimingsApi apiInstance = new MarketHolidaysAndTimingsApi(); + + try { + GetHolidayResponse result = apiInstance.getHoliday("2024-01-22"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling API= " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/market-information/code/market-timings.md b/examples/market-information/code/market-timings.md new file mode 100644 index 0000000..4472868 --- /dev/null +++ b/examples/market-information/code/market-timings.md @@ -0,0 +1,21 @@ +## Get market timings of a date + +```java +import com.upstox.ApiException; +import com.upstox.api.GetExchangeTimingResponse; +import io.swagger.client.api.MarketHolidaysAndTimingsApi; + +public class Main { + public static void main(String[] args) { + MarketHolidaysAndTimingsApi apiInstance = new MarketHolidaysAndTimingsApi(); + + try { + GetExchangeTimingResponse result = apiInstance.getExchangeTimings("2024-01-22"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling API= " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/market-quote/README.md b/examples/market-quote/README.md new file mode 100644 index 0000000..6b45cde --- /dev/null +++ b/examples/market-quote/README.md @@ -0,0 +1,33 @@ +# Market Quote – Example code + +Links to all market-quote-related examples in the `code/` folder. + +## 1. LTP Quotes V3 + +- 1.1 [Get ltp (last traded price) market quotes](code/ltp-quotes-v3.md#get-ltp-last-traded-price-market-quotes) +- 1.2 [Get ltp (last traded price) market quotes for multiple instruments keys](code/ltp-quotes-v3.md#get-ltp-last-traded-price-market-quotes-for-multiple-instruments-keys) + +## 2. OHLC Quotes V3 + +- 2.1 [Get ohlc market quotes](code/ohlc-quotes-v3.md#get-ohlc-market-quotes) +- 2.2 [Get ohlc market quotes for multiple instrument keys](code/ohlc-quotes-v3.md#get-ohlc-market-quotes-for-multiple-instrument-keys) + +## 3. Option Greek + +- 3.1 [Get Option Greek fields](code/option-greek.md#get-option-greek-fields) +- 3.2 [Get Option Greek fields for multiple instruments keys](code/option-greek.md#get-option-greek-fields-for-multiple-instruments-keys) + +## 4. Full Market Quotes + +- 4.1 [Get full market quote](code/full-market-quotes.md#get-full-market-quote) +- 4.2 [Get full market quote for multiple instrument keys](code/full-market-quotes.md#get-full-market-quote-for-multiple-instrument-keys) + +## 5. LTP Quotes + +- 5.1 [Get ltp (last traded price) market quotes](code/ltp-quotes.md#get-ltp-last-traded-price-market-quotes) +- 5.2 [Get ltp (last traded price) market quotes for multiple instruments keys](code/ltp-quotes.md#get-ltp-last-traded-price-market-quotes-for-multiple-instruments-keys) + +## 6. OHLC Quotes + +- 6.1 [Get ohlc market quotes](code/ohlc-quotes.md#get-ohlc-market-quotes) +- 6.2 [Get ohlc market quotes for multiple instrument keys](code/ohlc-quotes.md#get-ohlc-market-quotes-for-multiple-instrument-keys) diff --git a/examples/market-quote/code/full-market-quotes.md b/examples/market-quote/code/full-market-quotes.md new file mode 100644 index 0000000..2d4d7ef --- /dev/null +++ b/examples/market-quote/code/full-market-quotes.md @@ -0,0 +1,63 @@ +## Get full market quote + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetFullMarketQuoteResponse; +import com.upstox.api.MarketQuoteApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + MarketQuoteApi apiInstance = new MarketQuoteApi(); + String symbol = "NSE_EQ|INE848E01016"; + String apiVersion = "2.0"; + + try { + GetFullMarketQuoteResponse result = apiInstance.getFullMarketQuote(symbol, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteApi#getFullMarketQuote"); + e.printStackTrace(); + } + } +} +``` + +## Get full market quote for multiple instrument keys + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetFullMarketQuoteResponse; +import com.upstox.api.MarketQuoteApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + MarketQuoteApi apiInstance = new MarketQuoteApi(); + String symbol = "NSE_EQ|INE848E01016,NSE_EQ|INE669E01016"; + String apiVersion = "2.0"; + + try { + GetFullMarketQuoteResponse result = apiInstance.getFullMarketQuote(symbol, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteApi#getFullMarketQuote"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/market-quote/code/ltp-quotes-v3.md b/examples/market-quote/code/ltp-quotes-v3.md new file mode 100644 index 0000000..06dcfd7 --- /dev/null +++ b/examples/market-quote/code/ltp-quotes-v3.md @@ -0,0 +1,51 @@ +## Get ltp (last traded price) market quotes + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteLastTradedPriceResponse; +import com.upstox.api.MarketQuoteV3Api; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + MarketQuoteV3Api apiInstance = new MarketQuoteV3Api(); + + try { + GetMarketQuoteLastTradedPriceResponse result = apiInstance.getLtp("NSE_EQ|INE848E01016"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteV3Api->getLtp: " + e.getMessage()); + } + } +} +``` + +## Get ltp (last traded price) market quotes for multiple instruments keys + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteLastTradedPriceResponse; +import com.upstox.api.MarketQuoteV3Api; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + MarketQuoteV3Api apiInstance = new MarketQuoteV3Api(); + + try { + GetMarketQuoteLastTradedPriceResponse result = apiInstance.getLtp("NSE_EQ|INE848E01016,NSE_EQ|INE669E01016"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteV3Api->getLtp: " + e.getMessage()); + } + } +} +``` diff --git a/examples/market-quote/code/ltp-quotes.md b/examples/market-quote/code/ltp-quotes.md new file mode 100644 index 0000000..ddda7ff --- /dev/null +++ b/examples/market-quote/code/ltp-quotes.md @@ -0,0 +1,63 @@ +## Get ltp (last traded price) market quotes + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteLastTradedPriceResponse; +import com.upstox.api.MarketQuoteApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + MarketQuoteApi apiInstance = new MarketQuoteApi(); + String symbol = "NSE_EQ|INE848E01016"; + String apiVersion = "2.0"; + + try { + GetMarketQuoteLastTradedPriceResponse result = apiInstance.ltp(symbol, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteApi#ltp"); + e.printStackTrace(); + } + } +} +``` + +## Get ltp (last traded price) market quotes for multiple instruments keys + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteLastTradedPriceResponse; +import com.upstox.api.MarketQuoteApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + MarketQuoteApi apiInstance = new MarketQuoteApi(); + String symbol = "NSE_EQ|INE848E01016,NSE_EQ|INE669E01016"; + String apiVersion = "2.0"; + + try { + GetMarketQuoteLastTradedPriceResponse result = apiInstance.ltp(symbol, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteApi#ltp"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/market-quote/code/ohlc-quotes-v3.md b/examples/market-quote/code/ohlc-quotes-v3.md new file mode 100644 index 0000000..13e51ad --- /dev/null +++ b/examples/market-quote/code/ohlc-quotes-v3.md @@ -0,0 +1,51 @@ +## Get ohlc market quotes + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteOHLCResponse; +import com.upstox.api.MarketQuoteV3Api; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + MarketQuoteV3Api apiInstance = new MarketQuoteV3Api(); + + try { + GetMarketQuoteOHLCResponse result = apiInstance.getMarketQuoteOHLC("1d", "NSE_EQ|INE669E01016"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteV3Api->getMarketQuoteOHLC: " + e.getMessage()); + } + } +} +``` + +## Get ohlc market quotes for multiple instrument keys + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteOHLCResponse; +import com.upstox.api.MarketQuoteV3Api; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + MarketQuoteV3Api apiInstance = new MarketQuoteV3Api(); + + try { + GetMarketQuoteOHLCResponse result = apiInstance.getMarketQuoteOHLC("1d", "NSE_EQ|INE669E01016,NSE_EQ|INE848E01016"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteV3Api->getMarketQuoteOHLC: " + e.getMessage()); + } + } +} +``` diff --git a/examples/market-quote/code/ohlc-quotes.md b/examples/market-quote/code/ohlc-quotes.md new file mode 100644 index 0000000..2e7cdc8 --- /dev/null +++ b/examples/market-quote/code/ohlc-quotes.md @@ -0,0 +1,65 @@ +## Get ohlc market quotes + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteOHLCResponse; +import com.upstox.api.MarketQuoteApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + MarketQuoteApi apiInstance = new MarketQuoteApi(); + String symbol = "NSE_EQ|INE848E01016"; + String interval = "1d"; + String apiVersion = "2.0"; + + try { + GetMarketQuoteOHLCResponse result = apiInstance.getMarketQuoteOHLC(symbol, interval, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteApi#getMarketQuoteOHLC"); + e.printStackTrace(); + } + } +} +``` + +## Get ohlc market quotes for multiple instrument keys + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteOHLCResponse; +import com.upstox.api.MarketQuoteApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + MarketQuoteApi apiInstance = new MarketQuoteApi(); + String symbol = "NSE_EQ|INE848E01016,NSE_EQ|INE669E01016"; + String interval = "1d"; + String apiVersion = "2.0"; + + try { + GetMarketQuoteOHLCResponse result = apiInstance.getMarketQuoteOHLC(symbol, interval, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteApi#getMarketQuoteOHLC"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/market-quote/code/option-greek.md b/examples/market-quote/code/option-greek.md new file mode 100644 index 0000000..4d03785 --- /dev/null +++ b/examples/market-quote/code/option-greek.md @@ -0,0 +1,51 @@ +## Get Option Greek fields + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteOptionGreekResponse; +import com.upstox.api.MarketQuoteV3Api; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + MarketQuoteV3Api apiInstance = new MarketQuoteV3Api(); + + try { + GetMarketQuoteOptionGreekResponse result = apiInstance.getMarketQuoteOptionGreek("NSE_FO|43885"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteV3Api->getMarketQuoteOptionGreek: " + e.getMessage()); + } + } +} +``` + +## Get Option Greek fields for multiple instruments keys + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetMarketQuoteOptionGreekResponse; +import com.upstox.api.MarketQuoteV3Api; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + MarketQuoteV3Api apiInstance = new MarketQuoteV3Api(); + + try { + GetMarketQuoteOptionGreekResponse result = apiInstance.getMarketQuoteOptionGreek("NSE_FO|38604,NSE_FO|49210"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MarketQuoteV3Api->getMarketQuoteOptionGreek: " + e.getMessage()); + } + } +} +``` diff --git a/examples/option-chain/README.md b/examples/option-chain/README.md new file mode 100644 index 0000000..6e21abb --- /dev/null +++ b/examples/option-chain/README.md @@ -0,0 +1,12 @@ +# Option Chain – Example code + +Links to all option-chain-related examples in the `code/` folder. + +## 1. Option Contracts + +- 1.1 [Get option contracts of an instrument key](code/option-contracts.md#get-option-contracts-of-an-instrument-key) +- 1.2 [Get option contracts of an instrument key with expiry date](code/option-contracts.md#get-option-contracts-of-an-instrument-key-with-expiry-date) + +## 2. Put/Call Option Chain + +- 2.1 [Get put/call option chain](code/put-call-option-chain.md#get-putcall-option-chain) diff --git a/examples/option-chain/code/option-contracts.md b/examples/option-chain/code/option-contracts.md new file mode 100644 index 0000000..694dce4 --- /dev/null +++ b/examples/option-chain/code/option-contracts.md @@ -0,0 +1,59 @@ +## Get option contracts of an instrument key + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetOptionContractResponse; +import com.upstox.api.OptionsApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OptionsApi apiInstance = new OptionsApi(); + + try { + GetOptionContractResponse result = apiInstance.getOptionContracts("NSE_INDEX|Nifty 50", null); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OptionsApi#getOptionContracts"); + e.printStackTrace(); + } + } +} +``` + +## Get option contracts of an instrument key with expiry date + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetOptionContractResponse; +import com.upstox.api.OptionsApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OptionsApi apiInstance = new OptionsApi(); + + try { + GetOptionContractResponse result = apiInstance.getOptionContracts("NSE_INDEX|Nifty 50", "2024-10-31"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OptionsApi#getOptionContracts"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/option-chain/code/put-call-option-chain.md b/examples/option-chain/code/put-call-option-chain.md new file mode 100644 index 0000000..b3981a0 --- /dev/null +++ b/examples/option-chain/code/put-call-option-chain.md @@ -0,0 +1,29 @@ +## Get put/call option chain + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetPutCallOptionChainResponse; +import com.upstox.api.OptionsApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OptionsApi apiInstance = new OptionsApi(); + + try { + GetPutCallOptionChainResponse result = apiInstance.getPutCallOptionChain("NSE_INDEX|Nifty 50", "2024-10-31"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OptionsApi#getPutCallOptionChain"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/orders/README.md b/examples/orders/README.md new file mode 100644 index 0000000..4020c52 --- /dev/null +++ b/examples/orders/README.md @@ -0,0 +1,72 @@ +# Orders – Example code + +Links to all order-related examples in the `code/` folder. + +## 1. Place Order V3 + +- 1.1 [Place an order with slicing enabled](code/place-order-v3.md#place-an-order-with-slicing-enabled) +- 1.2 [Place an order with slicing disabled](code/place-order-v3.md#place-an-order-with-slicing-disabled) + +## 2. Place Multi Order + +- 2.1 [Place a multi order](code/place-multi-order.md#place-a-multi-order) +- 2.2 [Place Multiple BUY and SELL Orders](code/place-multi-order.md#place-multiple-buy-and-sell-orders) +- 2.3 [Place Multiple Orders with Auto Slicing enabled](code/place-multi-order.md#place-multiple-orders-with-auto-slicing-enabled) + +## 3. Modify Order V3 + +- 3.1 [Modify a delivery order](code/modify-order-v3.md#modify-a-delivery-order) + +## 4. Cancel Order V3 + +- 4.1 [Cancel an open order](code/cancel-order-v3.md#cancel-an-open-order) + +## 5. Cancel Multi Order + +- 5.1 [Cancel all the open orders](code/cancel-multi-order.md#cancel-all-the-open-orders) +- 5.2 [Cancel all the open orders for a given segment](code/cancel-multi-order.md#cancel-all-the-open-orders-for-a-given-segment) +- 5.3 [Cancel all the open orders for a given tag](code/cancel-multi-order.md#cancel-all-the-open-orders-for-a-given-tag) + +## 6. Exit All Positions + +- 6.1 [Exit all the open positions](code/exit-all-positions.md#exit-all-the-open-positions) +- 6.2 [Exit all the open positions for a given segment](code/exit-all-positions.md#exit-all-the-open-positions-for-a-given-segment) +- 6.3 [Exit all the open positions for a given tag](code/exit-all-positions.md#exit-all-the-open-positions-for-a-given-tag) + +## 7. Get Order Details + +- 7.1 [Get order details for an order number](code/get-order-details.md#get-order-details-for-an-order-number) + +## 8. Get Order History + +- 8.1 [Get order history for an order number](code/get-order-history.md#get-order-history-for-an-order-number) + +## 9. Get Order Book + +- 9.1 [Get all orders for the day](code/get-order-book.md#get-all-orders-for-the-day) + +## 10. Get Trades + +- 10.1 [Get all trades for the day](code/get-trades.md#get-all-trades-for-the-day) + +## 11. Get Order Trades + +- 11.1 [Get trades for an order number](code/get-order-trades.md#get-trades-for-an-order-number) + +## 12. Get Historical Trades + +- 12.1 [Get trade history for equity segment](code/get-historical-trades.md#get-trade-history-for-equity-segment) +- 12.2 [Get trade history for futures and options segment](code/get-historical-trades.md#get-trade-history-for-futures-and-options-segment) + +## 13. Place Order + +- 13.1 [Place a delivery market order](code/place-order.md#place-a-delivery-market-order) +- 13.2 [Place a delivery limit order](code/place-order.md#place-a-delivery-limit-order) + +## 14. Modify Order + +- 14.1 [Modify a delivery order](code/modify-order.md#modify-a-delivery-order) + +## 15. Cancel Order + +- 15.1 [Cancel an open order](code/cancel-order.md#cancel-an-open-order) diff --git a/examples/orders/code/cancel-multi-order.md b/examples/orders/code/cancel-multi-order.md new file mode 100644 index 0000000..004c9f8 --- /dev/null +++ b/examples/orders/code/cancel-multi-order.md @@ -0,0 +1,86 @@ +## Cancel all the open orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.MultiOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + + try { + MultiOrderResponse result = apiInstance.cancelMultiOrder(null, null); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->cancelMultiOrder: " + e.getMessage()); + } + } +} +``` + +## Cancel all the open orders for a given segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.MultiOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + + try { + MultiOrderResponse result = apiInstance.cancelMultiOrder(null, "NSE_FO"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->cancelMultiOrder: " + e.getMessage()); + } + } +} +``` + +## Cancel all the open orders for a given tag + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.MultiOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + + try { + MultiOrderResponse result = apiInstance.cancelMultiOrder("xyz", null); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->cancelMultiOrder: " + e.getMessage()); + } + } +} +``` diff --git a/examples/orders/code/cancel-order-v3.md b/examples/orders/code/cancel-order-v3.md new file mode 100644 index 0000000..5262eb7 --- /dev/null +++ b/examples/orders/code/cancel-order-v3.md @@ -0,0 +1,25 @@ +## Cancel an open order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.OrderApiV3; +import com.upstox.api.CancelOrderV3Response; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + + try { + CancelOrderV3Response result = apiInstance.cancelOrder("250128010534339"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApiV3->cancelOrder: " + e.getMessage()); + } + } +} +``` diff --git a/examples/orders/code/cancel-order.md b/examples/orders/code/cancel-order.md new file mode 100644 index 0000000..2e47065 --- /dev/null +++ b/examples/orders/code/cancel-order.md @@ -0,0 +1,31 @@ +## Cancel an open order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.CancelOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + String apiVersion = "2.0"; + String orderId = "240108010918222"; + + try { + CancelOrderResponse result = apiInstance.cancelOrder(orderId, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi#cancelOrder"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/orders/code/exit-all-positions.md b/examples/orders/code/exit-all-positions.md new file mode 100644 index 0000000..7c4cd06 --- /dev/null +++ b/examples/orders/code/exit-all-positions.md @@ -0,0 +1,86 @@ +## Exit all the open positions + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.MultiOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + + try { + MultiOrderResponse result = apiInstance.exitPositions(null, null); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->exitPositions: " + e.getMessage()); + } + } +} +``` + +## Exit all the open positions for a given segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.MultiOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + + try { + MultiOrderResponse result = apiInstance.exitPositions(null, "NSE_FO"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->exitPositions: " + e.getMessage()); + } + } +} +``` + +## Exit all the open positions for a given tag + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.MultiOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + + try { + MultiOrderResponse result = apiInstance.exitPositions("xyz", null); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->exitPositions: " + e.getMessage()); + } + } +} +``` diff --git a/examples/orders/code/get-historical-trades.md b/examples/orders/code/get-historical-trades.md new file mode 100644 index 0000000..75d24d0 --- /dev/null +++ b/examples/orders/code/get-historical-trades.md @@ -0,0 +1,67 @@ +## Get trade history for equity segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetTradeWiseMetaDataResponse; +import com.upstox.api.PostTradeApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + PostTradeApi apiInstance = new PostTradeApi(); + String segment = "EQ"; + String startDate = "02-04-2023"; + String endDate = "20-03-2024"; + String apiVersion = "2.0"; + + try { + GetTradeWiseMetaDataResponse result = apiInstance.getTradesByDateRange(segment, startDate, endDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PostTradeApi#getTradesByDateRange"); + e.printStackTrace(); + } + } +} +``` + +## Get trade history for futures and options segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetTradeWiseMetaDataResponse; +import com.upstox.api.PostTradeApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + PostTradeApi apiInstance = new PostTradeApi(); + String segment = "FO"; + String startDate = "02-04-2023"; + String endDate = "20-03-2024"; + String apiVersion = "2.0"; + + try { + GetTradeWiseMetaDataResponse result = apiInstance.getTradesByDateRange(segment, startDate, endDate, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PostTradeApi#getTradesByDateRange"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/orders/code/get-order-book.md b/examples/orders/code/get-order-book.md new file mode 100644 index 0000000..b39a4b6 --- /dev/null +++ b/examples/orders/code/get-order-book.md @@ -0,0 +1,30 @@ +## Get all orders for the day + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetOrderBookResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + String apiVersion = "2.0"; + + try { + GetOrderBookResponse result = apiInstance.getOrderBook(apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi#getOrderBook"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/orders/code/get-order-details.md b/examples/orders/code/get-order-details.md new file mode 100644 index 0000000..ecec568 --- /dev/null +++ b/examples/orders/code/get-order-details.md @@ -0,0 +1,28 @@ +## Get order details for an order number + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetOrderDetailsResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + + try { + GetOrderDetailsResponse result = apiInstance.getOrderStatus("241017010620466"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->getOrderStatus: " + e.getMessage()); + } + } +} +``` diff --git a/examples/orders/code/get-order-history.md b/examples/orders/code/get-order-history.md new file mode 100644 index 0000000..e1065b1 --- /dev/null +++ b/examples/orders/code/get-order-history.md @@ -0,0 +1,32 @@ +## Get order history for an order number + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + String apiVersion = "2.0"; + String orderId = "240108010918222"; + String tag = null; + + try { + GetOrderResponse result = apiInstance.getOrderDetails(apiVersion, orderId, tag); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi#getOrderDetails"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/orders/code/get-order-trades.md b/examples/orders/code/get-order-trades.md new file mode 100644 index 0000000..052f9eb --- /dev/null +++ b/examples/orders/code/get-order-trades.md @@ -0,0 +1,31 @@ +## Get trades for an order number + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetTradeResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + String apiVersion = "2.0"; + String orderId = "240108010918222"; + + try { + GetTradeResponse result = apiInstance.getTradesByOrder(orderId, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi#getTradesByOrder"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/orders/code/get-trades.md b/examples/orders/code/get-trades.md new file mode 100644 index 0000000..21a391d --- /dev/null +++ b/examples/orders/code/get-trades.md @@ -0,0 +1,30 @@ +## Get all trades for the day + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetTradeResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + String apiVersion = "2.0"; + + try { + GetTradeResponse result = apiInstance.getTradeHistory(apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi#getTradeHistory"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/orders/code/modify-order-v3.md b/examples/orders/code/modify-order-v3.md new file mode 100644 index 0000000..6aede3e --- /dev/null +++ b/examples/orders/code/modify-order-v3.md @@ -0,0 +1,34 @@ +## Modify a delivery order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.OrderApiV3; +import com.upstox.api.ModifyOrderRequest; +import com.upstox.api.ModifyOrderV3Response; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + ModifyOrderRequest modifyOrderRequest1 = new ModifyOrderRequest(); + modifyOrderRequest1.setQuantity(2); + modifyOrderRequest1.setValidity(ModifyOrderRequest.ValidityEnum.DAY); + modifyOrderRequest1.setPrice(9F); + modifyOrderRequest1.setDisclosedQuantity(0); + modifyOrderRequest1.setTriggerPrice(0F); + modifyOrderRequest1.setOrderType(ModifyOrderRequest.OrderTypeEnum.LIMIT); + modifyOrderRequest1.setOrderId("250128010532402"); + + try { + ModifyOrderV3Response result = apiInstance.modifyOrder(modifyOrderRequest1); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApiV3->modifyOrder: " + e.getMessage()); + } + } +} +``` diff --git a/examples/orders/code/modify-order.md b/examples/orders/code/modify-order.md new file mode 100644 index 0000000..c517567 --- /dev/null +++ b/examples/orders/code/modify-order.md @@ -0,0 +1,39 @@ +## Modify a delivery order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.ModifyOrderRequest; +import com.upstox.api.ModifyOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + String apiVersion = "2.0"; + ModifyOrderRequest body = new ModifyOrderRequest(); + body.setQuantity(2); + body.setValidity(ModifyOrderRequest.ValidityEnum.DAY); + body.setPrice(16.8F); + body.setOrderId("240108010918222"); + body.setOrderType(ModifyOrderRequest.OrderTypeEnum.LIMIT); + body.setDisclosedQuantity(0); + body.setTriggerPrice(16.9F); + + try { + ModifyOrderResponse result = apiInstance.modifyOrder(body, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi#modifyOrder"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/orders/code/place-multi-order.md b/examples/orders/code/place-multi-order.md new file mode 100644 index 0000000..566721e --- /dev/null +++ b/examples/orders/code/place-multi-order.md @@ -0,0 +1,149 @@ +## Place a multi order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.MultiOrderData; +import com.upstox.api.MultiOrderRequest; +import com.upstox.api.MultiOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; +import java.util.Arrays; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + MultiOrderRequest multiOrderRequest = new MultiOrderRequest(); + MultiOrderData order = new MultiOrderData(); + order.setQuantity(1); + order.setProduct(MultiOrderData.ProductEnum.D); + order.setValidity(MultiOrderData.ValidityEnum.DAY); + order.setPrice(0F); + order.setInstrumentToken("NSE_EQ|INE848E01016"); + order.setOrderType(MultiOrderData.OrderTypeEnum.MARKET); + order.setTransactionType(MultiOrderData.TransactionTypeEnum.BUY); + order.setDisclosedQuantity(0); + order.setTriggerPrice(0F); + order.setIsAmo(false); + multiOrderRequest.setOrders(Arrays.asList(order)); + + try { + MultiOrderResponse result = apiInstance.placeMultiOrder(multiOrderRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->placeMultiOrder: " + e.getMessage()); + } + } +} +``` + +## Place Multiple BUY and SELL Orders + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.MultiOrderData; +import com.upstox.api.MultiOrderRequest; +import com.upstox.api.MultiOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; +import java.util.Arrays; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + MultiOrderRequest multiOrderRequest = new MultiOrderRequest(); + + MultiOrderData buyOrder = new MultiOrderData(); + buyOrder.setQuantity(1); + buyOrder.setProduct(MultiOrderData.ProductEnum.D); + buyOrder.setValidity(MultiOrderData.ValidityEnum.DAY); + buyOrder.setPrice(0F); + buyOrder.setInstrumentToken("NSE_EQ|INE848E01016"); + buyOrder.setOrderType(MultiOrderData.OrderTypeEnum.MARKET); + buyOrder.setTransactionType(MultiOrderData.TransactionTypeEnum.BUY); + buyOrder.setDisclosedQuantity(0); + buyOrder.setTriggerPrice(0F); + buyOrder.setIsAmo(false); + + MultiOrderData sellOrder = new MultiOrderData(); + sellOrder.setQuantity(1); + sellOrder.setProduct(MultiOrderData.ProductEnum.D); + sellOrder.setValidity(MultiOrderData.ValidityEnum.DAY); + sellOrder.setPrice(0F); + sellOrder.setInstrumentToken("NSE_EQ|INE669E01016"); + sellOrder.setOrderType(MultiOrderData.OrderTypeEnum.MARKET); + sellOrder.setTransactionType(MultiOrderData.TransactionTypeEnum.SELL); + sellOrder.setDisclosedQuantity(0); + sellOrder.setTriggerPrice(0F); + sellOrder.setIsAmo(false); + + multiOrderRequest.setOrders(Arrays.asList(buyOrder, sellOrder)); + + try { + MultiOrderResponse result = apiInstance.placeMultiOrder(multiOrderRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->placeMultiOrder: " + e.getMessage()); + } + } +} +``` + +## Place Multiple Orders with Auto Slicing enabled + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.MultiOrderData; +import com.upstox.api.MultiOrderRequest; +import com.upstox.api.MultiOrderResponse; +import com.upstox.api.OrderApi; +import com.upstox.auth.*; +import java.util.Arrays; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + MultiOrderRequest multiOrderRequest = new MultiOrderRequest(); + MultiOrderData order = new MultiOrderData(); + order.setQuantity(1); + order.setProduct(MultiOrderData.ProductEnum.D); + order.setValidity(MultiOrderData.ValidityEnum.DAY); + order.setPrice(0F); + order.setInstrumentToken("NSE_EQ|INE848E01016"); + order.setOrderType(MultiOrderData.OrderTypeEnum.MARKET); + order.setTransactionType(MultiOrderData.TransactionTypeEnum.BUY); + order.setDisclosedQuantity(0); + order.setTriggerPrice(0F); + order.setIsAmo(false); + order.setSliceOrder(true); + multiOrderRequest.setOrders(Arrays.asList(order)); + + try { + MultiOrderResponse result = apiInstance.placeMultiOrder(multiOrderRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi->placeMultiOrder: " + e.getMessage()); + } + } +} +``` diff --git a/examples/orders/code/place-order-v3.md b/examples/orders/code/place-order-v3.md new file mode 100644 index 0000000..902d86c --- /dev/null +++ b/examples/orders/code/place-order-v3.md @@ -0,0 +1,77 @@ +## Place an order with slicing enabled + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.OrderApiV3; +import com.upstox.api.PlaceOrderV3Request; +import com.upstox.api.PlaceOrderV3Response; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + PlaceOrderV3Request body = new PlaceOrderV3Request(); + body.setQuantity(1); + body.setProduct(PlaceOrderV3Request.ProductEnum.D); + body.setValidity(PlaceOrderV3Request.ValidityEnum.DAY); + body.setPrice(0F); + body.setInstrumentToken("NSE_EQ|INE848E01016"); + body.setOrderType(PlaceOrderV3Request.OrderTypeEnum.MARKET); + body.setTransactionType(PlaceOrderV3Request.TransactionTypeEnum.BUY); + body.setDisclosedQuantity(0); + body.setTriggerPrice(0F); + body.setIsAmo(false); + body.setSliceOrder(true); + + try { + PlaceOrderV3Response result = apiInstance.placeOrder(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApiV3->placeOrder: " + e.getMessage()); + } + } +} +``` + +## Place an order with slicing disabled + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.OrderApiV3; +import com.upstox.api.PlaceOrderV3Request; +import com.upstox.api.PlaceOrderV3Response; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + OrderApiV3 apiInstance = new OrderApiV3(); + PlaceOrderV3Request body = new PlaceOrderV3Request(); + body.setQuantity(1); + body.setProduct(PlaceOrderV3Request.ProductEnum.D); + body.setValidity(PlaceOrderV3Request.ValidityEnum.DAY); + body.setPrice(0F); + body.setInstrumentToken("NSE_EQ|INE848E01016"); + body.setOrderType(PlaceOrderV3Request.OrderTypeEnum.MARKET); + body.setTransactionType(PlaceOrderV3Request.TransactionTypeEnum.BUY); + body.setDisclosedQuantity(0); + body.setTriggerPrice(0F); + body.setIsAmo(false); + body.setSliceOrder(false); + + try { + PlaceOrderV3Response result = apiInstance.placeOrder(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApiV3->placeOrder: " + e.getMessage()); + } + } +} +``` diff --git a/examples/orders/code/place-order.md b/examples/orders/code/place-order.md new file mode 100644 index 0000000..9d7f736 --- /dev/null +++ b/examples/orders/code/place-order.md @@ -0,0 +1,87 @@ +## Place a delivery market order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.OrderApi; +import com.upstox.api.PlaceOrderRequest; +import com.upstox.api.PlaceOrderResponse; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + String apiVersion = "2.0"; + PlaceOrderRequest body = new PlaceOrderRequest(); + body.setQuantity(1); + body.setProduct(PlaceOrderRequest.ProductEnum.D); + body.setValidity(PlaceOrderRequest.ValidityEnum.DAY); + body.setPrice(0F); + body.setTag("string"); + body.setInstrumentToken("NSE_EQ|INE848E01016"); + body.setOrderType(PlaceOrderRequest.OrderTypeEnum.MARKET); + body.setTransactionType(PlaceOrderRequest.TransactionTypeEnum.BUY); + body.setDisclosedQuantity(0); + body.setTriggerPrice(0F); + body.setIsAmo(false); + + try { + PlaceOrderResponse result = apiInstance.placeOrder(body, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi#placeOrder"); + e.printStackTrace(); + } + } +} +``` + +## Place a delivery limit order + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.OrderApi; +import com.upstox.api.PlaceOrderRequest; +import com.upstox.api.PlaceOrderResponse; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + OrderApi apiInstance = new OrderApi(); + String apiVersion = "2.0"; + PlaceOrderRequest body = new PlaceOrderRequest(); + body.setQuantity(1); + body.setProduct(PlaceOrderRequest.ProductEnum.D); + body.setValidity(PlaceOrderRequest.ValidityEnum.DAY); + body.setPrice(16.8F); + body.setTag("string"); + body.setInstrumentToken("NSE_EQ|INE848E01016"); + body.setOrderType(PlaceOrderRequest.OrderTypeEnum.LIMIT); + body.setTransactionType(PlaceOrderRequest.TransactionTypeEnum.BUY); + body.setDisclosedQuantity(0); + body.setTriggerPrice(0F); + body.setIsAmo(false); + + try { + PlaceOrderResponse result = apiInstance.placeOrder(body, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OrderApi#placeOrder"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/portfolio/README.md b/examples/portfolio/README.md new file mode 100644 index 0000000..0c8a2e8 --- /dev/null +++ b/examples/portfolio/README.md @@ -0,0 +1,20 @@ +# Portfolio – Example code + +Links to all portfolio-related examples in the `code/` folder. + +## 1. Get Positions + +- 1.1 [Get user positions](code/get-positions.md#get-user-positions) + +## 2. Get Holdings + +- 2.1 [Get user holdings](code/get-holdings.md#get-user-holdings) + +## 3. Get MTF Positions + +- 3.1 [Get user MTF positions](code/get-mtf-positions.md#get-user-mtf-positions) + +## 4. Convert Positions + +- 4.1 [Convert a position from intraday to delivery](code/convert-positions.md#convert-a-position-from-intraday-to-delivery) +- 4.2 [Convert a position from delivery to intraday](code/convert-positions.md#convert-a-position-from-delivery-to-intraday) diff --git a/examples/portfolio/code/convert-positions.md b/examples/portfolio/code/convert-positions.md new file mode 100644 index 0000000..4fb8c9f --- /dev/null +++ b/examples/portfolio/code/convert-positions.md @@ -0,0 +1,75 @@ +## Convert a position from intraday to delivery + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.ConvertPositionRequest; +import com.upstox.api.ConvertPositionResponse; +import com.upstox.api.PortfolioApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + PortfolioApi apiInstance = new PortfolioApi(); + String apiVersion = "2.0"; + ConvertPositionRequest body = new ConvertPositionRequest(); + body.setInstrumentToken("NSE_EQ|INE848E01016"); + body.setNewProduct(ConvertPositionRequest.NewProductEnum.D); + body.setOldProduct(ConvertPositionRequest.OldProductEnum.I); + body.setTransactionType(ConvertPositionRequest.TransactionTypeEnum.BUY); + body.setQuantity(1); + + try { + ConvertPositionResponse result = apiInstance.convertPositions(body, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PortfolioApi#convertPositions"); + e.printStackTrace(); + } + } +} +``` + +## Convert a position from delivery to intraday + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.ConvertPositionRequest; +import com.upstox.api.ConvertPositionResponse; +import com.upstox.api.PortfolioApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + PortfolioApi apiInstance = new PortfolioApi(); + String apiVersion = "2.0"; + ConvertPositionRequest body = new ConvertPositionRequest(); + body.setInstrumentToken("NSE_EQ|INE848E01016"); + body.setNewProduct(ConvertPositionRequest.NewProductEnum.I); + body.setOldProduct(ConvertPositionRequest.OldProductEnum.D); + body.setTransactionType(ConvertPositionRequest.TransactionTypeEnum.BUY); + body.setQuantity(1); + + try { + ConvertPositionResponse result = apiInstance.convertPositions(body, apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PortfolioApi#convertPositions"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/portfolio/code/get-holdings.md b/examples/portfolio/code/get-holdings.md new file mode 100644 index 0000000..3dfbde7 --- /dev/null +++ b/examples/portfolio/code/get-holdings.md @@ -0,0 +1,30 @@ +## Get user holdings + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetHoldingsResponse; +import com.upstox.api.PortfolioApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + PortfolioApi apiInstance = new PortfolioApi(); + String apiVersion = "2.0"; + + try { + GetHoldingsResponse result = apiInstance.getHoldings(apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PortfolioApi#getHoldings"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/portfolio/code/get-mtf-positions.md b/examples/portfolio/code/get-mtf-positions.md new file mode 100644 index 0000000..951166c --- /dev/null +++ b/examples/portfolio/code/get-mtf-positions.md @@ -0,0 +1,23 @@ +## Get user MTF positions + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setAccessToken("{your_access_token}"); + + PortfolioApi portfolioApi = new PortfolioApi(); + try { + GetPositionResponse result = portfolioApi.getMtfPositions(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PortfolioApi->getMtfPositions: " + e.getMessage()); + } + } +} +``` diff --git a/examples/portfolio/code/get-positions.md b/examples/portfolio/code/get-positions.md new file mode 100644 index 0000000..7e48d0b --- /dev/null +++ b/examples/portfolio/code/get-positions.md @@ -0,0 +1,30 @@ +## Get user positions + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetPositionResponse; +import com.upstox.api.PortfolioApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + PortfolioApi apiInstance = new PortfolioApi(); + String apiVersion = "2.0"; + + try { + GetPositionResponse result = apiInstance.getPositions(apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PortfolioApi#getPositions"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/trade-profit-and-loss/README.md b/examples/trade-profit-and-loss/README.md new file mode 100644 index 0000000..fb99a5d --- /dev/null +++ b/examples/trade-profit-and-loss/README.md @@ -0,0 +1,18 @@ +# Trade Profit and Loss – Example code + +Links to all trade-profit-and-loss-related examples in the `code/` folder. + +## 1. Get Profit Loss Report + +- 1.1 [Get profit loss report for equity segment](code/get-profit-loss-report.md#get-profit-loss-report-for-equity-segment) +- 1.2 [Get profit loss report for futures and options segment](code/get-profit-loss-report.md#get-profit-loss-report-for-futures-and-options-segment) + +## 2. Get Report Meta Data + +- 2.1 [Get report meta data for equity segment](code/get-report-meta-data.md#get-report-meta-data-for-equity-segment) +- 2.2 [Get report meta data for futures and options segment](code/get-report-meta-data.md#get-report-meta-data-for-futures-and-options-segment) + +## 3. Get Trade Charges + +- 3.1 [Get trade charges for equity segment](code/get-trade-charges.md#get-trade-charges-for-equity-segment) +- 3.2 [Get trade charges for futures and options segment](code/get-trade-charges.md#get-trade-charges-for-futures-and-options-segment) diff --git a/examples/trade-profit-and-loss/code/get-profit-loss-report.md b/examples/trade-profit-and-loss/code/get-profit-loss-report.md new file mode 100644 index 0000000..4b75715 --- /dev/null +++ b/examples/trade-profit-and-loss/code/get-profit-loss-report.md @@ -0,0 +1,69 @@ +## Get profit loss report for equity segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetTradeWiseProfitAndLossDataResponse; +import com.upstox.api.GetTradeWiseProfitAndLossMetaDataResponse; +import com.upstox.auth.*; +import io.swagger.client.api.TradeProfitAndLossApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + TradeProfitAndLossApi apiInstance = new TradeProfitAndLossApi(); + String segment = "EQ"; + String financialYear = "2324"; + String apiVersion = "2.0"; + String fromDate = "02-04-2023"; + String toDate = "20-03-2024"; + Integer pageNumber = 1; + Integer pageSize = 5; + try { + GetTradeWiseProfitAndLossDataResponse result = apiInstance.getTradeWiseProfitAndLossData(segment, financialYear, pageNumber, pageSize, apiVersion, fromDate, toDate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling TradeProfitAndLossApi#getTradeWiseProfitAndLossData"); + e.printStackTrace(); + } + } +} +``` + +## Get profit loss report for futures and options segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetTradeWiseProfitAndLossDataResponse; +import com.upstox.api.GetTradeWiseProfitAndLossMetaDataResponse; +import com.upstox.auth.*; +import io.swagger.client.api.TradeProfitAndLossApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + TradeProfitAndLossApi apiInstance = new TradeProfitAndLossApi(); + String segment = "FO"; + String financialYear = "2324"; + String apiVersion = "2.0"; + String fromDate = "02-04-2023"; + String toDate = "20-03-2024"; + Integer pageNumber = 1; + Integer pageSize = 5; + try { + GetTradeWiseProfitAndLossDataResponse result = apiInstance.getTradeWiseProfitAndLossData(segment, financialYear, pageNumber, pageSize, apiVersion, fromDate, toDate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling TradeProfitAndLossApi#getTradeWiseProfitAndLossData"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/trade-profit-and-loss/code/get-report-meta-data.md b/examples/trade-profit-and-loss/code/get-report-meta-data.md new file mode 100644 index 0000000..102ae88 --- /dev/null +++ b/examples/trade-profit-and-loss/code/get-report-meta-data.md @@ -0,0 +1,63 @@ +## Get report meta data for equity segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetTradeWiseProfitAndLossMetaDataResponse; +import com.upstox.auth.*; +import io.swagger.client.api.TradeProfitAndLossApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + TradeProfitAndLossApi apiInstance = new TradeProfitAndLossApi(); + String segment = "EQ"; + String financialYear = "2324"; + String apiVersion = "2.0"; + String fromDate = "02-04-2023"; + String toDate = "20-03-2024"; + try { + GetTradeWiseProfitAndLossMetaDataResponse result = apiInstance.getTradeWiseProfitAndLossMetaData(segment, financialYear, apiVersion, fromDate, toDate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling TradeProfitAndLossApi#getTradeWiseProfitAndLossMetaData"); + e.printStackTrace(); + } + } +} +``` + +## Get report meta data for futures and options segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetTradeWiseProfitAndLossMetaDataResponse; +import com.upstox.auth.*; +import io.swagger.client.api.TradeProfitAndLossApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + TradeProfitAndLossApi apiInstance = new TradeProfitAndLossApi(); + String segment = "FO"; + String financialYear = "2324"; + String apiVersion = "2.0"; + String fromDate = "02-04-2023"; + String toDate = "20-03-2024"; + try { + GetTradeWiseProfitAndLossMetaDataResponse result = apiInstance.getTradeWiseProfitAndLossMetaData(segment, financialYear, apiVersion, fromDate, toDate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling TradeProfitAndLossApi#getTradeWiseProfitAndLossMetaData"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/trade-profit-and-loss/code/get-trade-charges.md b/examples/trade-profit-and-loss/code/get-trade-charges.md new file mode 100644 index 0000000..b486577 --- /dev/null +++ b/examples/trade-profit-and-loss/code/get-trade-charges.md @@ -0,0 +1,67 @@ +## Get trade charges for equity segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetProfitAndLossChargesResponse; +import com.upstox.api.GetTradeWiseProfitAndLossDataResponse; +import com.upstox.api.GetTradeWiseProfitAndLossMetaDataResponse; +import com.upstox.auth.*; +import io.swagger.client.api.TradeProfitAndLossApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + TradeProfitAndLossApi apiInstance = new TradeProfitAndLossApi(); + String segment = "EQ"; + String financialYear = "2324"; + String apiVersion = "2.0"; + String fromDate = "02-04-2023"; + String toDate = "20-03-2024"; + try { + GetProfitAndLossChargesResponse result = apiInstance.getProfitAndLossCharges(segment, financialYear, apiVersion, fromDate, toDate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling TradeProfitAndLossApi#getProfitAndLossCharges"); + e.printStackTrace(); + } + } +} +``` + +## Get trade charges for futures and options segment + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetProfitAndLossChargesResponse; +import com.upstox.api.GetTradeWiseProfitAndLossDataResponse; +import com.upstox.api.GetTradeWiseProfitAndLossMetaDataResponse; +import com.upstox.auth.*; +import io.swagger.client.api.TradeProfitAndLossApi; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + TradeProfitAndLossApi apiInstance = new TradeProfitAndLossApi(); + String segment = "FO"; + String financialYear = "2324"; + String apiVersion = "2.0"; + String fromDate = "02-04-2023"; + String toDate = "20-03-2024"; + try { + GetProfitAndLossChargesResponse result = apiInstance.getProfitAndLossCharges(segment, financialYear, apiVersion, fromDate, toDate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling TradeProfitAndLossApi#getProfitAndLossCharges"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/user/README.md b/examples/user/README.md new file mode 100644 index 0000000..0809faf --- /dev/null +++ b/examples/user/README.md @@ -0,0 +1,13 @@ +# User – Example code + +Links to all user-related examples in the `code/` folder. + +## 1. Get Profile + +- 1.1 [Get user profile information using access token](code/get-profile.md#get-user-profile-information-using-access-token) + +## 2. Get Fund and Margin + +- 2.1 [Get equity and commodity funds](code/get-fund-and-margin.md#get-equity-and-commodity-funds) +- 2.2 [Get equity funds](code/get-fund-and-margin.md#get-equity-funds) +- 2.3 [Get commodity funds](code/get-fund-and-margin.md#get-commodity-funds) diff --git a/examples/user/code/get-fund-and-margin.md b/examples/user/code/get-fund-and-margin.md new file mode 100644 index 0000000..43bfb8c --- /dev/null +++ b/examples/user/code/get-fund-and-margin.md @@ -0,0 +1,94 @@ +## Get equity and commodity funds + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetUserFundMarginResponse; +import com.upstox.api.UserApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + UserApi apiInstance = new UserApi(); + String apiVersion = "2.0"; + + try { + GetUserFundMarginResponse result = apiInstance.getUserFundMargin(apiVersion, null); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserApi#getUserFundMargin"); + e.printStackTrace(); + } + } +} +``` + +## Get equity funds + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetUserFundMarginResponse; +import com.upstox.api.UserApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + UserApi apiInstance = new UserApi(); + String apiVersion = "2.0"; + String segment = "SEC"; + + try { + GetUserFundMarginResponse result = apiInstance.getUserFundMargin(apiVersion, segment); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserApi#getUserFundMargin"); + e.printStackTrace(); + } + } +} +``` + +## Get commodity funds + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetUserFundMarginResponse; +import com.upstox.api.UserApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + UserApi apiInstance = new UserApi(); + String apiVersion = "2.0"; + String segment = "COM"; + + try { + GetUserFundMarginResponse result = apiInstance.getUserFundMargin(apiVersion, segment); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserApi#getUserFundMargin"); + e.printStackTrace(); + } + } +} +``` diff --git a/examples/user/code/get-profile.md b/examples/user/code/get-profile.md new file mode 100644 index 0000000..6afd318 --- /dev/null +++ b/examples/user/code/get-profile.md @@ -0,0 +1,30 @@ +## Get user profile information using access token + +```java +import com.upstox.ApiClient; +import com.upstox.ApiException; +import com.upstox.Configuration; +import com.upstox.api.GetProfileResponse; +import com.upstox.api.UserApi; +import com.upstox.auth.*; + +public class Main { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + OAuth OAUTH2 = (OAuth) defaultClient.getAuthentication("OAUTH2"); + OAUTH2.setAccessToken("{your_access_token}"); + + UserApi apiInstance = new UserApi(); + String apiVersion = "2.0"; + + try { + GetProfileResponse result = apiInstance.getProfile(apiVersion); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserApi#getProfile"); + e.printStackTrace(); + } + } +} +```