List user orders (Polysimulator-shape — see also: /v1/data/orders for PM-shape).
Returns the user’s pending, filled, and cancelled orders in the Polysimulator envelope: {orders, has_more, next_cursor, total_hint} with snake_case row fields (order_id, market_id, limit_price, quantity, ISO timestamps).
SDK consumers ported from Polymarket should call GET /v1/data/orders (operationId listOrdersPmShape) instead — that endpoint emits PM’s exact envelope shape ({limit, count, next_cursor, data}) and per-row schema (id, market, asset_id, original_size, size_matched, price, unix-int created_at, ORDER_STATUS_* enum). This endpoint stays live for back-compat but PM-SDK auto-generation should target the /data/orders shape.
Both endpoints read from the same underlying pending_orders table — the only difference is response shape.
Authorizations
Issue from /v1/keys (or admin-issued for enterprise tier).
Headers
Your PolySimulator API key
Polymarket-CLOB-compat alias for X-API-Key (underscore form). SDK clients ported from Polymarket can authenticate without changing header names. X-API-Key takes precedence when both are provided.
PM-CLOB-compat dashed-form alias for X-API-Key. Same value semantics as POLY_API_KEY but with HTTP-conventional dash separators. Audit P1 (staging audit 2026-05-16 0817 PR #1296): the per-tier middleware accepts both spellings but the auth dependency originally only matched the underscore form — now both work end-to-end.
PM-CLOB-compat: Authorization: Bearer ps_live_... (or ps_test_...) is accepted as an alias for X-API-Key so py-clob-client and other ported SDKs authenticate without header name changes. Bearer JWTs are NOT accepted here — use the dashboard-auth endpoints for those.
Query Parameters
Filter orders by status. Canonical values: PENDING (open), FILLED (matched), CANCELLED, EXPIRED. Accepts the synonyms open / live (→ PENDING), matched (→ FILLED), canceled / unmatched (→ CANCELLED), and the Polymarket-shape ORDER_STATUS_* values (e.g. ORDER_STATUS_LIVE → PENDING). Unrecognised values are silently treated as 'no filter' for back-compat — bots that want a strict mode should validate against the canonical set client-side. Audit P1-4 (2026-05-13 DevEx audit) flagged this filter as silently ignored when ?status=open was used; the alias has worked since PR #933, this description merely surfaces it in the OpenAPI spec so bot devs can discover the accepted values.
"PENDING"
Alias for cursor — PM-ported paginators pass the previous response's next_cursor back under this name (py-clob-client convention). cursor wins when both are present.