---
title: "Get order statuses in batch"
method: POST
path: "/orders/status/batch"
tags: ["Trading"]
---

# Get order statuses in batch

`POST /orders/status/batch`

Fetches historical order statuses for multiple orders by internal order IDs and/or client-provided order IDs. Returns execution details, settlement status, and maker match data for each order.

## Request body

- BatchOrderStatusRequestDto
  - `items` BatchOrderStatusItemDto[], required — List of status lookup queries (1-50 items)
    - `orderId` string, uuid — Internal order ID. Provide either orderId or clientOrderId, not both.
    - `clientOrderId` string — Client-provided order ID. Provide either orderId or clientOrderId, not both.

## Response `200`

Batch order statuses

- BatchOrderStatusResponseDto
  - `results` BatchOrderStatusResultDto[], required — Array of status results corresponding to request items
    - `index` number, required — Index of this item in the request array
    - `status` 'found' | 'not_found' | 'invalid', required — Lookup result status
    - `error` string, nullable — Error message if status is 'invalid'
    - `orderId` string, nullable — Resolved internal order ID
    - `clientOrderId` string, nullable — Client-provided order ID
    - `data` object, nullable — Order data if found
      - `order` OrderResponseDto
        - `order` CreatedOrderDto, required — Created order as returned by the API. Large numeric fields (`salt`, `makerAmount`, `takerAmount`, `nonce`, `price`) are serialized as decimal strings to preserve precision.
          - `id` string, uuid, required — Internal order ID
          - `salt` string, required — Order salt as decimal string
          - `maker` string, required
          - `signer` string, required
          - `taker` string, nullable
          - `tokenId` string, required
          - `makerAmount` string, required — Maker amount as decimal string (scaled by 1e6)
          - `takerAmount` string, required — Taker amount as decimal string (scaled by 1e6)
          - `expiration` string, nullable — Always "0". Non-zero expiration is not currently supported.
          - `signatureType` 0 | 1 | 2 | 3, required
          - `nonce` string, nullable — Always "0". Non-zero nonce is not currently supported.
          - `feeRateBps` integer, nullable
          - `signature` string, required
          - `orderType` 'GTC' | 'FAK' | 'FOK', required
          - `price` string, nullable — Order price as decimal string (0.01-0.99)
          - `side` 0 | 1, required — 0 = BUY, 1 = SELL
          - `marketId` string, required — Internal market identifier
          - `ownerId` integer, required — Profile ID of the order owner
          - `createdAt` string, date-time, required
          - `updatedAt` string, date-time
          - `market` object, required — Slim market info
            - `id` integer
            - `slug` string
            - `title` string
            - `status` 'FUNDED' | 'RESOLVED' | 'LOCKED' | 'DRAFT' | 'FUNDED_FLAGGED'
            - `yesPositionId` string, nullable
            - `noPositionId` string, nullable
            - `group` object, nullable
              - …
          - `owner` object, nullable — Public profile of the order owner
            - `id` integer
            - `account` string — Checksummed wallet address
            - `displayName` string, nullable
            - `username` string, nullable
            - `imageURI` string, nullable
        - `makerMatches` MakerMatch[] — Maker matches if order was matched immediately
        - `execution` OrderExecutionDto, required — Execution and settlement summary for a created order
          - `matched` boolean, required — Whether the order was matched immediately
          - `settlementStatus` 'UNMATCHED' | 'MATCHED' | 'MINED' | 'CONFIRMED' | 'RETRYING' | 'FAILED' | 'DELAYED' | 'CANCELED', required — Current settlement status of the order. DELAYED means the order was accepted but is held by a per-market taker delay before being released to the matching engine. CANCELED with reason STP_TAKER_REJECTED means self-trade prevention (cancel_taker / cancel_both) rejected the incoming order.
          - `reason` 'STP_TAKER_REJECTED', nullable — Reason the order was canceled. STP_TAKER_REJECTED when self-trade prevention rejected the incoming order. Present only when settlementStatus is CANCELED.
          - `eligibleAt` string, date-time, nullable — ISO-8601 time a delayed (taker-delay) order is released to the matching engine. Present only when settlementStatus is DELAYED.
          - `tradeEventId` string — Trade event ID (present when matched)
          - `txHash` string, nullable — On-chain transaction hash (present when mined)
          - `clientOrderId` string — Echo of client-provided idempotency key
          - `stpMakerCancels` string[] — Resting order IDs canceled by self-trade prevention (cancel_maker / cancel_both)
          - `feeRateBps` number, required — Fee rate in basis points applied to this order
          - `effectiveFeeBps` number, required — Effective fee rate in basis points after any rebates
          - `totalsRaw` OrderExecutionTotalsRawDto, required — Raw execution totals in contract units (strings to preserve precision)
            - `contractsGross` string, required
            - `contractsFee` string, required
            - `contractsNet` string, required
            - `usdGross` string, required
            - `usdFee` string, required
            - `usdNet` string, required
      - `makerMatches` MakerMatch[] — Maker orders matched against this order
      - `execution` OrderExecutionSummary
        - `clientOrderId` string, nullable — Client-provided order ID if one was set
        - `feeRateBps` number — Fee rate in basis points
        - `effectiveFeeBps` number — Effective fee rate after rebates
        - `matched` boolean — Whether the order was matched with a counterparty
        - `settlementStatus` 'UNMATCHED' | 'PENDING' | 'MINED' | 'CONFIRMED' | 'FAILED' | 'DELAYED' | 'CANCELED' — On-chain settlement status. DELAYED means the order was accepted but is held by a per-market taker delay before being released to the matching engine. CANCELED with reason STP_TAKER_REJECTED means self-trade prevention rejected the order.
        - `eligibleAt` string, date-time, nullable — ISO-8601 time a delayed (taker-delay) order is released to the matching engine. Present only when settlementStatus is DELAYED.
        - `tradeEventId` string, nullable — Trade event ID if matched
        - `txHash` string, nullable — Transaction hash on Base L2
        - `totalsRaw` object — Raw execution totals as strings (to preserve precision)
          - `contractsGross` string
          - `contractsFee` string
          - `contractsNet` string
          - `usdGross` string
          - `usdFee` string
          - `usdNet` string

## Other responses

- `400` — Invalid request body
- `401` — User not authenticated

---

[API](https://skmtc.net/limitless-labs-group/apis/limitless-exchange-api.md) · [All operations](https://skmtc.net/limitless-labs-group/apis/limitless-exchange-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/limitless-labs-group/limitless-exchange-api/revisions/f60847044e0d/schema)
