Fetch demat holdings (delivery-settled equity) for the account, including collateral and pledge quantities.
Overview
Holdings returns settled, delivery-held equity — distinct from Positions, which covers same-day and carry-forward trading positions. A share bought under CNC today shows up in Positions until settlement, then moves here.
Parameters
Field
Type
Required
Description
uid / actid
string
Required
User and account ID.
prd
string
Optional
Filter holdings by product.
Request example
import requests, json
payload = {"uid": "AB1234", "actid": "AB1234"}
data = f"jData={json.dumps(payload)}&jKey={accessToken}"
resp = requests.post("https://api.shoonya.com/NorenWClientAPI/Holdings", data=data)
for h in resp.json():
tsym = h["exch_tsym"][0]["tsym"]
print(tsym, "holdqty:", h["holdqty"], "avg cost:", h["upldprc"])
{ "stat": "Not_Ok", "emsg": "Invalid Input : Missing uid or actid or prd." }
Best practices
Use the salable-quantity formula above before placing a sell order against holdings — don't sell against raw holdqty, since pledged/used portions aren't available to trade.
Cache holdings for the session; they change on settlement (T+1), not intraday, unlike Positions.
Notes
For same-day and carry-forward trading exposure, see Positions instead — Holdings only reflects settled demat stock.
Overview
Holdings returns settled, delivery-held equity — distinct from Positions, which covers same-day and carry-forward trading positions. A share bought under CNC today shows up in Positions until settlement, then moves here.
Parameters
Request example
Response
Valuation = btstqty + holdqty + brkcolqty + unplgdqty + benqty + max(npoadqty, dpqty) − usedqtySalable = btstqty + holdqty + unplgdqty + benqty + dpqty − usedqtyError handling
Best practices
holdqty, since pledged/used portions aren't available to trade.Notes
For same-day and carry-forward trading exposure, see Positions instead — Holdings only reflects settled demat stock.