Skip to content
Start Trading

Replace Order

$ clst v1:orders replace-order
PATCH/v1/accounts/{account_id}/orders/{order_id}

Replace an order with new parameters

ParametersExpand Collapse
--account-id: number

Path param: Account identifier

--order-id: string

Path param: Order identifier

--limit-price: optional string

Body param: New limit price for the order

--quantity: optional string

Body param: New quantity for the order

--stop-price: optional string

Body param: New stop price for the order

--time-in-force: optional "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 7 more

Body param: New time in force for the order

ReturnsExpand Collapse
V1OrderReplaceOrderResponse: BaseResponse { metadata, error }
data: object { id, account_id, client_order_id, 29 more }

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.

id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

filled_quantity: string

Cumulative filled quantity

instrument_id: string

Instrument identifier for the traded instrument.

instrument_type: "COMMON_STOCK" or "OPTION" or "CASH"

Type of security

"COMMON_STOCK"
"OPTION"
"CASH"
leaves_quantity: string

Remaining unfilled quantity

order_type: "MARKET" or "LIMIT" or "STOP" or 4 more

Type of order (MARKET, LIMIT, etc.)

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: "BUY" or "SELL" or "SELL_SHORT" or "OTHER"

Side of the order (BUY, SELL, SELL_SHORT)

"BUY"
"SELL"
"SELL_SHORT"
"OTHER"
status: "PENDING_NEW" or "NEW" or "PARTIALLY_FILLED" or 12 more

Current status of the order

"PENDING_NEW"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
symbol: string

Trading symbol

time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 8 more

Time in force instruction

"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"
updated_at: string

Timestamp of the most recent update (UTC)

venue: string

MIC code of the venue where the order is routed

average_fill_price: optional string

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

details: optional array of string

Contains execution, rejection or cancellation details, if any

expires_at: optional string

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: optional boolean

Whether the order is eligible for extended-hours trading.

limit_offset: optional string

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

limit_price: optional string

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

queue_state: optional "AWAITING_RELEASE" or "RELEASED"

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.

"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

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

stop_price: optional string

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

trailing_limit_px: optional string

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

trailing_offset: optional string

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

trailing_offset_type: optional "PRICE" or "BPS"

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

"PRICE"
"BPS"
trailing_stop_px: optional string

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: optional string

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

trailing_watermark_ts: optional string

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

underlying_instrument_id: optional string

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.

Replace Order

clst v1:orders replace-order \
  --api-key 'My API Key' \
  --account-id 0 \
  --order-id order_id
{
  "data": {
    "account_id": 19816,
    "client_order_id": "my-ref-id-20251001-001",
    "created_at": "2025-10-31T13:30:00.000000000Z",
    "filled_quantity": "0",
    "id": "0195f6c7-4f64-7e3c-8b0a-1d8e4f5e6a7b",
    "instrument_id": "d4d5d6d7-e4e5-f4f5-a4a5-a6a7a8a9aaab",
    "instrument_type": "COMMON_STOCK",
    "leaves_quantity": "10",
    "limit_price": "49.00",
    "order_type": "LIMIT",
    "quantity": "10",
    "side": "BUY",
    "status": "PENDING_REPLACE",
    "stop_price": null,
    "symbol": "TSLA",
    "time_in_force": "DAY",
    "updated_at": "2025-10-31T14:10:00.000000000Z",
    "venue": "XNAS"
  },
  "error": null,
  "metadata": {
    "request_id": "1d2e3f4a-5b6c-7d8e-9f0a-1b2c3d4e5f6a"
  }
}
{
  "error": {
    "code": 400,
    "message": "Failed to parse the request body as JSON: expected `:` at line 2 column 14"
  },
  "metadata": {
    "request_id": "633c15ef-d2e7-4f27-b905-2819455248bb"
  }
}
{
  "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 019c7b89-feea-7600-9e56-f15ef0557835 not found for account 100001"
  },
  "metadata": {
    "request_id": "9e290ec2-378f-4d08-a729-0a9ab155acbf"
  }
}
Returns Examples
{
  "data": {
    "account_id": 19816,
    "client_order_id": "my-ref-id-20251001-001",
    "created_at": "2025-10-31T13:30:00.000000000Z",
    "filled_quantity": "0",
    "id": "0195f6c7-4f64-7e3c-8b0a-1d8e4f5e6a7b",
    "instrument_id": "d4d5d6d7-e4e5-f4f5-a4a5-a6a7a8a9aaab",
    "instrument_type": "COMMON_STOCK",
    "leaves_quantity": "10",
    "limit_price": "49.00",
    "order_type": "LIMIT",
    "quantity": "10",
    "side": "BUY",
    "status": "PENDING_REPLACE",
    "stop_price": null,
    "symbol": "TSLA",
    "time_in_force": "DAY",
    "updated_at": "2025-10-31T14:10:00.000000000Z",
    "venue": "XNAS"
  },
  "error": null,
  "metadata": {
    "request_id": "1d2e3f4a-5b6c-7d8e-9f0a-1b2c3d4e5f6a"
  }
}
{
  "error": {
    "code": 400,
    "message": "Failed to parse the request body as JSON: expected `:` at line 2 column 14"
  },
  "metadata": {
    "request_id": "633c15ef-d2e7-4f27-b905-2819455248bb"
  }
}
{
  "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 019c7b89-feea-7600-9e56-f15ef0557835 not found for account 100001"
  },
  "metadata": {
    "request_id": "9e290ec2-378f-4d08-a729-0a9ab155acbf"
  }
}