Positions
View positions and manage position instructions.
Get Positions
Close Positions
Close Position
Get Position Instructions
Submit Position Instructions
Cancel Position Instruction
ModelsExpand Collapse
type Position struct{…}
Represents a holding of a particular instrument in an account
InstrumentType SecurityType
PositionType PositionType
AvgPrice stringOptional
The average price paid per share or contract for this position When a null/undefined value is observed, it indicates that there is no available data.
ClosingPrice stringOptional
The closing price used to value the position for the last trading day When a null/undefined value is observed, it indicates that there is no available data.
ClosingPriceDate TimeOptional
The market date associated with closing_price
When a null/undefined value is observed, it indicates that there is no available data.
CostBasis stringOptional
The total cost basis for this position When a null/undefined value is observed, it indicates that there is no available data.
DailyRealizedPnl stringOptional
The realized profit or loss for this position for the current day When a null/undefined value is observed, it indicates that there is no available data.
DailyUnrealizedPnl stringOptional
The unrealized profit or loss for this position relative to the previous close When a null/undefined value is observed, it indicates that there is no available data.
DailyUnrealizedPnlPct stringOptional
The unrealized profit/loss for the position for the current day, expressed as a percentage of the baseline value (range: 0-100). When a null/undefined value is observed, it indicates that there is no available data.
InstrumentPrice stringOptional
The current market price of the instrument When a null/undefined value is observed, it indicates that there is no available data.
UnderlyingInstrumentID stringOptional
Identifier of the underlying instrument, when available When a null/undefined value is observed, it indicates it does not apply.
type PositionInstruction struct{…}
A position instruction and its current lifecycle state.
ClientInstructionID string
Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.
InstructionType PositionInstructionType
Status PositionInstructionStatus
AcceptedQuantity stringOptional
Number of contracts accepted by the clearing venue. Populated once
the instruction reaches ACCEPTED.
When a null/undefined value is observed, it indicates that there is no available data.
CreatedAt TimeOptional
When the instruction was first accepted by the service. When a null/undefined value is observed, it indicates that there is no available data.
Machine-readable counterpart to rejection_reason: a stable reason code,
human-readable description, and params, present on every rejected row —
on submit, cancel, get, and list alike. Branch on rejection.reason and
read rejection.description instead of the top-level rejection_reason.
When a null/undefined value is observed, it indicates it does not apply.
Description string
Human-readable explanation of the rejection. Duplicates the top-level
rejection_reason; prefer this field.
Domain string
Namespacing domain of the reason code — com.clearstreet.oems.exercise
for reasons OEMS validates, com.clearstreet.oems.clearing for
clearing-owned reasons.
Metadata map[string, string]
Reason-specific parameters as a string→string map. Which keys are present
depends on reason:
INSUFFICIENT_POSITION→available,requestedDNE_NOT_ON_EXPIRY/CEA_NOT_ON_EXPIRY→expiry,business_dateEXERCISE_PAST_CUTOFF→cutoff_timeDUPLICATE_INSTRUCTION→existing_id
Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.
RejectionReason stringOptional
Human-readable explanation populated on any non-success terminal
status — REJECTED or CANCEL_FAILED. On a
207 Multi-Status batch submit the top-level error field
summarizes the batch; per-row detail continues to live here.
When a null/undefined value is observed, it indicates it does not apply.
ClientInstructionID string
Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.
InstructionType PositionInstructionType
Status PositionInstructionStatus
AcceptedQuantity stringOptional
Number of contracts accepted by the clearing venue. Populated once
the instruction reaches ACCEPTED.
When a null/undefined value is observed, it indicates that there is no available data.
CreatedAt TimeOptional
When the instruction was first accepted by the service. When a null/undefined value is observed, it indicates that there is no available data.
Machine-readable counterpart to rejection_reason: a stable reason code,
human-readable description, and params, present on every rejected row —
on submit, cancel, get, and list alike. Branch on rejection.reason and
read rejection.description instead of the top-level rejection_reason.
When a null/undefined value is observed, it indicates it does not apply.
Description string
Human-readable explanation of the rejection. Duplicates the top-level
rejection_reason; prefer this field.
Domain string
Namespacing domain of the reason code — com.clearstreet.oems.exercise
for reasons OEMS validates, com.clearstreet.oems.clearing for
clearing-owned reasons.
Metadata map[string, string]
Reason-specific parameters as a string→string map. Which keys are present
depends on reason:
INSUFFICIENT_POSITION→available,requestedDNE_NOT_ON_EXPIRY/CEA_NOT_ON_EXPIRY→expiry,business_dateEXERCISE_PAST_CUTOFF→cutoff_timeDUPLICATE_INSTRUCTION→existing_id
Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.
RejectionReason stringOptional
Human-readable explanation populated on any non-success terminal
status — REJECTED or CANCEL_FAILED. On a
207 Multi-Status batch submit the top-level error field
summarizes the batch; per-row detail continues to live here.
When a null/undefined value is observed, it indicates it does not apply.
type PositionInstructionRejection struct{…}
Machine-readable detail for a rejected position instruction.
Present on every rejected row, across the full lifecycle — submit, cancel,
get, and list. Branch on reason for programmatic handling and template your
own copy from metadata, or show description directly.
Description string
Human-readable explanation of the rejection. Duplicates the top-level
rejection_reason; prefer this field.
Domain string
Namespacing domain of the reason code — com.clearstreet.oems.exercise
for reasons OEMS validates, com.clearstreet.oems.clearing for
clearing-owned reasons.
Metadata map[string, string]
Reason-specific parameters as a string→string map. Which keys are present
depends on reason:
INSUFFICIENT_POSITION→available,requestedDNE_NOT_ON_EXPIRY/CEA_NOT_ON_EXPIRY→expiry,business_dateEXERCISE_PAST_CUTOFF→cutoff_timeDUPLICATE_INSTRUCTION→existing_id
Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.
type PositionInstructionStatus string
Lifecycle status of a position instruction.
SENT: accepted and submitted to the clearing venue.ACCEPTED: terminal — accepted by the clearing venue.REJECTED: terminal rejection;rejection_reasoncarries the detail. Covers both venue-reported rejections and rejections raised before the instruction reached the clearing venue (e.g. duplicateclient_instruction_id,DO_NOT_EXERCISE/CONTRARY_EXERCISEsubmitted on a non-expiry day, insufficient position, or an instrument that does not resolve).CANCEL_REQUESTED: cancel accepted; final cancel state pending.CANCELLED: terminal — cancel completed.CANCEL_FAILED: cancel could not be completed; operator attention required.rejection_reasoncarries the detail.UNKNOWN: status could not be determined.
InstrumentType SecurityType
PositionType PositionType
AvgPrice stringOptional
The average price paid per share or contract for this position When a null/undefined value is observed, it indicates that there is no available data.
ClosingPrice stringOptional
The closing price used to value the position for the last trading day When a null/undefined value is observed, it indicates that there is no available data.
ClosingPriceDate TimeOptional
The market date associated with closing_price
When a null/undefined value is observed, it indicates that there is no available data.
CostBasis stringOptional
The total cost basis for this position When a null/undefined value is observed, it indicates that there is no available data.
DailyRealizedPnl stringOptional
The realized profit or loss for this position for the current day When a null/undefined value is observed, it indicates that there is no available data.
DailyUnrealizedPnl stringOptional
The unrealized profit or loss for this position relative to the previous close When a null/undefined value is observed, it indicates that there is no available data.
DailyUnrealizedPnlPct stringOptional
The unrealized profit/loss for the position for the current day, expressed as a percentage of the baseline value (range: 0-100). When a null/undefined value is observed, it indicates that there is no available data.
InstrumentPrice stringOptional
The current market price of the instrument When a null/undefined value is observed, it indicates that there is no available data.
UnderlyingInstrumentID stringOptional
Identifier of the underlying instrument, when available When a null/undefined value is observed, it indicates it does not apply.