upstox
$
npx mdskill add taracodlabs/aiden/upstoxAccess Upstox API v2 for portfolio, market data, orders, and P&L in Indian F&O
- Check portfolio holdings, positions, and live market quotes
- Uses Upstox API v2 endpoints for real-time data and order execution
- Processes user requests based on pre-defined API actions and parameters
- Returns structured JSON responses with relevant financial data
SKILL.md
.github/skills/upstoxView on GitHub ↗
---
name: upstox
description: "Upstox API v2: portfolio, market data, orders, P&L (Indian F&O)"
category: india
version: 1.0.0
tags: upstox, broker, india, trading, orders, portfolio, equity, fno, market
license: Apache-2.0
---
# Upstox
Access your Upstox brokerage account via the Upstox API v2 — live quotes, holdings, positions, order placement, and margin data. Requires Upstox API credentials.
## When to Use
- User wants to check Upstox portfolio holdings or positions
- User asks for live market quotes on NSE/BSE instruments
- User wants to place, modify, or cancel an Upstox order
- User asks about today's P&L, order book, or trade history
- User wants margin or funds information
## How to Use
### Set up credentials
```powershell
$env:UPSTOX_TOKEN = "your_access_token" # Bearer token from OAuth flow
$baseUrl = "https://api.upstox.com/v2"
$headers = @{
"Authorization" = "Bearer $env:UPSTOX_TOKEN"
"Accept" = "application/json"
}
```
### Get holdings
```powershell
$resp = Invoke-RestMethod -Uri "$baseUrl/portfolio/long-term-holdings" -Headers $headers
$resp.data | Select-Object tradingsymbol, quantity, average_price, last_price,
@{N='PnL';E={[math]::Round(($_.last_price - $_.average_price)*$_.quantity,2)}}
```
### Get short-term positions (intraday / F&O)
```powershell
$resp = Invoke-RestMethod -Uri "$baseUrl/portfolio/short-term-positions" -Headers $headers
$resp.data | Select-Object tradingsymbol, quantity, average_price, last_price, pnl, product
```
### Get live market quote
```powershell
$instrument = "NSE_EQ|INE009A01021" # INFOSYS ISIN-based instrument key
$resp = Invoke-RestMethod -Uri "$baseUrl/market-quote/quotes?instrument_key=$instrument" -Headers $headers
$resp.data | Select-Object last_price, net_change, volume, ohlc
```
### Get funds and margin
```powershell
$resp = Invoke-RestMethod -Uri "$baseUrl/user/get-funds-and-margin" -Headers $headers
$resp.data | Select-Object equity
```
### Place a market order
```powershell
$order = @{
quantity = 1
product = "D" # D = delivery, I = intraday
validity = "DAY"
price = 0
tag = "aiden"
instrument_token = "NSE_EQ|INE009A01021"
order_type = "MARKET"
transaction_type = "BUY"
disclosed_quantity = 0
trigger_price = 0
is_amo = $false
} | ConvertTo-Json
$resp = Invoke-RestMethod -Uri "$baseUrl/order/place" -Method POST `
-Headers ($headers + @{"Content-Type"="application/json"}) -Body $order
Write-Host "Order ID: $($resp.data.order_id)"
```
### Get order book
```powershell
$resp = Invoke-RestMethod -Uri "$baseUrl/order/retrieve-all" -Headers $headers
$resp.data | Select-Object order_id, tradingsymbol, transaction_type,
quantity, price, status, order_timestamp |
Sort-Object order_timestamp -Descending
```
## Examples
**"Show my Upstox portfolio"**
→ Fetch long-term holdings, calculate unrealized P&L per position, sum total.
**"What's the live price of Reliance?"**
→ Use instrument key `NSE_EQ|INE002A01018` and fetch `/market-quote/quotes`.
**"Place a buy order for 5 shares of TCS"**
→ POST to `/order/place` with instrument key for TCS, qty 5, product D, order_type MARKET — confirm first.
## Cautions
- Access tokens expire after 24 hours — regenerate via Upstox OAuth flow each trading day
- Instrument keys use the format `EXCHANGE|ISIN` — look up via Upstox instruments CSV download
- Always confirm order parameters with the user before calling the place order endpoint
- Use product `I` (intraday) only if you intend to square off before 3:20 PM IST — auto square-off applies
- F&O instruments require appropriate margin — check funds before placing F&O orders
More from taracodlabs/aiden
- ade-footerInstalled skill — add instructions here
- archon-bridgeUnified portfolio + order routing across Zerodha, Upstox, Angel One
- censysCensys lookups: hosts, certificates, services on the public internet
- clipboard-historyRead/write Windows clipboard text, HTML, images, history (PowerShell)
- code_executionRunning scripts and code on Windows
- create_txt_fileCreates a text file with specified content at a given path
- crt.shEnumerate subdomains and TLS certs via CT logs (no API key needed)
- currently_running_processesShow me my currently running processes.
- cveapiCVE lookup via MITRE + NVD: severity, CVSS, affected products, refs
- decrease_volume_littleDecreases the system volume by a small amount.