Option Exercise

These five operations are both TradeApiService constants and asynchronous TradeClient convenience methods.

Exercise Check

Operation

TradeApiService.OPTION_EXERCISE_CHECK = option_exercise_check; convenience method: CheckOptionExerciseAsync.

Request

TigerRequest<OptionExerciseCheckResponse>

ModelValue: OptionExerciseCheckModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno SDK validationsee operation constraints
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno SDK validationsee operation constraints
ContractIdlongcontract_idCLR default; omitted during serializationno SDK validationsee operation constraints
Typestringtypenullno SDK validationsee operation constraints
QuantitydoublequantityCLR default; omitted during serializationno SDK validationsee operation constraints
ExecutingDatestringexecuting_datenullno SDK validationsee operation constraints
IsForcebool (nullable)is_forcenullno SDK validationsee operation constraints
ItmRateint (nullable)itm_ratenullno SDK validationsee operation constraints

Return

OptionExerciseCheckResponse inherits TigerResponse; its data property is OptionExerciseCheckItem.

Example

OptionExerciseCheckResponse response = await tradeClient.CheckOptionExerciseAsync(1234567890L, "Exercise", 1, "2026-08-21", false);
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);

Response type

OptionExerciseCheckItem? data = response?.Data; // null when response or data is absent

Data fields (OptionExerciseCheckItem)

FieldAPI fieldC# typeDescription
AvailableQuantityavailableQuantitydouble?Quantity available to exercise.
Positionpositiondouble?Option position quantity.
StkPositionstkPositiondouble?Underlying stock position quantity.
StkPositionChangestkPositionChangedouble?Change in underlying stock position.
StkPositionBeforestkPositionBeforedouble?Underlying stock position before exercise.
StkPositionAfterstkPositionAfterdouble?Underlying stock position after exercise.
SymbolsymbolstringOption symbol.

Rate limit

Base tier: 60 requests per minute.

Source and related APIs

See orders and request/response conventions.

Exercise Positions

Operation

TradeApiService.OPTION_EXERCISE_POSITION = option_exercise_position; convenience method: GetOptionExercisePositionsAsync.

Request

TigerRequest<OptionExercisePositionResponse>

ModelValue: OptionExercisePositionModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno SDK validationsee operation constraints
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno SDK validationsee operation constraints
Typestringtypenullno SDK validationsee operation constraints

Return

OptionExercisePositionResponse inherits TigerResponse; its data property is OptionExercisePositionPage.

Example

OptionExercisePositionResponse response = await tradeClient.GetOptionExercisePositionsAsync("Exercise");
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);

Response type

OptionExercisePositionPage? data = response?.Data; // null when response or data is absent

Data fields (OptionExercisePositionPage)

FieldAPI fieldC# typeDescription
ItemsitemsList<OptionExercisePosition>Exercise-position records.
PageNumpageNumint?Current page number.
PageSizepageSizeint?Records per page.
ItemCountitemCountint?Total record count.
PageCountpageCountint?Total page count.

Each OptionExercisePosition in Items:

FieldAPI fieldC# typeDescription
ContractIdcontractIdlong?Option contract ID.
SymbolsymbolstringOption symbol.
StkSymbolstkSymbolstringUnderlying stock symbol.
ExpireDateexpireDatestringOption expiration date.
StrikestrikestringOption strike price.
CallPutcallPutstringOption call or put indicator.
MarketmarketstringMarket identifier.
AccountIdaccountIdlong?Account ID.
Positionpositiondouble?Option position quantity.
AvailableQuantityavailableQuantitydouble?Quantity available to exercise.

Rate limit

Base tier: 60 requests per minute.

Source and related APIs

See orders and request/response conventions.

Submit Exercise

Operation

TradeApiService.OPTION_EXERCISE_SUBMIT = option_exercise_submit; convenience method: SubmitOptionExerciseAsync.

Request

TigerRequest<OptionExerciseSubmitResponse>

ModelValue: OptionExerciseSubmitModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno SDK validationsee operation constraints
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno SDK validationsee operation constraints
ContractIdlongcontract_idCLR default; omitted during serializationno SDK validationsee operation constraints
Typestringtypenullno SDK validationsee operation constraints
QuantitydoublequantityCLR default; omitted during serializationno SDK validationsee operation constraints
ExecutingDatestringexecuting_datenullno SDK validationsee operation constraints
IsForcebool (nullable)is_forcenullno SDK validationsee operation constraints
ItmRateint (nullable)itm_ratenullno SDK validationsee operation constraints

Return

OptionExerciseSubmitResponse inherits TigerResponse; its data property is object.

Example

OptionExerciseSubmitResponse response = await tradeClient.SubmitOptionExerciseAsync(1234567890L, "Exercise", 1, "2026-08-21", false);
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);

Response type

object? data = response?.Data; // null when response or data is absent

Data fields

TypeSDK contract
objectThe SDK defines no members or keys.

Rate limit

Base tier: 60 requests per minute.

Source and related APIs

See orders and request/response conventions.

Exercise Records

Operation

TradeApiService.OPTION_EXERCISE_RECORD = option_exercise_record; convenience method: GetOptionExerciseRecordsAsync.

Request

TigerRequest<OptionExerciseRecordResponse>

ModelValue: OptionExerciseRecordModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno SDK validationsee operation constraints
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno SDK validationsee operation constraints
Typestringtypenullno SDK validationsee operation constraints
Statusstringstatusnullno SDK validationsee operation constraints
Symbolstringsymbolnullno SDK validationsee operation constraints
OrderBystringorder_bynullno SDK validationsee operation constraints
Pageintpage1no SDK validationsee operation constraints
Sizeintsize20no SDK validationsee operation constraints

Return

OptionExerciseRecordResponse inherits TigerResponse; its data property is OptionExerciseRecordPage.

Example

OptionExerciseRecordResponse response = await tradeClient.GetOptionExerciseRecordsAsync(page: 1, size: 20);
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);

Response type

OptionExerciseRecordPage? data = response?.Data; // null when response or data is absent

Data fields (OptionExerciseRecordPage)

FieldAPI fieldC# typeDescription
ItemsitemsList<OptionExerciseRecord>Exercise records.
PageNumpageNumint?Current page number.
PageSizepageSizeint?Records per page.
ItemCountitemCountint?Total record count.
PageCountpageCountint?Total page count.

Each OptionExerciseRecord in Items:

FieldAPI fieldC# typeDescription
Ididlong?Exercise record ID.
AccountIdaccountIdlong?Account ID.
ContractIdcontractIdlong?Option contract ID.
SymbolsymbolstringOption symbol.
StkSymbolstkSymbolstringUnderlying stock symbol.
ExpireDateexpireDatestringOption expiration date.
StrikestrikestringOption strike price.
CallPutcallPutstringOption call or put indicator.
TypetypestringExercise or expiration type.
RequestQuantityrequestQuantitydouble?Requested exercise quantity.
Quantityquantitydouble?Processed quantity.
StatusstatusstringExercise record status.
ExecutingDateexecutingDatestringScheduled execution date.
ItmRateitmRateint?In-the-money rate.
IsForceisForcebool?Whether the request was forced.
ReasonreasonstringStatus reason.

Rate limit

Base tier: 60 requests per minute.

Source and related APIs

See orders and request/response conventions.

Cancel Exercise

Operation

TradeApiService.OPTION_EXERCISE_CANCEL = option_exercise_cancel; convenience method: CancelOptionExerciseAsync.

Request

TigerRequest<OptionExerciseCancelResponse>

ModelValue: OptionExerciseCancelModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno SDK validationsee operation constraints
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno SDK validationsee operation constraints
IdlongidCLR default; omitted during serializationno SDK validationsee operation constraints

Return

OptionExerciseCancelResponse inherits TigerResponse; its data property is object.

Example

OptionExerciseCancelResponse response = await tradeClient.CancelOptionExerciseAsync(1234567890L);
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);

Response type

object? data = response?.Data; // null when response or data is absent

Data fields

TypeSDK contract
objectThe SDK defines no members or keys.

Rate limit

Base tier: 60 requests per minute.

Source and related APIs

See orders and request/response conventions.


Did this page help you?