Skip to content
Start Trading

Get Order By ID

OrderGetOrderByIdResponse v1().orders().getOrderById(OrderGetOrderByIdParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/accounts/{account_id}/orders/{order_id}

Fetch a single order. The {order_id} path parameter accepts either the order’s id or its client_order_id. A client_order_id can only be used while the order is open; after that, use the id returned in every order response, or find the order with the list-orders endpoint’s order_ids filter, which accepts both identifiers at any time.

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

formatint64
String clientOrderId

Client-provided identifier echoed back.

LocalDateTime createdAt

Timestamp when order was created (UTC)

formatdate-time
String filledQuantity

Cumulative filled quantity

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 or SELL)

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

Current status of the order

One of the following:
PENDING_NEW("PENDING_NEW")
QUEUED("QUEUED")
PENDING_TRIGGER("PENDING_TRIGGER")
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")
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_OPEN("AT_OPEN")
AT_CLOSE("AT_CLOSE")
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. For multileg orders this is the venue’s strategy-level average when reported, else the signed net package price derived from the leg averages: net debit positive, net credit negative, zero possible. 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> instrumentId

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.

formatuuid
Optional<SecurityType> instrumentType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
COMMON_STOCK("COMMON_STOCK")
INDEX("INDEX")
OPTION("OPTION")
CASH("CASH")
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<Strategy> strategy

The execution strategy the order was submitted with, if any.

String type

Execution strategy type.

Optional<LocalDateTime> endAt

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
Optional<LocalDateTime> startAt

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
Optional<String> symbol

Trading symbol. null when the order has no single resolvable instrument. 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. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. When a null/undefined value is observed, it indicates it does not apply.

Optional<LocalDateTime> trailingWatermarkTs

Trailing watermark timestamp for trailing orders. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. 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
Optional<SecurityType> underlyingInstrumentType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
COMMON_STOCK("COMMON_STOCK")
INDEX("INDEX")
OPTION("OPTION")
CASH("CASH")

Get Order By ID

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.OrderGetOrderByIdParams;
import com.clearstreet.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);
    }
}
{
  "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": "0195f6c7-4f64-7e3c-8b0a-1d8e4f5e6a7b",
    "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": "PARTIALLY_FILLED",
    "stop_price": null,
    "symbol": "TSLA",
    "time_in_force": "DAY",
    "updated_at": "2025-10-31T13:35:10.000000000Z",
    "venue": "XNAS"
  },
  "error": null,
  "metadata": {
    "request_id": "0c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f"
  }
}
{
  "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 97dfdcfe503f425c8367ca10928e2499 not found for account 100001"
  },
  "metadata": {
    "request_id": "efbd46f4-4bfc-455b-bae0-ee13f84360ba"
  }
}
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": "0195f6c7-4f64-7e3c-8b0a-1d8e4f5e6a7b",
    "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": "PARTIALLY_FILLED",
    "stop_price": null,
    "symbol": "TSLA",
    "time_in_force": "DAY",
    "updated_at": "2025-10-31T13:35:10.000000000Z",
    "venue": "XNAS"
  },
  "error": null,
  "metadata": {
    "request_id": "0c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f"
  }
}
{
  "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 97dfdcfe503f425c8367ca10928e2499 not found for account 100001"
  },
  "metadata": {
    "request_id": "efbd46f4-4bfc-455b-bae0-ee13f84360ba"
  }
}