Accounts and Positions
State-changing operations must prevent duplicate submission.
Get Accounts
Operation
TradeApiService.ACCOUNTS = accounts. Uses server method accounts.
Request
TigerRequest<AccountsResponse>ModelValue: ApiModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | None (omitted if not set) | no | — |
Account | string (nullable) | account | null | no | Not auto-filled for this operation |
Return
AccountsResponse inherits TigerResponse; its data property is dictionary from string to list of AccountItem. Key SDK fields: dynamic fields.
Example
TigerRequest<AccountsResponse> request = new()
{
ApiMethodName = TradeApiService.ACCOUNTS,
ModelValue = new ApiModel()
};
AccountsResponse? response = await tradeClient.ExecuteAsync(request);Response type
Dictionary<string, List<AccountItem>>? data = response?.Data; // null when response or data is absentResponse Example
{
"code": 0,
"message": "success",
"timestamp": 1785528000000,
"data": [
{
"account": "DU12345678",
"capability": "RegTMargin",
"status": "Active"
}
]
}Related APIs
See Requests, responses, and operations.
Get Assets (Global)
Operation
TradeApiService.ASSETS = assets. Uses server method assets.
Request
TigerRequest<TigerDictResponse>ModelValue: GlobalAssetsModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | None (omitted if not set) | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | TradeClient uses DefaultAccount when empty |
SecretKey | string | secret_key | null | no | — |
Segment | Boolean | segment | None (omitted if not set) | Optional | — |
MarketValue | Boolean | market_value | None (omitted if not set) | Optional | — |
Return
TigerDictResponse inherits TigerResponse; its data property is dictionary from string to object. Key SDK fields: dynamic fields.
Example
TigerRequest<TigerDictResponse> request = new()
{
ApiMethodName = TradeApiService.ASSETS,
ModelValue = new GlobalAssetsModel { Account = tradeClient.GetDefaultAccount }
};
TigerDictResponse? response = await tradeClient.ExecuteAsync(request);Response type
Dictionary<string, object>? data = response?.Data; // null when response or data is absentResponse Example
{
"code": 0,
"message": "success",
"timestamp": 1785528000000,
"data": [
{
"account": "DU12345678",
"summary": {
"netLiquidation": 125000.0,
"totalCashValue": 50000.0,
"grossPositionValue": 75000.0,
"initMarginReq": 25000.0,
"maintMarginReq": 20000.0,
"buyingPower": 100000.0,
"unrealizedPnl": 15866.0,
"realizedPnl": 3200.0
}
}
]
}Related APIs
See Requests, responses, and operations.
Get Prime Assets
Operation
TradeApiService.PRIME_ASSETS = prime_assets. Uses server method prime_assets.
Request
TigerRequest<PrimeAssetResponse>ModelValue: PrimeAssetsModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | None (omitted if not set) | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | TradeClient uses DefaultAccount when empty |
SecretKey | string | secret_key | null | no | — |
BaseCurrency | string | base_currency | null | Optional | — |
Consolidated | Boolean | consolidated | None (omitted if not set) | Optional | — |
Return
PrimeAssetResponse inherits TigerResponse; its data property is PrimeAssetItem. Key SDK fields: Account: string, UpdateTimestamp: long, Segments: list of Segment.
Example
TigerRequest<PrimeAssetResponse> request = new()
{
ApiMethodName = TradeApiService.PRIME_ASSETS,
ModelValue = new PrimeAssetsModel { Account = tradeClient.GetDefaultAccount }
};
PrimeAssetResponse? response = await tradeClient.ExecuteAsync(request);Response type
PrimeAssetItem? data = response?.Data; // null when response or data is absentResponse Example
{
"code": 0,
"message": "success",
"timestamp": 1785528000000,
"data": [
{
"account": "DU12345678",
"segments": [
{"category": "S", "currency": "USD", "cashBalance": 50000.0, "grossPositionValue": 75000.0, "netLiquidation": 125000.0}
]
}
]
}Related APIs
See Requests, responses, and operations.
Get Analytics Asset
Operation
TradeApiService.ANALYTICS_ASSET = analytics_asset. Uses server method analytics_asset.
Request
TigerRequest<PrimeAnalyticsAssetResponse>ModelValue: PrimeAnalyticsAssetModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | None (omitted if not set) | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | TradeClient uses DefaultAccount when empty |
SecretKey | string | secret_key | null | no | — |
SegType | SegmentType | seg_type | None (omitted if not set) | Optional | — |
Currency | Currency | currency | None (omitted if not set) | Optional | — |
SubAccount | string | sub_account | null | Optional | — |
StartDate | string | start_date | null | Optional | Timestamp or date format; maintain chronological order |
EndDate | string | end_date | null | Optional | Timestamp or date format; maintain chronological order |
Return
PrimeAnalyticsAssetResponse inherits TigerResponse; its data property is PrimeAnalyticsAssetItem. Key SDK fields: Summary: Summary, History: list of HistoryItem.
Example
TigerRequest<PrimeAnalyticsAssetResponse> request = new()
{
ApiMethodName = TradeApiService.ANALYTICS_ASSET,
ModelValue = new PrimeAnalyticsAssetModel { Account = tradeClient.GetDefaultAccount, SegType = SegmentType.SEC, Currency = Currency.USD, StartDate = "2026-01-01", EndDate = "2026-01-31" }
};
PrimeAnalyticsAssetResponse? response = await tradeClient.ExecuteAsync(request);Response type
PrimeAnalyticsAssetItem? data = response?.Data; // null when response or data is absentRelated APIs
See Requests, responses, and operations.
Get Aggregate Assets
Operation
TradeApiService.AGGREGATE_ASSETS = aggregate_assets. Uses server method aggregate_assets.
Request
TigerRequest<AggregateAssetResponse>ModelValue: AggregateAssetModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | None (omitted if not set) | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | TradeClient uses DefaultAccount when empty |
SecretKey | string | secret_key | null | no | — |
SegType | string | seg_type | null | Optional | — |
BaseCurrency | string | base_currency | null | Optional | — |
Return
AggregateAssetResponse inherits TigerResponse; its data property is AggregateAssetItem. Key SDK fields: Currency: string, CashBalance: double, CashBalanceWithInTransit: double, EquityWithLoan: double, NetLiquidation: double, InitMargin: double, MaintainMargin: double, TradeCurrencyMargin: double.
Example
TigerRequest<AggregateAssetResponse> request = new()
{
ApiMethodName = TradeApiService.AGGREGATE_ASSETS,
ModelValue = new AggregateAssetModel { Account = tradeClient.GetDefaultAccount, SegType = "SEC" }
};
AggregateAssetResponse? response = await tradeClient.ExecuteAsync(request);Response type
AggregateAssetItem? data = response?.Data; // null when response or data is absentRelated APIs
See Requests, responses, and operations.
The four position-transfer operations POSITION_TRANSFER, POSITION_TRANSFER_RECORDS, POSITION_TRANSFER_DETAIL, and POSITION_TRANSFER_EXTERNAL_RECORDS require transfer eligibility. The server returns a permission error code when eligibility is missing.
Get Positions
Operation
TradeApiService.POSITIONS = positions. Uses server method positions.
Request
TigerRequest<PositionsResponse>ModelValue: PositionsModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | None (omitted if not set) | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | TradeClient uses DefaultAccount when empty |
SecretKey | string | secret_key | null | no | — |
SecType | SecType | sec_type | None (omitted if not set) | Optional | — |
Market | Market | market | None (omitted if not set) | Optional | Enum value |
Currency | Currency | currency | None (omitted if not set) | Optional | — |
Symbol | string | symbol | null | Required | — |
Right | string | right | null | Optional | — |
Strike | Double | strike | None (omitted if not set) | Optional | — |
Expiry | string | expiry | null | Optional | — |
AssetQuoteType | AssetQuoteType | asset_quote_type | None (omitted if not set) | Optional | — |
Return
PositionsResponse inherits TigerResponse; its data property is PositionsItem. Key SDK fields: Items: list of PositionDetail.
Example
TigerRequest<PositionsResponse> request = new()
{
ApiMethodName = TradeApiService.POSITIONS,
ModelValue = new PositionsModel { Account = tradeClient.GetDefaultAccount, SecType = SecType.STK, Market = Market.US, Currency = Currency.USD, Symbol = "AAPL" }
};
PositionsResponse? response = await tradeClient.ExecuteAsync(request);Response type
PositionsItem? data = response?.Data; // null when response or data is absentResponse Example
{
"code": 0,
"message": "success",
"timestamp": 1785528000000,
"data": [
{
"account": "DU12345678",
"symbol": "AAPL",
"position": 100,
"averageCost": 150.25,
"latestPrice": 308.91,
"marketValue": 30891.0,
"unrealizedPnl": 15866.0,
"secType": "STK",
"currency": "USD"
}
]
}Related APIs
See Requests, responses, and operations.
Estimate Tradable Quantity
Operation
TradeApiService.ESTIMATE_TRADABLE_QUANTITY = estimate_tradable_quantity. Uses server method estimate_tradable_quantity.
Request
TigerRequest<EstimateTradableQuantityResponse>ModelValue: EstimateTradableQuantityModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | None (omitted if not set) | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | TradeClient uses DefaultAccount when empty |
SecretKey | string | secret_key | null | no | — |
Symbol | string | symbol | null | Required | — |
Right | string (nullable) | right | null | Optional | — |
Strike | string (nullable) | strike | null | Optional | — |
Expiry | string (nullable) | expiry | null | Optional | — |
SegType | SegmentType | seg_type | None (omitted if not set) | Optional | — |
SecType | SecType | sec_type | None (omitted if not set) | Optional | — |
Action | ActionType | action | None (omitted if not set) | Optional | — |
OrderType | OrderType | order_type | None (omitted if not set) | Optional | price fields are conditionally required by order type |
LimitPrice | Double | limit_price | None (omitted if not set) | Optional | conditional order-price field |
StopPrice | Double | stop_price | None (omitted if not set) | Optional | — |
Return
EstimateTradableQuantityResponse inherits TigerResponse; its data property is TradableQuantityItem. Key SDK fields: TradableQuantity: Double, FinancingQuantity: Double, PositionQuantity: Double, TradablePositionQuantity: Double.
Example
TigerRequest<EstimateTradableQuantityResponse> request = new()
{
ApiMethodName = TradeApiService.ESTIMATE_TRADABLE_QUANTITY,
ModelValue = new EstimateTradableQuantityModel { Account = tradeClient.GetDefaultAccount, Symbol = "AAPL", Strike = "200", SegType = SegmentType.SEC, SecType = SecType.STK }
};
EstimateTradableQuantityResponse? response = await tradeClient.ExecuteAsync(request);Response type
TradableQuantityItem? data = response?.Data; // null when response or data is absentRelated APIs
Updated 1 day ago
