> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agg.market/llms.txt
> Use this file to discover all available pages before exploring further.

# Place limit order

> Places a venue-specific limit order. Funds or shares are reserved while the order is open and fills are reconciled asynchronously.



## OpenAPI

````yaml /openapi/openapi.json post /execution/limit-orders
openapi: 3.0.2
info:
  title: AGG API
  version: 1.0.0
  description: >-
    Prediction market aggregator REST API — authentication, users, venue events,
    venue markets, orderbooks, charts, and execution workflows.
servers:
  - url: https://api.agg.market
    description: Production
  - url: https://api.staging.agg.market
    description: Staging
security: []
paths:
  /execution/limit-orders:
    post:
      tags:
        - Execution
      summary: Place limit order
      description: >-
        Places a venue-specific limit order. Funds or shares are reserved while
        the order is open and fills are reconciled asynchronously.
      operationId: placeLimitOrder
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - venue
                - venueMarketOutcomeId
                - side
                - limitPriceRaw
                - sizeRaw
                - timeInForce
              properties:
                venue:
                  type: string
                  enum:
                    - kalshi
                    - polymarket
                    - limitless
                    - opinion
                    - predict
                    - probable
                    - myriad
                    - hyperliquid
                venueMarketOutcomeId:
                  type: string
                side:
                  type: string
                  enum:
                    - buy
                    - sell
                limitPriceRaw:
                  pattern: ^[1-9][0-9]*$
                  type: string
                sizeRaw:
                  pattern: ^[1-9][0-9]*$
                  type: string
                timeInForce:
                  type: string
                  enum:
                    - GTC
                    - GTD
                    - FOK
                    - FAK
                    - IOC
                    - ALO
                postOnly:
                  type: boolean
                expiresAt:
                  format: date-time
                  type: string
                clientOrderId:
                  minLength: 1
                  maxLength: 128
                  type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                required:
                  - orderId
                  - status
                  - venue
                  - limitPriceRaw
                  - limitSizeRaw
                  - filledSizeRaw
                  - remainingSizeRaw
                properties:
                  orderId:
                    type: string
                  status:
                    type: string
                    enum:
                      - pending
                      - open
                      - partially_filled_open
                      - filled
                      - cancelled
                      - expired
                      - failed
                  venue:
                    type: string
                    enum:
                      - kalshi
                      - polymarket
                      - limitless
                      - opinion
                      - predict
                      - probable
                      - myriad
                      - hyperliquid
                  venueOrderId:
                    type: string
                    nullable: true
                  reservedCostRaw:
                    type: string
                    nullable: true
                  limitPriceRaw:
                    type: string
                  limitSizeRaw:
                    type: string
                  filledSizeRaw:
                    type: string
                  remainingSizeRaw:
                    type: string
        '400':
          description: '400'
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '401':
          description: '401'
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '403':
          description: '403'
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '409':
          description: '409'
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
      security:
        - appId: []
          bearerAuth: []
components:
  securitySchemes:
    appId:
      type: apiKey
      in: header
      name: x-app-id
      description: Your application ID. Required for all app-tier and user-tier routes.
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT access token returned by POST /auth/verify. Required for user-tier
        routes.

````