---
title: "Cancel Open Order"
method: DELETE
path: "/v1/accounts/{account_id}/orders/{order_id}"
tags: ["Orders"]
---

# Cancel Open Order

`DELETE /v1/accounts/{account_id}/orders/{order_id}`

Cancel a specific order

## Path parameters

- `account_id` integer, required
- `order_id` string, required

## Response `200`

Order cancelled successfully

- object
  - `error` ApiError — A direct mapping of tonic::Status, for use in HTTP responses.
    - `code` integer, required — The error code is used to identify the nature of the error. It corresponds to an HTTP status code.
    - `details` object[]
    - `message` string, required — A human-readable message providing more details about the error.
  - `metadata` ResponseMetadata, required — Metadata for the response. This will always contain a request ID which can be used to identify the request to Clear Street for tracing, and optionally may include pagination data.
    - `next_page_token` string, byte, nullable — Base64URL-encoded pagination token
    - `page_number` integer, nullable — Pagination. Included if this was a GET (list) response
    - `previous_page_token` string, byte, nullable — Base64URL-encoded pagination token
    - `request_id` string, required — A unique ID for this request, generated upon ingestion of the request.
    - `total_items` integer, nullable — Total number of items available (not just in this page).
    - `total_pages` integer, nullable — Total number of pages available.
  - `data` Order, required — 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.
    - `account_id` integer, required
    - `average_fill_price` string, nullable — Average fill price across all executions When a null/undefined value is observed, it indicates that there is no available data.
    - `client_order_id` string, required — Client-provided identifier echoed back.
    - `created_at` string, date-time, required — Timestamp when order was created (UTC)
    - `details` string[] — Contains execution, rejection or cancellation details, if any
    - `expires_at` string, date-time, nullable — 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.
    - `extended_hours` boolean, nullable — Whether the order is eligible for extended-hours trading.
    - `filled_quantity` string, required — Cumulative filled quantity
    - `id` string, required — Engine-assigned unique identifier for this order (UUID).
    - `instrument_id` string, uuid, nullable — Instrument identifier for the traded instrument. `null` when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.
    - `instrument_type` 'COMMON_STOCK' | 'INDEX' | 'OPTION' | 'CASH' — Security type
    - `leaves_quantity` string, required — Remaining unfilled quantity
    - `limit_offset` string, nullable — Limit offset for trailing stop-limit orders (signed) When a null/undefined value is observed, it indicates it does not apply.
    - `limit_price` string, nullable — Limit price (for LIMIT and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.
    - `order_type` 'MARKET' | 'LIMIT' | 'STOP' | 'STOP_LIMIT' | 'TRAILING_STOP' | 'TRAILING_STOP_LIMIT' | 'OTHER', required — Order type
    - `quantity` string, required — Total order quantity
    - `queue_state` 'AWAITING_RELEASE' | 'RELEASED' — Parent order queue or hold state.
    - `releases_at` string, date-time, nullable — Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.
    - `side` 'BUY' | 'SELL' | 'SELL_SHORT' | 'OTHER', required — Side of an order
    - `status` 'PENDING_NEW' | 'NEW' | 'PARTIALLY_FILLED' | 'FILLED' | 'CANCELED' | 'REJECTED' | 'EXPIRED' | 'PENDING_CANCEL' | 'PENDING_REPLACE' | 'REPLACED' | 'DONE_FOR_DAY' | 'STOPPED' | 'SUSPENDED' | 'CALCULATED' | 'OTHER', required — Order status
    - `stop_price` string, nullable — Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.
    - `symbol` string, nullable — Trading symbol. `null` when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.
    - `time_in_force` 'DAY' | 'GOOD_TILL_CANCEL' | 'IMMEDIATE_OR_CANCEL' | 'FILL_OR_KILL' | 'GOOD_TILL_DATE' | 'AT_THE_OPENING' | 'AT_THE_CLOSE' | 'GOOD_TILL_CROSSING' | 'GOOD_THROUGH_CROSSING' | 'AT_CROSSING' | 'OTHER', required — Time in force
    - `trailing_limit_px` string, nullable — Current trailing limit price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.
    - `trailing_offset` string, nullable — Trailing offset amount for trailing orders When a null/undefined value is observed, it indicates it does not apply.
    - `trailing_offset_type` 'PRICE' | 'BPS' — Trailing offset type for trailing stop orders.
    - `trailing_stop_px` string, nullable — Current trailing stop price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.
    - `trailing_watermark_px` string, nullable — Trailing watermark price for trailing orders When a null/undefined value is observed, it indicates it does not apply.
    - `trailing_watermark_ts` string, date-time, nullable — Trailing watermark timestamp for trailing orders When a null/undefined value is observed, it indicates it does not apply.
    - `underlying_instrument_id` string, uuid, nullable — 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.
    - `updated_at` string, date-time, required — Timestamp of the most recent update (UTC)
    - `venue` string, required — MIC code of the venue where the order is routed

## Other responses

- `403` — Forbidden
- `404` — Order not found
- `500` — Internal server error

---

[API](https://skmtc.net/clear-street/apis/clear-street-trading-api.md) · [All operations](https://skmtc.net/clear-street/apis/clear-street-trading-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clear-street/clear-street-trading-api/revisions/80e6fb2644e0/schema)
