---
title: "Preview Order"
method: POST
path: "/v1/order/preview"
tags: ["Orders"]
---

# Preview Order

`POST /v1/order/preview`

Preview an order before submission to validate parameters and see expected fills

## Request body

- PreviewOrderRequest
  - `request` InsertOrderRequest
    - `type` 'ORDER_TYPE_MARKET_TO_LIMIT' | 'ORDER_TYPE_LIMIT' | 'ORDER_TYPE_STOP' | 'ORDER_TYPE_STOP_LIMIT' — OrderType indicates the type of an order.
    - `side` 'SIDE_BUY' | 'SIDE_SELL' — Side indicates the side of an Order.
    - `orderQty` string, int64
    - `symbol` string
    - `price` string, int64
    - `timeInForce` 'TIME_IN_FORCE_DAY' | 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_GOOD_TILL_TIME' | 'TIME_IN_FORCE_FILL_OR_KILL' — TimeInForce specifies how long the order remains in effect.
    - `clordId` string
    - `account` string
    - `stopPrice` string, int64
    - `minQty` string, int64
    - `selfMatchPreventionId` string
    - `quote` string
    - `allOrNone` boolean
    - `sessionId` string
    - `user` string
    - `clientAccountId` string
    - `clientParticipantId` string
    - `participateDontInitiate` boolean
    - `cashOrderQty` string, int64
    - `strictLimit` boolean — Set if this particular order must be filled at the exact limit price.
    - `goodTillTime` string, date-time
    - `bestLimit` boolean — A flag for best limit pricing. Sets the limit order's price to the top of the book on the same side as the order.
    - `immediatelyExecutableLimit` boolean — A flag for immediately executable limit pricing. Sets the price to the top of the book on the opposing side, so it can immediately match.
    - `selfMatchPreventionInstruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — SelfMatchPreventionInstruction is the methodology used to handle self match prevention.
    - `orderCapacity` 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — OrderCapacity designates the capacity of the party placing an order.
    - `ignorePriceValidityChecks` boolean
    - `manualOrderIndicator` 'MANUAL_ORDER_INDICATOR_MANUAL' | 'MANUAL_ORDER_INDICATOR_AUTOMATED' — ManualOrderIndicator designates the manual or automated nature of an order.

## Response `200`

Order previewed successfully

- PreviewOrderResponse
  - `previewOrder` Order
    - `id` string
    - `type` 'ORDER_TYPE_MARKET_TO_LIMIT' | 'ORDER_TYPE_LIMIT' | 'ORDER_TYPE_STOP' | 'ORDER_TYPE_STOP_LIMIT' — OrderType indicates the type of an order.
    - `side` 'SIDE_BUY' | 'SIDE_SELL' — Side indicates the side of an Order.
    - `orderQty` string, int64
    - `symbol` string
    - `clordId` string
    - `timeInForce` 'TIME_IN_FORCE_DAY' | 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_GOOD_TILL_TIME' | 'TIME_IN_FORCE_FILL_OR_KILL' — TimeInForce specifies how long the order remains in effect.
    - `account` string
    - `cumQty` string, int64
    - `avgPx` string, int64
    - `leavesQty` string, int64
    - `state` 'ORDER_STATE_PARTIALLY_FILLED' | 'ORDER_STATE_FILLED' | 'ORDER_STATE_CANCELED' | 'ORDER_STATE_REPLACED' | 'ORDER_STATE_REJECTED' | 'ORDER_STATE_EXPIRED' | 'ORDER_STATE_PENDING_NEW' | 'ORDER_STATE_PENDING_REPLACE' | 'ORDER_STATE_PENDING_CANCEL' | 'ORDER_STATE_PENDING_RISK' — OrderState denotes the current order state.
    - `participant` string
    - `price` string, int64
    - `insertTime` string, date-time
    - `stopPrice` string, int64
    - `minQty` string, int64
    - `createTime` string, date-time
    - `allOrNone` boolean
    - `crossId` string
    - `hostCrossId` string
    - `submittingParticipant` string
    - `clientAccountId` string
    - `clientParticipantId` string
    - `parentOrderId` string
    - `commissionsBasisPoints` string
    - `participateDontInitiate` boolean
    - `cashOrderQty` string, int64
    - `strictLimit` boolean
    - `goodTillTime` string, date-time
    - `bestLimit` boolean
    - `immediatelyExecutableLimit` boolean
    - `lastTradeId` string
    - `commissionNotionalTotalCollected` string, int64
    - `selfMatchPreventionInstruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — SelfMatchPreventionInstruction is the methodology used to handle self match prevention.
    - `orderCapacity` 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — OrderCapacity designates the capacity of the party placing an order.
    - `ignorePriceValidityChecks` boolean
    - `lastTransactTime` string, date-time
    - `makerCommissionsBasisPoints` string
    - `manualOrderIndicator` 'MANUAL_ORDER_INDICATOR_MANUAL' | 'MANUAL_ORDER_INDICATOR_AUTOMATED' — ManualOrderIndicator designates the manual or automated nature of an order.
    - `fractionalQuantityScale` string, int64
    - `priceToQuantityFilled` object

## Other responses

- `400` — Bad request - invalid order preview request
- `401` — Unauthorized - invalid or missing authentication token
- `500` — Internal server error

---

[API](https://skmtc.net/polymarket/apis/portfolio-api.md) · [All operations](https://skmtc.net/polymarket/apis/portfolio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polymarket/portfolio-api/versions/150874842db1/schema)
