> ## Documentation Index > Fetch the complete documentation index at: https://docs.polymarket.com/llms.txt > Use this file to discover all available pages before exploring further. # Get Orders > Get historical order snapshots for the authenticated account from the order history database. Returns the latest known state for each matching order, including accepted, open, partial, filled, and cancelled orders. For currently resting orders only, use Get Open Orders. Maximum of 100 entries returned per request. Request Weight:
With order ID: **1**
Without order ID: **10** ## OpenAPI ````yaml /api-spec/perps-openapi.json get /v1/account/orders openapi: 3.0.3 info: title: Polymarket Perps HTTP API version: 1.0.0 description: HTTP API for Polymarket perpetual trading system. license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://api.perpetuals.polymarket.com description: Production Perps HTTP API security: [] paths: /v1/account/orders: get: summary: Get Orders description: > Get historical order snapshots for the authenticated account from the order history database. Returns the latest known state for each matching order, including accepted, open, partial, filled, and cancelled orders. For currently resting orders only, use Get Open Orders. Maximum of 100 entries returned per request. operationId: getOrders parameters: - name: order_id in: query required: false schema: $ref: '#/components/schemas/order_id' - name: client_order_id in: query required: false schema: $ref: '#/components/schemas/coid' - name: instrument_id in: query required: false schema: $ref: '#/components/schemas/iid' - name: start_timestamp in: query required: false schema: $ref: '#/components/schemas/start_timestamp' - name: end_timestamp in: query required: false schema: $ref: '#/components/schemas/end_timestamp' responses: '200': description: Orders response. content: application/json: schema: type: array items: $ref: '#/components/schemas/OrderData' '400': $ref: '#/components/responses/Error400Response' '401': $ref: '#/components/responses/Error401Response' '429': $ref: '#/components/responses/Error429Response' '500': $ref: '#/components/responses/Error500Response' security: - polymarket_proxy: [] polymarket_secret: [] components: schemas: order_id: type: integer description: Order ID coid: type: string description: Client order ID minLength: 32 maxLength: 32 pattern: ^[0-9a-f]{32}$ example: 550e8400e29b41d4a716446655440000 iid: type: integer description: Instrument ID example: 1 start_timestamp: type: integer description: Start timestamp in milliseconds example: 1767225600000 end_timestamp: type: integer description: End timestamp in milliseconds example: 1767229200000 OrderData: type: object required: - order_id - instrument_id - buy - price - quantity - tif - post_only - ro - status - resting_quantity - filled_quantity - created_timestamp - updated_timestamp properties: order_id: $ref: '#/components/schemas/oid' instrument_id: $ref: '#/components/schemas/iid' buy: $ref: '#/components/schemas/buy' price: $ref: '#/components/schemas/p' quantity: $ref: '#/components/schemas/qty' tif: $ref: '#/components/schemas/tif' post_only: $ref: '#/components/schemas/po' ro: $ref: '#/components/schemas/ro' resting_quantity: $ref: '#/components/schemas/rest' filled_quantity: $ref: '#/components/schemas/fill' status: $ref: '#/components/schemas/st' created_timestamp: $ref: '#/components/schemas/cts' updated_timestamp: $ref: '#/components/schemas/uts' client_order_id: $ref: '#/components/schemas/coid' tpsl: $ref: '#/components/schemas/TpSlOrderFields' description: >- Conditional-order fields. Present only when the order is a TP/SL conditional order — `null`/omitted for regular orders. oid: type: integer description: Order ID example: 1234567890 buy: type: boolean description: Is buy example: true p: type: string description: Price example: '100.00' qty: type: string description: Quantity in no. of contracts example: '10.00' tif: type: string description: Time in force enum: - gtc - ioc - fok po: type: boolean description: Post only default: false example: false ro: type: boolean description: Reduce only example: false default: false rest: type: string description: Resting quantity example: '9.00' fill: type: string description: Filled quantity example: '1.00' st: type: string description: Order status example: open cts: type: integer description: Create timestamp in milliseconds example: 1767225600000 uts: type: integer description: Update timestamp in milliseconds example: 1767225600000 TpSlOrderFields: type: object description: TP/SL-specific fields surfaced alongside the regular order shape. required: - kind - scope - trp properties: kind: $ref: '#/components/schemas/kind' scope: $ref: '#/components/schemas/tr_scope' trp: $ref: '#/components/schemas/trp' parent_oid: $ref: '#/components/schemas/parent_oid' armed_qty: $ref: '#/components/schemas/qty' description: >- Quantity armed at attach time (OCO) or `"0"` for position-based (sized at trigger time). slip_bps: $ref: '#/components/schemas/slip_bps' Error400: title: Error400 type: object required: - status - error properties: status: type: string enum: - err error: $ref: '#/components/schemas/error' Error401: title: Error401 type: object required: - status - error properties: status: type: string enum: - err error: $ref: '#/components/schemas/error' Error429: title: Error429 type: object required: - status - error properties: status: type: string enum: - err error: $ref: '#/components/schemas/error' Error500: title: Error500 type: object required: - status - error properties: status: type: string enum: - err error: $ref: '#/components/schemas/error' kind: type: string description: Conditional order type (TakeProfit / StopLoss) enum: - tp - sl tr_scope: type: string description: > How the conditional order sizes itself. - `order` - child of a parent entry (bracket / OCO ladder). Quantity is required. - `position` - attached to an open position. v1 always closes the full position (`qty` must be `"0"`). enum: - order - position trp: type: string description: Trigger price example: '110.00' parent_oid: type: integer description: >- Parent entry order id. Optional — omit it (do not send `0`) when the parent is created in the same request (inline `CreateOrder.tpsl` or `CreateTpSlArgs.parent`); the gateway auto-wires the child to it. Set it only to attach an order-scoped leg to an existing resting order. Inline `CreateOrder.tpsl` rejects a non-zero value; position-scoped legs carry no parent. example: 1234567890 slip_bps: type: integer minimum: 0 maximum: 10000 description: >- Per-order market-trigger slippage cap in basis points. 0 = use the per-instrument default. Clamped to the instrument cap. example: 1000 error: type: string description: >- Error identifier. For domain rejections and transport errors (`401`/`404`/`429`/`500`) this is a stable, machine-readable snake_case identifier that is part of the API contract and safe to branch on, e.g. `insufficient_margin`, `insufficient_balance`, `order_not_found`, `reduce_only_invalid`, `unauthorized`, `not_found`. For `400` it is a human-readable validation detail whose wording may change. See the Error handling guide for the domain identifiers. (Post-only / Fill-or-Kill outcomes are order statuses such as `post_only_rejected`, not rejections.) example: insufficient_margin responses: Error400Response: description: | Bad request — the request was malformed or failed validation (bad query parameters, unparseable body, invalid signature, or a domain pre-check). The `error` field is a human-readable validation detail. content: application/json: schema: $ref: '#/components/schemas/Error400' Error401Response: description: > Unauthorized — missing or invalid `POLYMARKET-PROXY` / `POLYMARKET-SECRET` credentials. `error` is `unauthorized`. content: application/json: schema: $ref: '#/components/schemas/Error401' Error429Response: description: > Too Many Requests. `error` distinguishes the limit that was hit: `ip_rate_limited` (per-IP token bucket), `action_rate_limited` (per-account action rate), or `open_orders_limit` (resting open-order cap). headers: Retry-After: description: > Whole seconds to wait before retrying. Present only on token-bucket rate-limit rejections (`ip_rate_limited` and `action_rate_limited`); a conservative estimate of when enough capacity will have refilled to admit the request. Absent on `open_orders_limit`, which is a capacity limit, not a rate limit — waiting does not free order slots; cancel resting orders or wait for fills instead. schema: type: integer example: 2 content: application/json: schema: $ref: '#/components/schemas/Error429' Error500Response: description: | Internal server error. `error` is `internal_error`. content: application/json: schema: $ref: '#/components/schemas/Error500' securitySchemes: polymarket_proxy: type: apiKey name: POLYMARKET-PROXY in: header description: Proxy address polymarket_secret: type: apiKey name: POLYMARKET-SECRET in: header description: Correponding proxy secret ````