Skip to content
Start Trading

Cancel Open Order

OrderCancelOpenOrderResponse v1().orders().cancelOpenOrder(OrderCancelOpenOrderParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
DELETE/v1/accounts/{account_id}/orders/{order_id}

Cancel a specific order

ParametersExpand Collapse
OrderCancelOpenOrderParams params
long accountId
Optional<String> orderId
ReturnsExpand Collapse
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

formatint64
String clientOrderId

Client-provided identifier echoed back.

LocalDateTime createdAt

Timestamp when order was created (UTC)

formatdate-time
String filledQuantity

Cumulative filled quantity

String instrumentId

Instrument identifier for the traded instrument.

formatuuid
SecurityType instrumentType

Type of security

One of the following:
COMMON_STOCK("COMMON_STOCK")
OPTION("OPTION")
CASH("CASH")
String leavesQuantity

Remaining unfilled quantity

OrderType orderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
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)

One of the following:
BUY("BUY")
SELL("SELL")
SELL_SHORT("SELL_SHORT")
OTHER("OTHER")

Current status of the order

One of the following:
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

One of the following:
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)

formatdate-time
String venue

MIC code of the venue where the order is routed

Optional<String> averageFillPrice

Average fill price across all executions When a null/undefined value is observed, it indicates that there is no available data.

Optional<List<String>> details

Contains execution, rejection or cancellation details, if any

Optional<LocalDateTime> expiresAt

Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
Optional<Boolean> extendedHours

Whether the order is eligible for extended-hours trading.

Optional<String> limitOffset

Limit offset for trailing stop-limit orders (signed) When a null/undefined value is observed, it indicates it does not apply.

Optional<String> limitPrice

Limit price (for LIMIT and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

Optional<QueueState> queueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
AWAITING_RELEASE("AWAITING_RELEASE")
RELEASED("RELEASED")
Optional<LocalDateTime> releasesAt

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
Optional<String> stopPrice

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

Optional<String> trailingLimitPx

Current trailing limit price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.

Optional<String> trailingOffset

Trailing offset amount for trailing orders When a null/undefined value is observed, it indicates it does not apply.

Optional<TrailingOffsetType> trailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
PRICE("PRICE")
BPS("BPS")
Optional<String> trailingStopPx

Current trailing stop price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.

Optional<String> trailingWatermarkPx

Trailing watermark price for trailing orders When a null/undefined value is observed, it indicates it does not apply.

Optional<LocalDateTime> trailingWatermarkTs

Trailing watermark timestamp for trailing orders When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
Optional<String> underlyingInstrumentId

Instrument ID of the option’s underlying instrument. Populated only for options orders. A null means one of two things: the order is not an option, so the field does not apply; or the order is an option whose underlier has not yet been resolved. When a null/undefined value is observed, it indicates it does not apply.

formatuuid

Cancel Open Order

package com.clearstreet.api.example;

import com.clearstreet.api.client.ClearStreetClient;
import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient;
import com.clearstreet.api.models.v1.orders.OrderCancelOpenOrderParams;
import com.clearstreet.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);
    }
}
{
  "data": {
    "account_id": 19816,
    "average_fill_price": "47.95",
    "client_order_id": "my-ref-id-20251001-001",
    "created_at": "2025-10-31T13:30:00.000000000Z",
    "filled_quantity": "5",
    "id": "d40a92e6-381f-4803-b292-56d350d9d54a",
    "instrument_id": "d4d5d6d7-e4e5-f4f5-a4a5-a6a7a8a9aaab",
    "instrument_type": "COMMON_STOCK",
    "leaves_quantity": "5",
    "limit_price": "48.00",
    "order_type": "LIMIT",
    "quantity": "10",
    "side": "BUY",
    "status": "PENDING_CANCEL",
    "stop_price": null,
    "symbol": "TSLA",
    "time_in_force": "DAY",
    "updated_at": "2025-10-31T14:15:00.000000000Z",
    "venue": "XNAS"
  },
  "error": null,
  "metadata": {
    "request_id": "2e3f4a5b-6c7d-8e9f-0a1b-2c3d4e5f6a7b"
  }
}
{
  "error": {
    "code": 403,
    "message": "The caller does not have permission to execute the specified operation"
  },
  "metadata": {
    "request_id": "5518f0c6-58ff-4b4a-81a5-701556d41206"
  }
}
{
  "error": {
    "code": 404,
    "message": "Order d40a92e6-381f-4803-b292-56d350d9d54a not found for account 100001"
  },
  "metadata": {
    "request_id": "70151ee4-5209-4c75-9372-dffc0a6ebade"
  }
}
Returns Examples
{
  "data": {
    "account_id": 19816,
    "average_fill_price": "47.95",
    "client_order_id": "my-ref-id-20251001-001",
    "created_at": "2025-10-31T13:30:00.000000000Z",
    "filled_quantity": "5",
    "id": "d40a92e6-381f-4803-b292-56d350d9d54a",
    "instrument_id": "d4d5d6d7-e4e5-f4f5-a4a5-a6a7a8a9aaab",
    "instrument_type": "COMMON_STOCK",
    "leaves_quantity": "5",
    "limit_price": "48.00",
    "order_type": "LIMIT",
    "quantity": "10",
    "side": "BUY",
    "status": "PENDING_CANCEL",
    "stop_price": null,
    "symbol": "TSLA",
    "time_in_force": "DAY",
    "updated_at": "2025-10-31T14:15:00.000000000Z",
    "venue": "XNAS"
  },
  "error": null,
  "metadata": {
    "request_id": "2e3f4a5b-6c7d-8e9f-0a1b-2c3d4e5f6a7b"
  }
}
{
  "error": {
    "code": 403,
    "message": "The caller does not have permission to execute the specified operation"
  },
  "metadata": {
    "request_id": "5518f0c6-58ff-4b4a-81a5-701556d41206"
  }
}
{
  "error": {
    "code": 404,
    "message": "Order d40a92e6-381f-4803-b292-56d350d9d54a not found for account 100001"
  },
  "metadata": {
    "request_id": "70151ee4-5209-4c75-9372-dffc0a6ebade"
  }
}