# Orders ## Get Orders `OrderGetOrdersResponse v1().orders().getOrders(OrderGetOrdersParamsparams = OrderGetOrdersParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **get** `/v1/accounts/{account_id}/orders` List orders for an account with optional filtering ### Parameters - `OrderGetOrdersParams params` - `Optional accountId` - `Optional from` The start date and time for the query range, inclusive (ISO 8601 format) - `Optional> instrumentIds` Comma-separated OEMS instrument UUIDs - `Optional instrumentType` Instrument type filter (e.g., COMMON_STOCK, OPTION) - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `Optional pageSize` The number of items to return per page. Only used when page_token is not provided. - `Optional pageToken` Token for retrieving the next or previous page of results. Contains encoded pagination state; when provided, page_size is ignored. - `Optional> status` Comma-separated order statuses to filter by - `PENDING_NEW("PENDING_NEW")` - `NEW("NEW")` - `PARTIALLY_FILLED("PARTIALLY_FILLED")` - `FILLED("FILLED")` - `CANCELED("CANCELED")` - `REJECTED("REJECTED")` - `EXPIRED("EXPIRED")` - `PENDING_CANCEL("PENDING_CANCEL")` - `PENDING_REPLACE("PENDING_REPLACE")` - `REPLACED("REPLACED")` - `DONE_FOR_DAY("DONE_FOR_DAY")` - `STOPPED("STOPPED")` - `SUSPENDED("SUSPENDED")` - `CALCULATED("CALCULATED")` - `OTHER("OTHER")` - `Optional symbol` Filter by symbol - `Optional to` The end date and time for the query range, inclusive (ISO 8601 format) - `Optional underlyingInstrumentIds` Comma-separated OEMS instrument UUIDs. Matches options orders whose resolved underlier is any of the given IDs. ### Returns - `class OrderGetOrdersResponse:` - `List data` - `String id` Engine-assigned unique identifier for this order (UUID). - `long accountId` Account placing the order - `String clientOrderId` Client-provided identifier echoed back (FIX tag 11). - `LocalDateTime createdAt` Timestamp when order was created (UTC) - `String filledQuantity` Cumulative filled quantity - `String instrumentId` OEMS instrument UUID for the traded instrument. - `SecurityType instrumentType` Type of security - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `String leavesQuantity` Remaining unfilled quantity - `OrderType orderType` Type of order (MARKET, LIMIT, etc.) - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `OTHER("OTHER")` - `String quantity` Total order quantity - `Side side` Side of the order (BUY, SELL, SELL_SHORT) - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `OrderStatus status` Current status of the order - `PENDING_NEW("PENDING_NEW")` - `NEW("NEW")` - `PARTIALLY_FILLED("PARTIALLY_FILLED")` - `FILLED("FILLED")` - `CANCELED("CANCELED")` - `REJECTED("REJECTED")` - `EXPIRED("EXPIRED")` - `PENDING_CANCEL("PENDING_CANCEL")` - `PENDING_REPLACE("PENDING_REPLACE")` - `REPLACED("REPLACED")` - `DONE_FOR_DAY("DONE_FOR_DAY")` - `STOPPED("STOPPED")` - `SUSPENDED("SUSPENDED")` - `CALCULATED("CALCULATED")` - `OTHER("OTHER")` - `String symbol` Trading symbol - `TimeInForce timeInForce` Time in force instruction - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `OTHER("OTHER")` - `LocalDateTime updatedAt` Timestamp of the most recent update (UTC) - `String venue` MIC code of the venue where the order is routed - `Optional averageFillPrice` Average fill price across all executions - `Optional> details` Contains execution, rejection or cancellation details, if any - `Optional expiresAt` Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. - `Optional extendedHours` Whether the order is eligible for extended-hours trading. - `Optional limitOffset` Limit offset for trailing stop-limit orders (signed) - `Optional limitPrice` Limit price (for LIMIT and STOP_LIMIT orders) - `Optional queueState` Parent order queue state, present when the order is awaiting release or released. - `AWAITING_RELEASE("AWAITING_RELEASE")` - `RELEASED("RELEASED")` - `Optional releasesAt` Scheduled release time for orders awaiting release. - `Optional stopPrice` Stop price (for STOP and STOP_LIMIT orders) - `Optional trailingLimitPx` Current trailing limit price computed by the trailing strategy - `Optional trailingOffset` Trailing offset amount for trailing orders - `Optional trailingOffsetType` Trailing offset type for trailing orders - `PRICE("PRICE")` - `BPS("BPS")` - `Optional trailingStopPx` Current trailing stop price computed by the trailing strategy - `Optional trailingWatermarkPx` Trailing watermark price for trailing orders - `Optional trailingWatermarkTs` Trailing watermark timestamp for trailing orders - `Optional underlyingInstrumentId` OEMS instrument ID of the option's underlying instrument. Populated only for OPTIONS orders; `null` for non-options and for options whose underlier cannot be resolved from the instrument cache. ### Example ```java package com.clear_street.api.example; import com.clear_street.api.client.ClearStreetClient; import com.clear_street.api.client.okhttp.ClearStreetOkHttpClient; import com.clear_street.api.models.v1.orders.OrderGetOrdersParams; import com.clear_street.api.models.v1.orders.OrderGetOrdersResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); OrderGetOrdersResponse response = client.v1().orders().getOrders(0L); } } ``` #### Response ```json { "data": [ { "account_id": 19816, "average_fill_price": "149.95", "client_order_id": "my-ref-id-20251001-001", "created_at": "2025-10-31T13:30:00.000000000Z", "filled_quantity": "50", "id": "0195f6c7-4f64-7e3c-8b0a-1d8e4f5e6a7b", "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8", "instrument_type": "COMMON_STOCK", "leaves_quantity": "50", "limit_price": "150.00", "order_type": "LIMIT", "quantity": "100", "side": "BUY", "status": "PARTIALLY_FILLED", "stop_price": null, "symbol": "AAPL", "time_in_force": "DAY", "updated_at": "2025-10-31T13:35:10.000000000Z" }, { "account_id": 19816, "average_fill_price": "450.75", "client_order_id": "my-ref-id-20251001-002", "created_at": "2025-10-31T14:00:00.000000000Z", "filled_quantity": "200", "id": "0195f6c8-1a2b-7c3d-8e4f-5a6b7c8d9e0f", "instrument_id": "b2b3b4b5-c2c3-d2d3-e2e3-e4e5e6e7e8e9", "instrument_type": "COMMON_STOCK", "leaves_quantity": "0", "limit_price": null, "order_type": "MARKET", "quantity": "200", "side": "SELL", "status": "FILLED", "stop_price": null, "symbol": "MSFT", "time_in_force": "DAY", "updated_at": "2025-10-31T14:00:05.000000000Z" } ], "error": null, "metadata": { "next_page_token": "cGFnZT0yJmxhc3RfaWQ9b3JkXzRjRDVlNkY3ZzhIOWkwSjE=", "page_number": 1, "request_id": "d9a4f5b6-c3d4-6e5f-0a1b-7c8d9e0f1a2b", "total_items": 25, "total_pages": 3 } } ``` ## Get Order By ID `OrderGetOrderByIdResponse v1().orders().getOrderById(OrderGetOrderByIdParamsparams, RequestOptionsrequestOptions = RequestOptions.none())` **get** `/v1/accounts/{account_id}/orders/{order_id}` Get Order By ID ### Parameters - `OrderGetOrderByIdParams params` - `long accountId` - `Optional orderId` ### Returns - `class OrderGetOrderByIdResponse:` - `Order data` A trading order with its current state and execution details. This is the unified API representation of an order across its lifecycle, combining data from execution reports, order status queries, and parent/child tracking. - `String id` Engine-assigned unique identifier for this order (UUID). - `long accountId` Account placing the order - `String clientOrderId` Client-provided identifier echoed back (FIX tag 11). - `LocalDateTime createdAt` Timestamp when order was created (UTC) - `String filledQuantity` Cumulative filled quantity - `String instrumentId` OEMS instrument UUID for the traded instrument. - `SecurityType instrumentType` Type of security - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `String leavesQuantity` Remaining unfilled quantity - `OrderType orderType` Type of order (MARKET, LIMIT, etc.) - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `OTHER("OTHER")` - `String quantity` Total order quantity - `Side side` Side of the order (BUY, SELL, SELL_SHORT) - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `OrderStatus status` Current status of the order - `PENDING_NEW("PENDING_NEW")` - `NEW("NEW")` - `PARTIALLY_FILLED("PARTIALLY_FILLED")` - `FILLED("FILLED")` - `CANCELED("CANCELED")` - `REJECTED("REJECTED")` - `EXPIRED("EXPIRED")` - `PENDING_CANCEL("PENDING_CANCEL")` - `PENDING_REPLACE("PENDING_REPLACE")` - `REPLACED("REPLACED")` - `DONE_FOR_DAY("DONE_FOR_DAY")` - `STOPPED("STOPPED")` - `SUSPENDED("SUSPENDED")` - `CALCULATED("CALCULATED")` - `OTHER("OTHER")` - `String symbol` Trading symbol - `TimeInForce timeInForce` Time in force instruction - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `OTHER("OTHER")` - `LocalDateTime updatedAt` Timestamp of the most recent update (UTC) - `String venue` MIC code of the venue where the order is routed - `Optional averageFillPrice` Average fill price across all executions - `Optional> details` Contains execution, rejection or cancellation details, if any - `Optional expiresAt` Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. - `Optional extendedHours` Whether the order is eligible for extended-hours trading. - `Optional limitOffset` Limit offset for trailing stop-limit orders (signed) - `Optional limitPrice` Limit price (for LIMIT and STOP_LIMIT orders) - `Optional queueState` Parent order queue state, present when the order is awaiting release or released. - `AWAITING_RELEASE("AWAITING_RELEASE")` - `RELEASED("RELEASED")` - `Optional releasesAt` Scheduled release time for orders awaiting release. - `Optional stopPrice` Stop price (for STOP and STOP_LIMIT orders) - `Optional trailingLimitPx` Current trailing limit price computed by the trailing strategy - `Optional trailingOffset` Trailing offset amount for trailing orders - `Optional trailingOffsetType` Trailing offset type for trailing orders - `PRICE("PRICE")` - `BPS("BPS")` - `Optional trailingStopPx` Current trailing stop price computed by the trailing strategy - `Optional trailingWatermarkPx` Trailing watermark price for trailing orders - `Optional trailingWatermarkTs` Trailing watermark timestamp for trailing orders - `Optional underlyingInstrumentId` OEMS instrument ID of the option's underlying instrument. Populated only for OPTIONS orders; `null` for non-options and for options whose underlier cannot be resolved from the instrument cache. ### Example ```java package com.clear_street.api.example; import com.clear_street.api.client.ClearStreetClient; import com.clear_street.api.client.okhttp.ClearStreetOkHttpClient; import com.clear_street.api.models.v1.orders.OrderGetOrderByIdParams; import com.clear_street.api.models.v1.orders.OrderGetOrderByIdResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); OrderGetOrderByIdParams params = OrderGetOrderByIdParams.builder() .accountId(0L) .orderId("order_id") .build(); OrderGetOrderByIdResponse response = client.v1().orders().getOrderById(params); } } ``` #### Response ```json { "data": { "account_id": 19816, "average_fill_price": "149.95", "created_at": "2025-10-31T13:30:00.000000000Z", "filled_quantity": "50", "id": "my-ref-id-20251001-001", "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8", "instrument_type": "COMMON_STOCK", "leaves_quantity": "50", "limit_price": "150.00", "order_type": "LIMIT", "quantity": "100", "side": "BUY", "status": "PARTIALLY_FILLED", "stop_price": null, "symbol": "AAPL", "time_in_force": "DAY", "updated_at": "2025-10-31T13:35:10.000000000Z" }, "error": null, "metadata": { "request_id": "0c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f" } } ``` ## Submit Orders `OrderSubmitOrdersResponse v1().orders().submitOrders(OrderSubmitOrdersParamsparams, RequestOptionsrequestOptions = RequestOptions.none())` **post** `/v1/accounts/{account_id}/orders` Submit new orders ### Parameters - `OrderSubmitOrdersParams params` - `Optional accountId` - `List orders` - `class NewOrderMultilegRequest:` Multileg strategy order request - `List legs` Legs that compose the strategy. - `SecurityType instrumentType` Security type for the leg. - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `String ratio` Ratio for the leg. - `String security` Trading symbol (e.g. "AAPL" or OSI symbol for options) - `Side side` Leg side. - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `Optional id` Optional leg reference identifier. - `Optional positionEffect` Optional leg position effect. - `OPEN("OPEN")` - `CLOSE("CLOSE")` - `RequestOrderType orderType` Type of order (currently MARKET or LIMIT for multileg strategy submission) - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `RequestTimeInForce timeInForce` Time in force - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `Optional id` Optional client-provided unique ID (idempotency). Required to be unique per account. - `Optional limitPrice` Strategy price, required for LIMIT orders. - `Optional quantity` Optional strategy-level quantity. Multiplies leg quantities. Defaults to 1. - `class NewOrderRequest:` Request to submit a new order (PlaceOrderRequest from spec) - `SecurityType instrumentType` Type of security - `RequestOrderType orderType` Type of order - `String quantity` Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer) - `Side side` Side of the order - `RequestTimeInForce timeInForce` Time in force - `Optional id` Optional client-provided unique ID (idempotency). Required to be unique per account. - `Optional expiresAt` The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE. - `Optional extendedHours` Allow trading outside regular trading hours. Some brokers disallow options outside RTH. - `Optional instrumentId` OEMS instrument UUID - `Optional limitOffset` Limit offset for trailing stop-limit orders (signed) - `Optional limitPrice` Limit price (required for LIMIT and STOP_LIMIT orders) - `Optional positionEffect` Required when instrument_type is OPTION. Specifies whether the order opens or closes a position. - `Optional stopPrice` Stop price (required for STOP and STOP_LIMIT orders) - `Optional symbol` Trading symbol. For equities, use the ticker symbol (e.g., "AAPL"). For options, use the OSI symbol (e.g., "AAPL 250117C00190000"). Either `symbol` or `instrument_id` must be provided. - `Optional trailingOffset` Trailing offset amount (required for trailing orders) - `Optional trailingOffsetType` Trailing offset type (PRICE or PERCENT_BPS) - `PRICE("PRICE")` - `BPS("BPS")` ### Returns - `class OrderSubmitOrdersResponse:` - `List data` - `String id` Engine-assigned unique identifier for this order (UUID). - `long accountId` Account placing the order - `String clientOrderId` Client-provided identifier echoed back (FIX tag 11). - `LocalDateTime createdAt` Timestamp when order was created (UTC) - `String filledQuantity` Cumulative filled quantity - `String instrumentId` OEMS instrument UUID for the traded instrument. - `SecurityType instrumentType` Type of security - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `String leavesQuantity` Remaining unfilled quantity - `OrderType orderType` Type of order (MARKET, LIMIT, etc.) - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `OTHER("OTHER")` - `String quantity` Total order quantity - `Side side` Side of the order (BUY, SELL, SELL_SHORT) - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `OrderStatus status` Current status of the order - `PENDING_NEW("PENDING_NEW")` - `NEW("NEW")` - `PARTIALLY_FILLED("PARTIALLY_FILLED")` - `FILLED("FILLED")` - `CANCELED("CANCELED")` - `REJECTED("REJECTED")` - `EXPIRED("EXPIRED")` - `PENDING_CANCEL("PENDING_CANCEL")` - `PENDING_REPLACE("PENDING_REPLACE")` - `REPLACED("REPLACED")` - `DONE_FOR_DAY("DONE_FOR_DAY")` - `STOPPED("STOPPED")` - `SUSPENDED("SUSPENDED")` - `CALCULATED("CALCULATED")` - `OTHER("OTHER")` - `String symbol` Trading symbol - `TimeInForce timeInForce` Time in force instruction - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `OTHER("OTHER")` - `LocalDateTime updatedAt` Timestamp of the most recent update (UTC) - `String venue` MIC code of the venue where the order is routed - `Optional averageFillPrice` Average fill price across all executions - `Optional> details` Contains execution, rejection or cancellation details, if any - `Optional expiresAt` Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. - `Optional extendedHours` Whether the order is eligible for extended-hours trading. - `Optional limitOffset` Limit offset for trailing stop-limit orders (signed) - `Optional limitPrice` Limit price (for LIMIT and STOP_LIMIT orders) - `Optional queueState` Parent order queue state, present when the order is awaiting release or released. - `AWAITING_RELEASE("AWAITING_RELEASE")` - `RELEASED("RELEASED")` - `Optional releasesAt` Scheduled release time for orders awaiting release. - `Optional stopPrice` Stop price (for STOP and STOP_LIMIT orders) - `Optional trailingLimitPx` Current trailing limit price computed by the trailing strategy - `Optional trailingOffset` Trailing offset amount for trailing orders - `Optional trailingOffsetType` Trailing offset type for trailing orders - `PRICE("PRICE")` - `BPS("BPS")` - `Optional trailingStopPx` Current trailing stop price computed by the trailing strategy - `Optional trailingWatermarkPx` Trailing watermark price for trailing orders - `Optional trailingWatermarkTs` Trailing watermark timestamp for trailing orders - `Optional underlyingInstrumentId` OEMS instrument ID of the option's underlying instrument. Populated only for OPTIONS orders; `null` for non-options and for options whose underlier cannot be resolved from the instrument cache. ### Example ```java package com.clear_street.api.example; import com.clear_street.api.client.ClearStreetClient; import com.clear_street.api.client.okhttp.ClearStreetOkHttpClient; import com.clear_street.api.models.v1.SecurityType; import com.clear_street.api.models.v1.orders.OrderSubmitOrdersParams; import com.clear_street.api.models.v1.orders.OrderSubmitOrdersResponse; import com.clear_street.api.models.v1.orders.RequestOrderType; import com.clear_street.api.models.v1.orders.RequestTimeInForce; import com.clear_street.api.models.v1.orders.Side; import java.util.List; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); OrderSubmitOrdersParams params = OrderSubmitOrdersParams.builder() .accountId(0L) .addOrder(OrderSubmitOrdersParams.Order.NewOrderMultilegRequest.builder() .legs(List.of( OrderSubmitOrdersParams.Order.NewOrderMultilegRequest.Leg.builder() .instrumentType(SecurityType.OPTION) .ratio("ratio") .security("0193bb84-447a-706f-996f-097254663f02") .side(Side.BUY) .build(), OrderSubmitOrdersParams.Order.NewOrderMultilegRequest.Leg.builder() .instrumentType(SecurityType.OPTION) .ratio("ratio") .security("0193bb84-4db4-78ec-b4fd-cba8be61cf8a") .side(Side.SELL) .build(), OrderSubmitOrdersParams.Order.NewOrderMultilegRequest.Leg.builder() .instrumentType(SecurityType.OPTION) .ratio("ratio") .security("0193bb84-5264-7f20-8fd3-35df82cd6ef0") .side(Side.BUY) .build() )) .orderType(RequestOrderType.LIMIT) .timeInForce(RequestTimeInForce.DAY) .build()) .build(); OrderSubmitOrdersResponse response = client.v1().orders().submitOrders(params); } } ``` #### Response ```json { "data": [ { "account_id": 19816, "average_fill_price": null, "client_order_id": "my-ref-id-20251003-001", "created_at": "2025-10-03T14:01:15.000000000Z", "filled_quantity": "0", "id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e01", "instrument_id": "c3c4c5c6-d3d4-e3e4-f3f4-f5f6f7f8f9fa", "instrument_type": "COMMON_STOCK", "leaves_quantity": "25", "limit_price": null, "order_type": "MARKET", "quantity": "25", "side": "SELL", "status": "PENDING_NEW", "stop_price": null, "symbol": "GOOG", "time_in_force": "DAY", "updated_at": "2025-10-03T14:01:15.000000000Z", "venue": "XNAS" }, { "account_id": 19816, "average_fill_price": null, "client_order_id": "my-ref-id-20251003-002", "created_at": "2025-10-03T14:01:15.000000000Z", "filled_quantity": "0", "id": "0195f6d0-a1b2-7c3d-8e4f-5a6b7c8d9e02", "instrument_id": "d4d5d6d7-e4e5-f4f5-a4a5-a6a7a8a9aaab", "instrument_type": "COMMON_STOCK", "leaves_quantity": "50", "limit_price": "180.00", "order_type": "LIMIT", "quantity": "50", "side": "BUY", "status": "PENDING_NEW", "stop_price": null, "symbol": "TSLA", "time_in_force": "DAY", "updated_at": "2025-10-03T14:01:15.000000000Z", "venue": "XNAS" } ], "error": null, "metadata": { "request_id": "ea0b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d" } } ``` ## Replace Order `OrderReplaceOrderResponse v1().orders().replaceOrder(OrderReplaceOrderParamsparams, RequestOptionsrequestOptions = RequestOptions.none())` **patch** `/v1/accounts/{account_id}/orders/{order_id}` Replace an order with new parameters ### Parameters - `OrderReplaceOrderParams params` - `long accountId` - `Optional orderId` - `Optional limitPrice` New limit price for the order - `Optional quantity` New quantity for the order - `Optional stopPrice` New stop price for the order - `Optional timeInForce` New time in force for the order ### Returns - `class OrderReplaceOrderResponse:` - `Order data` A trading order with its current state and execution details. This is the unified API representation of an order across its lifecycle, combining data from execution reports, order status queries, and parent/child tracking. - `String id` Engine-assigned unique identifier for this order (UUID). - `long accountId` Account placing the order - `String clientOrderId` Client-provided identifier echoed back (FIX tag 11). - `LocalDateTime createdAt` Timestamp when order was created (UTC) - `String filledQuantity` Cumulative filled quantity - `String instrumentId` OEMS instrument UUID for the traded instrument. - `SecurityType instrumentType` Type of security - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `String leavesQuantity` Remaining unfilled quantity - `OrderType orderType` Type of order (MARKET, LIMIT, etc.) - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `OTHER("OTHER")` - `String quantity` Total order quantity - `Side side` Side of the order (BUY, SELL, SELL_SHORT) - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `OrderStatus status` Current status of the order - `PENDING_NEW("PENDING_NEW")` - `NEW("NEW")` - `PARTIALLY_FILLED("PARTIALLY_FILLED")` - `FILLED("FILLED")` - `CANCELED("CANCELED")` - `REJECTED("REJECTED")` - `EXPIRED("EXPIRED")` - `PENDING_CANCEL("PENDING_CANCEL")` - `PENDING_REPLACE("PENDING_REPLACE")` - `REPLACED("REPLACED")` - `DONE_FOR_DAY("DONE_FOR_DAY")` - `STOPPED("STOPPED")` - `SUSPENDED("SUSPENDED")` - `CALCULATED("CALCULATED")` - `OTHER("OTHER")` - `String symbol` Trading symbol - `TimeInForce timeInForce` Time in force instruction - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `OTHER("OTHER")` - `LocalDateTime updatedAt` Timestamp of the most recent update (UTC) - `String venue` MIC code of the venue where the order is routed - `Optional averageFillPrice` Average fill price across all executions - `Optional> details` Contains execution, rejection or cancellation details, if any - `Optional expiresAt` Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. - `Optional extendedHours` Whether the order is eligible for extended-hours trading. - `Optional limitOffset` Limit offset for trailing stop-limit orders (signed) - `Optional limitPrice` Limit price (for LIMIT and STOP_LIMIT orders) - `Optional queueState` Parent order queue state, present when the order is awaiting release or released. - `AWAITING_RELEASE("AWAITING_RELEASE")` - `RELEASED("RELEASED")` - `Optional releasesAt` Scheduled release time for orders awaiting release. - `Optional stopPrice` Stop price (for STOP and STOP_LIMIT orders) - `Optional trailingLimitPx` Current trailing limit price computed by the trailing strategy - `Optional trailingOffset` Trailing offset amount for trailing orders - `Optional trailingOffsetType` Trailing offset type for trailing orders - `PRICE("PRICE")` - `BPS("BPS")` - `Optional trailingStopPx` Current trailing stop price computed by the trailing strategy - `Optional trailingWatermarkPx` Trailing watermark price for trailing orders - `Optional trailingWatermarkTs` Trailing watermark timestamp for trailing orders - `Optional underlyingInstrumentId` OEMS instrument ID of the option's underlying instrument. Populated only for OPTIONS orders; `null` for non-options and for options whose underlier cannot be resolved from the instrument cache. ### Example ```java package com.clear_street.api.example; import com.clear_street.api.client.ClearStreetClient; import com.clear_street.api.client.okhttp.ClearStreetOkHttpClient; import com.clear_street.api.models.v1.orders.OrderReplaceOrderParams; import com.clear_street.api.models.v1.orders.OrderReplaceOrderResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); OrderReplaceOrderParams params = OrderReplaceOrderParams.builder() .accountId(0L) .orderId("order_id") .build(); OrderReplaceOrderResponse response = client.v1().orders().replaceOrder(params); } } ``` #### Response ```json { "data": { "account_id": 19816, "average_fill_price": "149.95", "created_at": "2025-10-31T13:30:00.000000000Z", "filled_quantity": "50", "id": "my-ref-id-20251001-001", "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8", "instrument_type": "COMMON_STOCK", "leaves_quantity": "50", "limit_price": "150.50", "order_type": "LIMIT", "quantity": "125", "side": "BUY", "status": "PENDING_REPLACE", "stop_price": null, "symbol": "AAPL", "time_in_force": "DAY", "updated_at": "2025-10-31T14:10:00.000000000Z" }, "error": null, "metadata": { "request_id": "1d2e3f4a-5b6c-7d8e-9f0a-1b2c3d4e5f6a" } } ``` ## Cancel Open Order `OrderCancelOpenOrderResponse v1().orders().cancelOpenOrder(OrderCancelOpenOrderParamsparams, RequestOptionsrequestOptions = RequestOptions.none())` **delete** `/v1/accounts/{account_id}/orders/{order_id}` Cancel a specific order ### Parameters - `OrderCancelOpenOrderParams params` - `long accountId` - `Optional orderId` ### Returns - `class OrderCancelOpenOrderResponse:` - `Order data` A trading order with its current state and execution details. This is the unified API representation of an order across its lifecycle, combining data from execution reports, order status queries, and parent/child tracking. - `String id` Engine-assigned unique identifier for this order (UUID). - `long accountId` Account placing the order - `String clientOrderId` Client-provided identifier echoed back (FIX tag 11). - `LocalDateTime createdAt` Timestamp when order was created (UTC) - `String filledQuantity` Cumulative filled quantity - `String instrumentId` OEMS instrument UUID for the traded instrument. - `SecurityType instrumentType` Type of security - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `String leavesQuantity` Remaining unfilled quantity - `OrderType orderType` Type of order (MARKET, LIMIT, etc.) - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `OTHER("OTHER")` - `String quantity` Total order quantity - `Side side` Side of the order (BUY, SELL, SELL_SHORT) - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `OrderStatus status` Current status of the order - `PENDING_NEW("PENDING_NEW")` - `NEW("NEW")` - `PARTIALLY_FILLED("PARTIALLY_FILLED")` - `FILLED("FILLED")` - `CANCELED("CANCELED")` - `REJECTED("REJECTED")` - `EXPIRED("EXPIRED")` - `PENDING_CANCEL("PENDING_CANCEL")` - `PENDING_REPLACE("PENDING_REPLACE")` - `REPLACED("REPLACED")` - `DONE_FOR_DAY("DONE_FOR_DAY")` - `STOPPED("STOPPED")` - `SUSPENDED("SUSPENDED")` - `CALCULATED("CALCULATED")` - `OTHER("OTHER")` - `String symbol` Trading symbol - `TimeInForce timeInForce` Time in force instruction - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `OTHER("OTHER")` - `LocalDateTime updatedAt` Timestamp of the most recent update (UTC) - `String venue` MIC code of the venue where the order is routed - `Optional averageFillPrice` Average fill price across all executions - `Optional> details` Contains execution, rejection or cancellation details, if any - `Optional expiresAt` Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. - `Optional extendedHours` Whether the order is eligible for extended-hours trading. - `Optional limitOffset` Limit offset for trailing stop-limit orders (signed) - `Optional limitPrice` Limit price (for LIMIT and STOP_LIMIT orders) - `Optional queueState` Parent order queue state, present when the order is awaiting release or released. - `AWAITING_RELEASE("AWAITING_RELEASE")` - `RELEASED("RELEASED")` - `Optional releasesAt` Scheduled release time for orders awaiting release. - `Optional stopPrice` Stop price (for STOP and STOP_LIMIT orders) - `Optional trailingLimitPx` Current trailing limit price computed by the trailing strategy - `Optional trailingOffset` Trailing offset amount for trailing orders - `Optional trailingOffsetType` Trailing offset type for trailing orders - `PRICE("PRICE")` - `BPS("BPS")` - `Optional trailingStopPx` Current trailing stop price computed by the trailing strategy - `Optional trailingWatermarkPx` Trailing watermark price for trailing orders - `Optional trailingWatermarkTs` Trailing watermark timestamp for trailing orders - `Optional underlyingInstrumentId` OEMS instrument ID of the option's underlying instrument. Populated only for OPTIONS orders; `null` for non-options and for options whose underlier cannot be resolved from the instrument cache. ### Example ```java package com.clear_street.api.example; import com.clear_street.api.client.ClearStreetClient; import com.clear_street.api.client.okhttp.ClearStreetOkHttpClient; import com.clear_street.api.models.v1.orders.OrderCancelOpenOrderParams; import com.clear_street.api.models.v1.orders.OrderCancelOpenOrderResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); OrderCancelOpenOrderParams params = OrderCancelOpenOrderParams.builder() .accountId(0L) .orderId("order_id") .build(); OrderCancelOpenOrderResponse response = client.v1().orders().cancelOpenOrder(params); } } ``` #### Response ```json { "data": { "account_id": 19816, "average_fill_price": "149.95", "created_at": "2025-10-31T13:30:00.000000000Z", "filled_quantity": "50", "id": "my-ref-id-20251001-001", "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8", "instrument_type": "COMMON_STOCK", "leaves_quantity": "50", "limit_price": "150.50", "order_type": "LIMIT", "quantity": "125", "side": "BUY", "status": "PENDING_CANCEL", "stop_price": null, "symbol": "AAPL", "time_in_force": "DAY", "updated_at": "2025-10-31T14:15:00.000000000Z" }, "error": null, "metadata": { "request_id": "2e3f4a5b-6c7d-8e9f-0a1b-2c3d4e5f6a7b" } } ``` ## Cancel All Open Orders `OrderCancelAllOpenOrdersResponse v1().orders().cancelAllOpenOrders(OrderCancelAllOpenOrdersParamsparams = OrderCancelAllOpenOrdersParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **delete** `/v1/accounts/{account_id}/orders` Cancel all orders for an account ### Parameters - `OrderCancelAllOpenOrdersParams params` - `Optional accountId` - `Optional> instrumentIds` Comma-separated OEMS instrument UUIDs - `Optional instrumentType` Filter by instrument type (e.g., COMMON_STOCK, OPTION) - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `Optional side` Filter by order side (BUY or SELL) - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `Optional type` Filter by order type (e.g., MARKET, LIMIT) - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `OTHER("OTHER")` ### Returns - `class OrderCancelAllOpenOrdersResponse:` - `List data` - `String id` Engine-assigned unique identifier for this order (UUID). - `long accountId` Account placing the order - `String clientOrderId` Client-provided identifier echoed back (FIX tag 11). - `LocalDateTime createdAt` Timestamp when order was created (UTC) - `String filledQuantity` Cumulative filled quantity - `String instrumentId` OEMS instrument UUID for the traded instrument. - `SecurityType instrumentType` Type of security - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `String leavesQuantity` Remaining unfilled quantity - `OrderType orderType` Type of order (MARKET, LIMIT, etc.) - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `OTHER("OTHER")` - `String quantity` Total order quantity - `Side side` Side of the order (BUY, SELL, SELL_SHORT) - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `OrderStatus status` Current status of the order - `PENDING_NEW("PENDING_NEW")` - `NEW("NEW")` - `PARTIALLY_FILLED("PARTIALLY_FILLED")` - `FILLED("FILLED")` - `CANCELED("CANCELED")` - `REJECTED("REJECTED")` - `EXPIRED("EXPIRED")` - `PENDING_CANCEL("PENDING_CANCEL")` - `PENDING_REPLACE("PENDING_REPLACE")` - `REPLACED("REPLACED")` - `DONE_FOR_DAY("DONE_FOR_DAY")` - `STOPPED("STOPPED")` - `SUSPENDED("SUSPENDED")` - `CALCULATED("CALCULATED")` - `OTHER("OTHER")` - `String symbol` Trading symbol - `TimeInForce timeInForce` Time in force instruction - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `OTHER("OTHER")` - `LocalDateTime updatedAt` Timestamp of the most recent update (UTC) - `String venue` MIC code of the venue where the order is routed - `Optional averageFillPrice` Average fill price across all executions - `Optional> details` Contains execution, rejection or cancellation details, if any - `Optional expiresAt` Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. - `Optional extendedHours` Whether the order is eligible for extended-hours trading. - `Optional limitOffset` Limit offset for trailing stop-limit orders (signed) - `Optional limitPrice` Limit price (for LIMIT and STOP_LIMIT orders) - `Optional queueState` Parent order queue state, present when the order is awaiting release or released. - `AWAITING_RELEASE("AWAITING_RELEASE")` - `RELEASED("RELEASED")` - `Optional releasesAt` Scheduled release time for orders awaiting release. - `Optional stopPrice` Stop price (for STOP and STOP_LIMIT orders) - `Optional trailingLimitPx` Current trailing limit price computed by the trailing strategy - `Optional trailingOffset` Trailing offset amount for trailing orders - `Optional trailingOffsetType` Trailing offset type for trailing orders - `PRICE("PRICE")` - `BPS("BPS")` - `Optional trailingStopPx` Current trailing stop price computed by the trailing strategy - `Optional trailingWatermarkPx` Trailing watermark price for trailing orders - `Optional trailingWatermarkTs` Trailing watermark timestamp for trailing orders - `Optional underlyingInstrumentId` OEMS instrument ID of the option's underlying instrument. Populated only for OPTIONS orders; `null` for non-options and for options whose underlier cannot be resolved from the instrument cache. ### Example ```java package com.clear_street.api.example; import com.clear_street.api.client.ClearStreetClient; import com.clear_street.api.client.okhttp.ClearStreetOkHttpClient; import com.clear_street.api.models.v1.orders.OrderCancelAllOpenOrdersParams; import com.clear_street.api.models.v1.orders.OrderCancelAllOpenOrdersResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); OrderCancelAllOpenOrdersResponse response = client.v1().orders().cancelAllOpenOrders(0L); } } ``` #### Response ```json { "data": [ { "account_id": 19816, "average_fill_price": "149.95", "created_at": "2025-10-31T13:30:00.000000000Z", "filled_quantity": "50", "id": "019c0b48-b8fb-700d-8c5e-931d54555f54", "instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8", "instrument_type": "COMMON_STOCK", "leaves_quantity": "50", "limit_price": "150.00", "order_type": "LIMIT", "quantity": "100", "side": "BUY", "status": "PENDING_CANCEL", "stop_price": null, "symbol": "AAPL", "time_in_force": "DAY", "updated_at": "2025-10-31T14:15:00.000000000Z" }, { "account_id": 19816, "average_fill_price": null, "created_at": "2025-10-31T14:00:00.000000000Z", "filled_quantity": "0", "id": "019c0b49-03af-70d1-8eeb-d69836c9840b", "instrument_id": "b2b3b4b5-c2c3-d2d3-e2e3-e4e5e6e7e8e9", "instrument_type": "COMMON_STOCK", "leaves_quantity": "200", "limit_price": "450.00", "order_type": "LIMIT", "quantity": "200", "side": "SELL", "status": "PENDING_CANCEL", "stop_price": null, "symbol": "MSFT", "time_in_force": "DAY", "updated_at": "2025-10-31T14:15:00.000000000Z" } ], "error": null, "metadata": { "request_id": "fb1c2d3e-4f5a-6b7c-8d9e-0f1a2b3c4d5e" } } ``` ## Domain Types ### Cancel Order Request - `class CancelOrderRequest:` Request to cancel an existing order Note: In the API, order cancellation is done via DELETE request without a body. The order_id and account_id come from the URL path parameters. - `long accountId` Account ID (from path parameter) - `String orderId` Order ID to cancel (from path parameter) ### New Order Request - `class NewOrderRequest:` Request to submit a new order (PlaceOrderRequest from spec) - `SecurityType instrumentType` Type of security - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `RequestOrderType orderType` Type of order - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `String quantity` Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer) - `Side side` Side of the order - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `RequestTimeInForce timeInForce` Time in force - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `Optional id` Optional client-provided unique ID (idempotency). Required to be unique per account. - `Optional expiresAt` The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE. - `Optional extendedHours` Allow trading outside regular trading hours. Some brokers disallow options outside RTH. - `Optional instrumentId` OEMS instrument UUID - `Optional limitOffset` Limit offset for trailing stop-limit orders (signed) - `Optional limitPrice` Limit price (required for LIMIT and STOP_LIMIT orders) - `Optional positionEffect` Required when instrument_type is OPTION. Specifies whether the order opens or closes a position. - `OPEN("OPEN")` - `CLOSE("CLOSE")` - `Optional stopPrice` Stop price (required for STOP and STOP_LIMIT orders) - `Optional symbol` Trading symbol. For equities, use the ticker symbol (e.g., "AAPL"). For options, use the OSI symbol (e.g., "AAPL 250117C00190000"). Either `symbol` or `instrument_id` must be provided. - `Optional trailingOffset` Trailing offset amount (required for trailing orders) - `Optional trailingOffsetType` Trailing offset type (PRICE or PERCENT_BPS) - `PRICE("PRICE")` - `BPS("BPS")` ### Order - `class Order:` A trading order with its current state and execution details. This is the unified API representation of an order across its lifecycle, combining data from execution reports, order status queries, and parent/child tracking. - `String id` Engine-assigned unique identifier for this order (UUID). - `long accountId` Account placing the order - `String clientOrderId` Client-provided identifier echoed back (FIX tag 11). - `LocalDateTime createdAt` Timestamp when order was created (UTC) - `String filledQuantity` Cumulative filled quantity - `String instrumentId` OEMS instrument UUID for the traded instrument. - `SecurityType instrumentType` Type of security - `COMMON_STOCK("COMMON_STOCK")` - `PREFERRED_STOCK("PREFERRED_STOCK")` - `OPTION("OPTION")` - `CASH("CASH")` - `OTHER("OTHER")` - `String leavesQuantity` Remaining unfilled quantity - `OrderType orderType` Type of order (MARKET, LIMIT, etc.) - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `OTHER("OTHER")` - `String quantity` Total order quantity - `Side side` Side of the order (BUY, SELL, SELL_SHORT) - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` - `OrderStatus status` Current status of the order - `PENDING_NEW("PENDING_NEW")` - `NEW("NEW")` - `PARTIALLY_FILLED("PARTIALLY_FILLED")` - `FILLED("FILLED")` - `CANCELED("CANCELED")` - `REJECTED("REJECTED")` - `EXPIRED("EXPIRED")` - `PENDING_CANCEL("PENDING_CANCEL")` - `PENDING_REPLACE("PENDING_REPLACE")` - `REPLACED("REPLACED")` - `DONE_FOR_DAY("DONE_FOR_DAY")` - `STOPPED("STOPPED")` - `SUSPENDED("SUSPENDED")` - `CALCULATED("CALCULATED")` - `OTHER("OTHER")` - `String symbol` Trading symbol - `TimeInForce timeInForce` Time in force instruction - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `OTHER("OTHER")` - `LocalDateTime updatedAt` Timestamp of the most recent update (UTC) - `String venue` MIC code of the venue where the order is routed - `Optional averageFillPrice` Average fill price across all executions - `Optional> details` Contains execution, rejection or cancellation details, if any - `Optional expiresAt` Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. - `Optional extendedHours` Whether the order is eligible for extended-hours trading. - `Optional limitOffset` Limit offset for trailing stop-limit orders (signed) - `Optional limitPrice` Limit price (for LIMIT and STOP_LIMIT orders) - `Optional queueState` Parent order queue state, present when the order is awaiting release or released. - `AWAITING_RELEASE("AWAITING_RELEASE")` - `RELEASED("RELEASED")` - `Optional releasesAt` Scheduled release time for orders awaiting release. - `Optional stopPrice` Stop price (for STOP and STOP_LIMIT orders) - `Optional trailingLimitPx` Current trailing limit price computed by the trailing strategy - `Optional trailingOffset` Trailing offset amount for trailing orders - `Optional trailingOffsetType` Trailing offset type for trailing orders - `PRICE("PRICE")` - `BPS("BPS")` - `Optional trailingStopPx` Current trailing stop price computed by the trailing strategy - `Optional trailingWatermarkPx` Trailing watermark price for trailing orders - `Optional trailingWatermarkTs` Trailing watermark timestamp for trailing orders - `Optional underlyingInstrumentId` OEMS instrument ID of the option's underlying instrument. Populated only for OPTIONS orders; `null` for non-options and for options whose underlier cannot be resolved from the instrument cache. ### Order Status - `enum OrderStatus:` Order status - `PENDING_NEW("PENDING_NEW")` - `NEW("NEW")` - `PARTIALLY_FILLED("PARTIALLY_FILLED")` - `FILLED("FILLED")` - `CANCELED("CANCELED")` - `REJECTED("REJECTED")` - `EXPIRED("EXPIRED")` - `PENDING_CANCEL("PENDING_CANCEL")` - `PENDING_REPLACE("PENDING_REPLACE")` - `REPLACED("REPLACED")` - `DONE_FOR_DAY("DONE_FOR_DAY")` - `STOPPED("STOPPED")` - `SUSPENDED("SUSPENDED")` - `CALCULATED("CALCULATED")` - `OTHER("OTHER")` ### Order Type - `enum OrderType:` Order type - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` - `OTHER("OTHER")` ### Position Effect - `enum PositionEffect:` Position effect for options orders - `OPEN("OPEN")` - `CLOSE("CLOSE")` ### Queue State - `enum QueueState:` Parent order queue or hold state. - `AWAITING_RELEASE("AWAITING_RELEASE")` - `RELEASED("RELEASED")` ### Request Order Type - `enum RequestOrderType:` Strict order-type enum for order submission/replacement requests. - `MARKET("MARKET")` - `LIMIT("LIMIT")` - `STOP("STOP")` - `STOP_LIMIT("STOP_LIMIT")` - `TRAILING_STOP("TRAILING_STOP")` - `TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")` ### Request Time In Force - `enum RequestTimeInForce:` Strict time-in-force enum for order submission/replacement requests. - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` ### Side - `enum Side:` Side of an order - `BUY("BUY")` - `SELL("SELL")` - `SELL_SHORT("SELL_SHORT")` - `OTHER("OTHER")` ### Time In Force - `enum TimeInForce:` Time in force - `DAY("DAY")` - `GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")` - `IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")` - `FILL_OR_KILL("FILL_OR_KILL")` - `GOOD_TILL_DATE("GOOD_TILL_DATE")` - `AT_THE_OPENING("AT_THE_OPENING")` - `AT_THE_CLOSE("AT_THE_CLOSE")` - `GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")` - `GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")` - `AT_CROSSING("AT_CROSSING")` - `OTHER("OTHER")` ### Trailing Offset Type - `enum TrailingOffsetType:` Trailing offset type for trailing stop orders. - `PRICE("PRICE")` - `BPS("BPS")`