---
title: "Get order detail"
method: GET
path: "/orders/{orderId}"
tags: ["Flash"]
---

# Get order detail

`GET /orders/{orderId}`

Fetch a single Flash order with its execution fills.

## Path parameters

- `orderId` string, uuid, required — Flash order ID.

## Query parameters

- `funderAddress` string, required — Funder wallet address that placed the order.

## Response `200`

Order detail returned successfully

- FlashGetOrderResponse
  - `order` FlashOrder, required
    - `orderId` string, required
    - `orderType` 'market' | 'limit' | 'twap' | 'stop' | 'stop-loss' | 'take-profit' | 'bracket', required
    - `side` 'buy' | 'sell', required
    - `status` 'ORDER_STATUS_UNSPECIFIED' | 'ORDER_STATUS_PENDING' | 'ORDER_STATUS_ACCEPTED' | 'ORDER_STATUS_PARTIALLY_FILLED' | 'ORDER_STATUS_FILLED' | 'ORDER_STATUS_CANCELLED' | 'ORDER_STATUS_REJECTED' | 'ORDER_STATUS_TERMINATED', required
    - `closeReason` string, nullable, required — Reason the order was closed (e.g. `REASON_USER_REQUESTED`, `REASON_FULLY_FILLED`); null while the order is still active.
    - `funderAddress` string, required
    - `targetAsset` FlashAssetRef, required
      - `id` string, required
      - `name` string, required
      - `address` string, required
      - `ticker` string, required
      - `chain` FlashAssetChainRef, required
        - `id` string, required
        - `name` string, required
        - `namespace` string, required
    - `contraAsset` FlashAssetRef, required
      - `id` string, required
      - `name` string, required
      - `address` string, required
      - `ticker` string, required
      - `chain` FlashAssetChainRef, required
        - `id` string, required
        - `name` string, required
        - `namespace` string, required
    - `qty` string, required
    - `filled` FlashOrderFilled, nullable, required
      - `targetAmount` string, nullable, required
      - `contraAmount` string, nullable, required
      - `averagePrice` string, nullable, required
      - `averageNotionalPrice` string, nullable, required
    - `limitNotionalPrice` string, nullable, required
    - `limitCrossPrice` string, nullable, required
    - `trigger` object, nullable, required
      - `notionalPrice` string — USD-price trigger on the traded (`targetAsset`) asset.
      - `crossPrice` string — Pair-rate trigger — price of `targetAsset` denominated in `contraAsset`. Mutually exclusive with `notionalPrice`.
      - `triggerType` 'upper' | 'lower', required — "lower": fires when market drops to/below the price. "upper": rises to/above.
    - `brackets` PriceTrigger[], nullable, required
      - `notionalPrice` string — USD-price trigger on the traded (`targetAsset`) asset.
      - `crossPrice` string — Pair-rate trigger — price of `targetAsset` denominated in `contraAsset`. Mutually exclusive with `notionalPrice`.
      - `triggerType` 'upper' | 'lower', required — "lower": fires when market drops to/below the price. "upper": rises to/above.
    - `attachedBracket` AttachedBracketRead — The attached take-profit / stop-loss pair. Present only on orders submitted with an `attachedBracket` block.
      - `status` 'pending_activation' | 'never_activated' | 'active', required — pending_activation: becomes a live order on the entry's first fill. never_activated: the entry closed unfilled. active: the protective order exists — read it by `bracketOrderId`.
      - `bracketOrderId` string, nullable, required — The protective order's own id; set once status is active.
      - `takeProfit` AttachedBracketReadLeg, nullable, required — The take-profit leg as submitted. Null on stream frames — the full configuration rides GET.
        - `notionalPrice` string
        - `crossPrice` string
        - `limitPrice` string — When set, this leg exits as a limit order at this price instead of at market.
      - `stopLoss` object, nullable, required — The stop-loss leg as submitted. Null on stream frames — the full configuration rides GET.
        - `notionalPrice` string
        - `crossPrice` string
        - `limitPrice` string — When set, this leg exits as a limit order at this price instead of at market.
      - `signedMaxFromAmount` string, nullable, required — The maximum amount of the received asset the signature authorizes selling.
    - `sourceEntryOrderId` string — On a protective order created by an attached pair: the entry order it was attached to.
    - `maxPriceImpact` string, nullable, required
    - `twapBucketCount` integer, nullable, required
    - `placedAt` string, date-time, required
    - `acceptedAt` string, date-time, nullable, required
    - `closedAt` string, date-time, nullable, required
    - `expiresAt` string, date-time, nullable, required — When the order expires. Null for good-til-cancelled orders (no `expireTime` was set) and for market orders.
  - `fills` FlashFill[], required
    - `status` 'CHAIN_STATUS_UNSPECIFIED' | 'CHAIN_STATUS_PROCESSED' | 'CHAIN_STATUS_REORGED' | 'CHAIN_STATUS_FINALIZED', required — On-chain status of the fill.
    - `notional` string, required
    - `venues` string[], required
    - `filledAt` string, date-time, required
    - `rootOrderId` string, required
    - `orderId` string, required — Order id this fill belongs to. For TWAP orders, this is the child slice that produced the fill; for all other order types it equals `rootOrderId`.
    - `parentOrderId` string, required
    - `transactionId` string, required
    - `fillPrice` string, required
    - `feeAmount` string, required — Total fee for this fill, denominated in `feeTicker`: Definitive's platform fee + network fee + your integrator fee.
    - `feeTicker` string, required
    - `tradeFeeAmount` string, required — Definitive's platform fee for this fill, denominated in `feeTicker`. Does not include your integrator fee.
    - `networkFeeAmount` string, required
    - `integratorFeeAmount` string, required — Your integrator fee for this fill, denominated in `feeTicker`. "0" when no integrator fee was charged.
    - `feeNotional` string, required — Total fee for this fill in USD — `feeAmount` converted at the `feeTicker` rate: Definitive's platform fee + network fee + your integrator fee.
    - `tradeFeeNotional` string, required
    - `networkFeeNotional` string, required
    - `integratorFeeNotional` string, required — Your integrator fee for this fill, in USD.
    - `contraAmount` string, required
    - `targetAmount` string, required

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication failed
- `403` — Permission denied
- `404` — Resource not found
- `422` — Resource state prevents the requested operation
- `429` — Rate limit exceeded
- `500` — Internal server error
- `503` — Service temporarily unavailable
- `504` — Gateway timeout

## Changes

> 10 revisions in range; 7 could not be searched.

- **2026-07-26** `0722d2b04e4e` — 2 breaking, 6 info
  - the response property `order/brackets/items/notionalPrice` became optional for the status `200`
  - the response property `order/trigger/allOf[#/components/schemas/PriceTrigger]/notionalPrice` became optional for the status `200`
  - added the optional property `order/brackets/items/crossPrice` to the response with the `200` status
  - added the optional property `order/trigger/allOf[#/components/schemas/PriceTrigger]/crossPrice` to the response with the `200` status
  - …4 more

[Change history](https://skmtc.dev/definitive/apis/definitive-flash-api/changes/orders/:orderId/get.md)

---

[API](https://skmtc.dev/definitive/apis/definitive-flash-api.md) · [All operations](https://skmtc.dev/definitive/apis/definitive-flash-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/definitive/definitive-flash-api/revisions/a3fee79d0a4d/schema)
