---
title: "Get Order"
method: GET
path: "/v1/orders/{order_id}"
tags: ["orders"]
---

# Get Order

`GET /v1/orders/{order_id}`

Get a single order by ID with its fills.

Returns complete order details including execution history.

**Use Cases:**
- Track order progress and execution quality
- Reconcile fills for accounting
- Debug rejected or partially filled orders

## Path parameters

- `order_id` string, uuid, required

## Response `200`

Successful Response

- OrderDetailResponse — Schema for order detail response including fills.
  - `river_order_id` string, uuid, required — Unique order identifier
  - `order_type` string, required — Order type: LIMIT or MARKET
  - `time_in_force` string, required — Time in force: FOK, GTC, GTD, or IOC
  - `qty` number, required — Original order quantity
  - `price` number, nullable — Limit price (null for market orders)
  - `buy_flag` boolean, required — Order direction: true=buy, false=sell
  - `post_only` boolean — Whether the order is post-only (maker-only)
  - `cancel_order_on_pause` boolean — Kalshi only: whether the exchange cancels the resting order during a trading pause
  - `status` string, required — Order status. Live: PENDING_SUBMISSION, PROCESSING, RESTING. Terminal: EXECUTED, PARTIALLY_FILLED (cancelled with some fills), CANCELLED, REJECTED.
  - `river_id` integer, nullable — Instrument ID
  - `generic_asset_id` string, uuid, nullable — Generic asset basket UUID
  - `subaccount_id` string, uuid, required — Subaccount the order belongs to
  - `expiry_ts_utc` string, nullable — Expiry timestamp in UTC for GTD orders
  - `created_at` string, required — Order creation timestamp (UTC)
  - `updated_at` string, required — Last update timestamp (UTC)
  - `traded_qty` number — Total quantity filled
  - `average_price` number, nullable — Volume-weighted average fill price
  - `fees_paid` number — Total fees paid across all fills
  - `complex_order_ids` object, required — List of complex river orders id
  - `reject_reason` string, nullable — Reason for rejection (if status is REJECTED)
  - `parent_iceberg_order_id` string, uuid, nullable — If this order is a tranche of an iceberg parent, the parent's id; otherwise null.
  - `parent_peg_order_id` string, uuid, nullable — If this order is the resting child of a peg parent, the parent's id; otherwise null.
  - `parent_smart_taker_order_id` string, uuid, nullable — If this order is an IOC child of a smart-taker parent, the parent's id; otherwise null.
  - `fills` OrderFillResponse[] — List of executions (fills) for this order
    - `river_id` integer, required — Instrument ID
    - `exchange_order_id` string, required — Exchange-assigned order ID
    - `exchange_trade_id` string, required — Exchange-assigned trade/fill ID
    - `exchange_timestamp` string, required — Execution timestamp from exchange (UTC)
    - `price` number, required — Execution price
    - `qty` number, required — Filled quantity
    - `fee` number, required — Fee charged by the exchange for this fill
    - `buy_flag` boolean, required — Fill direction: true=buy, false=sell
    - `is_maker` boolean, required — Whether this fill provided liquidity (maker) or took it (taker)

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/rivermarkets/apis/river-finance-api.md) · [All operations](https://skmtc.dev/rivermarkets/apis/river-finance-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rivermarkets/river-finance-api/revisions/42a5acd1d60a/schema)
