---
title: "Get Fills by Order ID"
method: GET
path: "/v1/perps/orders/{orderID}/fills"
tags: ["Fills"]
---

# Get Fills by Order ID

`GET /v1/perps/orders/{orderID}/fills`

Returns all fills for a given order. The `orderID` path parameter can be:

- An internal order ID (e.g. `197ec08e001658690721be129e7fa595`).
- A client order ID prefixed with `client:` (e.g. `client:abc123`).

## Path parameters

- `orderID` string, required

## Response `200`

List of fills for the order

- object
  - `success` boolean, required — Whether the request was successful
  - `error` string — Error message, present only on failure
  - `error_code` string — Semantic error code. See each endpoint's error responses for the specific codes it can return.
  - `deprecated` string — Deprecation notice, if applicable
  - `result` ApiFill[]
    - `id` string, required — Fill ID
    - `orderId` string, required — Order ID this fill belongs to
    - `clientOrderId` string — Client order ID (if set on the order)
    - `parentOrderID` string — Parent order ID (e.g. for TWAP child orders)
    - `market` string, required — Trading market
    - `price` string, required — Fill price
    - `size` string, required — Fill quantity in base currency
    - `side` 'buy' | 'sell', required — buy or sell
    - `direction` 'openLong' | 'openShort' | 'closeLong' | 'closeShort' | 'flipLongToShort' | 'flipShortToLong' — Trade direction for perps fills. One of: "open long", "open short", "close long", "close short", "flip long to short", "flip short to long"
    - `filledCost` string, required — Total cost of the fill in quote currency
    - `fee` string, required — Fees incurred on this fill
    - `feeRebate` string — Fee rebate earned on this fill (perps only)
    - `pnl` string — Realized PNL for this fill (perps only)
    - `time` string, date-time, required — Time the fill occurred
    - `isMaker` boolean, required — True if this was a maker (resting) fill
    - `isADL` boolean — True if this was an auto-deleveraging fill (perps only)

## Other responses

- `400` — Bad request. The request was malformed or failed validation.
- `401` — Authentication required. Provide a valid JWT or API key.
- `403` — Access denied. The authenticated account does not have permission.
- `429` — Rate limit exceeded. Slow down request frequency.
- `500` — Internal server error.

---

[API](https://skmtc.net/ondoperps/apis/ondo-perps-rest-api.md) · [All operations](https://skmtc.net/ondoperps/apis/ondo-perps-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ondoperps/ondo-perps-rest-api/revisions/39df6b2fa672/schema)
