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 propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangNone (omitted if not set)no
Accountstring (nullable)accountnullnoNot 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 absent

Response 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 propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangNone (omitted if not set)no
Accountstring (nullable)accountnullAuto-filled if emptyTradeClient uses DefaultAccount when empty
SecretKeystringsecret_keynullno
SegmentBooleansegmentNone (omitted if not set)Optional
MarketValueBooleanmarket_valueNone (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 absent

Response 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 propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangNone (omitted if not set)no
Accountstring (nullable)accountnullAuto-filled if emptyTradeClient uses DefaultAccount when empty
SecretKeystringsecret_keynullno
BaseCurrencystringbase_currencynullOptional
ConsolidatedBooleanconsolidatedNone (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 absent

Response 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 propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangNone (omitted if not set)no
Accountstring (nullable)accountnullAuto-filled if emptyTradeClient uses DefaultAccount when empty
SecretKeystringsecret_keynullno
SegTypeSegmentTypeseg_typeNone (omitted if not set)Optional
CurrencyCurrencycurrencyNone (omitted if not set)Optional
SubAccountstringsub_accountnullOptional
StartDatestringstart_datenullOptionalTimestamp or date format; maintain chronological order
EndDatestringend_datenullOptionalTimestamp 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 absent

Related 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 propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangNone (omitted if not set)no
Accountstring (nullable)accountnullAuto-filled if emptyTradeClient uses DefaultAccount when empty
SecretKeystringsecret_keynullno
SegTypestringseg_typenullOptional
BaseCurrencystringbase_currencynullOptional

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 absent

Related 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 propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangNone (omitted if not set)no
Accountstring (nullable)accountnullAuto-filled if emptyTradeClient uses DefaultAccount when empty
SecretKeystringsecret_keynullno
SecTypeSecTypesec_typeNone (omitted if not set)Optional
MarketMarketmarketNone (omitted if not set)OptionalEnum value
CurrencyCurrencycurrencyNone (omitted if not set)Optional
SymbolstringsymbolnullRequired
RightstringrightnullOptional
StrikeDoublestrikeNone (omitted if not set)Optional
ExpirystringexpirynullOptional
AssetQuoteTypeAssetQuoteTypeasset_quote_typeNone (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 absent

Response 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 propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangNone (omitted if not set)no
Accountstring (nullable)accountnullAuto-filled if emptyTradeClient uses DefaultAccount when empty
SecretKeystringsecret_keynullno
SymbolstringsymbolnullRequired
Rightstring (nullable)rightnullOptional
Strikestring (nullable)strikenullOptional
Expirystring (nullable)expirynullOptional
SegTypeSegmentTypeseg_typeNone (omitted if not set)Optional
SecTypeSecTypesec_typeNone (omitted if not set)Optional
ActionActionTypeactionNone (omitted if not set)Optional
OrderTypeOrderTypeorder_typeNone (omitted if not set)Optionalprice fields are conditionally required by order type
LimitPriceDoublelimit_priceNone (omitted if not set)Optionalconditional order-price field
StopPriceDoublestop_priceNone (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 absent

Related APIs

See Requests, responses, and operations.


Did this page help you?