Order Management
Query your order history and cancel pending limit orders.
Order Endpoints Summary
PolySimulator offers two order placement endpoints. Use the one that fits your workflow:
Endpoint Best For time_in_force FieldSupported Values POST /v1/ordersNew bots, full features time_in_forceGTC (default), FOK, IOCPOST /v1/clob/orderPolymarket migration order_typeGTC, FOK, IOC, GTD
Key difference : The native /v1/orders endpoint uses order_type for market/limit
and time_in_force for GTC/IOC. The CLOB-compatible endpoint uses order_type
for the time-in-force policy (matching Polymarket’s schema).
See CLOB Compatibility for the CLOB endpoint schema.
List Orders
Returns orders from two internal data sources merged into a single stream:
Pending limit orders — unfilled GTC orders stored in the pending_orders table.
Filled / cancelled orders — executed trades from the orders table.
Both types share the same OrderItem response shape. Supports offset and cursor-based pagination.
Query Parameters
Parameter Type Default Description statusstring — Filter: PENDING, FILLED, CANCELLED, EXPIRED market_idstring — Filter by condition_id sidestring — Filter: BUY, SELL limitint 50 Max results (1–200) offsetint 0 Pagination offset (ignored when cursor is set) cursorstring — ISO-8601 timestamp for cursor pagination (preferred for bots)
Response Fields
Field Type Description order_idint Unique order identifier market_idstring Market condition_id sidestring BUY or SELLoutcomestring Outcome label (e.g. Yes, No) order_typestring market or limitlimit_pricestring | null Limit order price (null for market orders) quantitystring Order size in shares time_in_forcestring GTC, FOK, or IOCstatusstring PENDING, FILLED, CANCELLED, or EXPIREDclient_order_idstring | null Your idempotency key created_atstring ISO-8601 creation timestamp filled_atstring | null ISO-8601 fill timestamp (null if unfilled) fill_pricestring | null Execution price (null if unfilled) cancelled_atstring | null ISO-8601 cancellation timestamp
Examples
Offset Pagination
Cursor Pagination
Python (paginate all)
curl -H "X-API-Key: $API_KEY " \
"https://api.polysimulator.com/v1/orders?status=PENDING&limit=20&offset=0"
Response
{
"orders" : [
{
"order_id" : 15 ,
"market_id" : "0x1a2b3c..." ,
"side" : "BUY" ,
"outcome" : "Yes" ,
"order_type" : "limit" ,
"limit_price" : "0.60" ,
"quantity" : "10.0" ,
"time_in_force" : "GTC" ,
"status" : "PENDING" ,
"client_order_id" : "limit-001" ,
"created_at" : "2026-02-06T12:00:00+00:00" ,
"filled_at" : null ,
"fill_price" : null ,
"cancelled_at" : null
}
],
"next_cursor" : "2026-02-06T11:55:00+00:00" ,
"has_more" : true
}
Use cursor-based pagination for bots. The cursor is an ISO-8601 timestamp
(created_at of the last item). This avoids page drift when new orders
arrive between requests. Pass the next_cursor value from the previous
response as the cursor parameter.
Cancel Order
DELETE /v1/orders/{order_id}
Cancel a pending limit order. Only PENDING orders can be cancelled.
curl -X DELETE -H "X-API-Key: $API_KEY " \
https://api.polysimulator.com/v1/orders/42
Response
{
"order_id" : 42 ,
"status" : "CANCELLED" ,
"order_type" : "limit" ,
"side" : "BUY" ,
"outcome" : "Yes" ,
"price" : "0.60" ,
"quantity" : "10.0" ,
"notional" : "6.00" ,
"fee" : "0"
}
Cancellation returns reserved funds:
BUY orders : Reserved cash is returned to your balance
SELL orders : Reserved shares are returned to your position
Next Steps