# Holdings 

## GET /api/oms/holdings

Holdings 

to get the list of holding records

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| Authorization | header | string | Yes | Access token in the following format:  Bearer <api_key>:<access_token>  Both values are required. The `api_key` is your app credential from the Apps Section. The `access_token` is obtained from the authentication endpoint and is valid for 24 hours. |
| symDetails | query | boolean (true | false) | No | Sending symDetails:'true' - will provide the symbol object in response for every record. Symbol object contains details such as price-tick, lotsize, token etc.., |

### Responses

#### 200 — OK

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| s | string ("ok" | "no-data" | "error") | No |  |
| d | object | No |  |
| d.holdings | object[] | No |  |
| d.holdings[].symId | string | No |  |
| d.holdings[].sym | object | No |  |
| d.holdings[].sym.id | string | No |  |
| d.holdings[].sym.symbol | string | No |  |
| d.holdings[].sym.tradSymbol | string | No |  |
| d.holdings[].sym.exchange | string | No |  |
| d.holdings[].sym.lot | string | No |  |
| d.holdings[].sym.instrument | string | No |  |
| d.holdings[].sym.companyName | string | No |  |
| d.holdings[].sym.expiry | string | No |  |
| d.holdings[].sym.dispSymbol | string | No |  |
| d.holdings[].sym.asset | string | No |  |
| d.holdings[].sym.empty | boolean | No |  |
| d.holdings[].qty | number | No | Quantity is sum of ( btstQuantity, holdingQuantity, brokerQuantity, unPledgedQty, beneficiaryQuantity, MaxOf(nonPoaQuantity,dpQuantity)) minus tradedQuantity |
| d.holdings[].avgPrice | number | No | Average buy price |
| d.holdings[].t1Qty | number | No | T1 or BTST quantity |
| d.holdings[].saleableQty | number | No | Saleable quantity is sum of ( btstQuantity, holdingQuantity, unPledgedQty, beneficiaryQuantity, dpQuantity ) minus tradedQty |
| d.holdings[].pledgeQty | number | No | Collateral or pledged quantity |
| d.holdings[].nonPoaQty | number | No | Non POA quantity |
| d.holdings[].dpQty | number | No | DP holding quantity |
| d.holdings[].benQty | number | No | Beneficiary quantity |
| d.holdings[].unpledgedQty | number | No | Unpledged quantity |
| d.holdings[].brokerColQty | number | No | Broker collateral |
| d.holdings[].btstColqty | number | No | BTST collateral quantity |
| d.holdings[].usedQty | number | No | Holding quantity used today |
| d.holdings[].tradedQty | number | No | Holding quantity traded today |
| d.holdings[].realizedPnl | number | No | 'realizedPnL |
| d.holdings[].totalQty | number | No |  |
| d.holdings[].transHistory | boolean | No |  |
| d.holdings[].dayQty | number | No |  |
| d.hasNonPoaRecord | boolean | No |  |
| msg | string ("no-data" | "error msg") | No |  |
| s | string ("ok" | "error" | "no-data") | No |  |

#### 401 — Unauthorized — one of: (1) invalid or expired access token — tokens expire after 24 hours, re-authenticate to get a new one; (2) `Authorization` header missing or malformed — use format `Bearer <api_key>:<access_token>`.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| s | string ("error") | No | Response status. Always `error` for error responses. |
| msg | string ("Unauthorized") | No | Error message. |

#### 429 — Too Many Requests — rate limit exceeded. General API: 10 req/sec per auth token (400 req/min).

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| s | string ("error") | No | Response status. Always `error` for error responses. |
| msg | string | No | Error message indicating the rate limit was exceeded. |

#### 500 — Internal Server Error — retry with backoff; contact support if it persists.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| s | string ("error") | No | Response status. Always `error` for error responses. |
| msg | string | No | Error message. |