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

# User Orders

> Real-time order created and updated notifications. Requires authentication.

**Requirements:**
- Authentication required
- Market specification optional via `market_tickers` (omit to receive all orders)
- Supports `update_subscription` with `add_markets` / `delete_markets` actions
- Updates sent when your orders are created, filled, canceled, or otherwise updated

**Use case:** Tracking your resting orders, fills, and cancellations in real time




## AsyncAPI

````yaml asyncapi.yaml user_orders
id: user_orders
title: User Orders
description: >
  Real-time order created and updated notifications. Requires authentication.


  **Requirements:**

  - Authentication required

  - Market specification optional via `market_tickers` (omit to receive all
  orders)

  - Supports `update_subscription` with `add_markets` / `delete_markets` actions

  - Updates sent when your orders are created, filled, canceled, or otherwise
  updated


  **Use case:** Tracking your resting orders, fills, and cancellations in real
  time
servers:
  - id: production
    protocol: wss
    host: external-api-ws.kalshi.com
    bindings: []
    variables: []
address: user_orders
parameters: []
bindings: []
operations:
  - &ref_4
    id: receiveUserOrder
    title: User Order Update
    description: Receive notifications for your order creates and updates
    type: send
    messages:
      - &ref_5
        id: userOrder
        contentType: application/json
        payload:
          - name: User Order Update
            description: Real-time order updates for authenticated user
            type: object
            properties:
              - name: type
                type: string
                description: user_order
                required: true
              - name: sid
                type: integer
                description: >-
                  Server-generated subscription identifier (sid) used to
                  identify the channel
                required: true
              - name: msg
                type: object
                required: true
                properties:
                  - name: order_id
                    type: string
                    description: Unique order identifier
                    required: true
                  - name: user_id
                    type: string
                    description: User identifier
                    required: true
                  - name: ticker
                    type: string
                    description: Unique market identifier
                    examples: &ref_0
                      - FED-23DEC-T3.00
                      - HIGHNY-22DEC23-B53.5
                    required: true
                  - name: exchange_index
                    type: integer
                    description: Identifier for the exchange shard where the order resides
                    required: true
                  - name: status
                    type: string
                    description: Current order status
                    enumValues:
                      - resting
                      - canceled
                      - executed
                      - unknown
                    required: true
                  - name: side
                    type: string
                    description: Market side
                    enumValues:
                      - 'yes'
                      - 'no'
                    required: true
                  - name: is_yes
                    type: boolean
                    description: >
                      Deprecated. Use `outcome_side` (or `book_side`) instead.
                      See [Order direction](/getting_started/order_direction).
                      This field will not be removed before May 14, 2026.
                    deprecated: true
                    required: true
                  - name: outcome_side
                    type: string
                    description: Market side
                    enumValues:
                      - 'yes'
                      - 'no'
                    required: true
                  - name: book_side
                    type: string
                    description: >-
                      Side of the book for an order or trade. 'bid' is
                      equivalent to outcome_side 'yes'; 'ask' is equivalent to
                      outcome_side 'no'.
                    enumValues:
                      - bid
                      - ask
                    required: true
                  - name: yes_price_dollars
                    type: string
                    description: Yes price in fixed-point dollars (4 decimals)
                    required: true
                  - name: fill_count_fp
                    type: string
                    description: Number of contracts filled in fixed-point (2 decimals)
                    required: true
                  - name: remaining_count_fp
                    type: string
                    description: Number of contracts remaining in fixed-point (2 decimals)
                    required: true
                  - name: initial_count_fp
                    type: string
                    description: Initial number of contracts in fixed-point (2 decimals)
                    required: true
                  - name: taker_fill_cost_dollars
                    type: string
                    description: Taker fill cost in fixed-point dollars (6 decimals)
                    required: true
                  - name: maker_fill_cost_dollars
                    type: string
                    description: Maker fill cost in fixed-point dollars (6 decimals)
                    required: true
                  - name: taker_fees_dollars
                    type: string
                    description: Taker fees in fixed-point dollars (6 decimals).
                    required: true
                  - name: maker_fees_dollars
                    type: string
                    description: Maker fees in fixed-point dollars (6 decimals).
                    required: true
                  - name: client_order_id
                    type: string
                    description: Client-provided order identifier
                    required: true
                  - name: order_group_id
                    type: string
                    description: Order group identifier, if applicable
                    required: false
                  - name: self_trade_prevention_type
                    type: string
                    description: Self-trade prevention type
                    enumValues:
                      - taker_at_cross
                      - maker
                    required: false
                  - name: created_time
                    type: &ref_2
                      - string
                      - 'null'
                    description: >-
                      Deprecated - Order creation time in RFC3339 format,
                      truncated to milliseconds. Use created_ts_ms instead.
                    deprecated: true
                    required: true
                  - name: last_update_time
                    type: string
                    description: >-
                      Deprecated - Last update time in RFC3339 format, truncated
                      to milliseconds. Use last_updated_ts_ms instead.
                    deprecated: true
                    required: false
                  - name: expiration_time
                    type: string
                    description: >-
                      Deprecated - Order expiration time in RFC3339 format,
                      truncated to milliseconds. Use expiration_ts_ms instead.
                    deprecated: true
                    required: false
                  - name: expiration_ts_ms
                    type: integer
                    description: Order expiration time as a Unix timestamp in milliseconds
                    required: false
                  - name: created_ts_ms
                    type: &ref_3
                      - integer
                      - 'null'
                    description: Order creation time as a Unix timestamp in milliseconds
                    required: true
                  - name: last_updated_ts_ms
                    type: integer
                    description: Last update time as a Unix timestamp in milliseconds
                    required: false
                  - name: last_update_reason
                    type: string
                    description: >-
                      Order update reason. The value ReduceOnlyCancel means
                      reduce_only capped the order at placement.
                    enumValues:
                      - Decrease
                      - Amend
                      - MarginCancel
                      - SelfTradeCancel
                      - ExpiryCancel
                      - CloseCancel
                      - HaltCancel
                      - Trade
                      - PostOnlyCrossCancel
                      - ReduceOnlyCancel
                      - SettlementBoundsCancel
                    required: false
                  - name: subaccount_number
                    type: integer
                    description: Subaccount number (0 for primary, 1-63 for subaccounts)
                    required: false
              - name: sending_ts_ms
                type: integer
                description: >-
                  Unix timestamp in milliseconds when Kalshi queued this message
                  at the network layer.
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - type
            - sid
            - msg
          properties:
            type:
              type: string
              const: user_order
              x-parser-schema-id: <anonymous-schema-389>
            sid:
              type: integer
              description: >-
                Server-generated subscription identifier (sid) used to identify
                the channel
              minimum: 1
              x-parser-schema-id: subscriptionId
            msg:
              type: object
              required:
                - order_id
                - user_id
                - ticker
                - exchange_index
                - status
                - side
                - is_yes
                - outcome_side
                - book_side
                - yes_price_dollars
                - fill_count_fp
                - remaining_count_fp
                - initial_count_fp
                - taker_fill_cost_dollars
                - maker_fill_cost_dollars
                - taker_fees_dollars
                - maker_fees_dollars
                - client_order_id
                - created_time
                - created_ts_ms
              properties:
                order_id:
                  type: string
                  description: Unique order identifier
                  format: uuid
                  x-parser-schema-id: <anonymous-schema-391>
                user_id:
                  type: string
                  description: User identifier
                  format: uuid
                  x-parser-schema-id: <anonymous-schema-392>
                ticker:
                  type: string
                  description: Unique market identifier
                  examples: *ref_0
                  x-parser-schema-id: marketTicker
                exchange_index:
                  type: integer
                  description: Identifier for the exchange shard where the order resides
                  x-rust-type: i32
                  x-parser-schema-id: <anonymous-schema-393>
                status:
                  type: string
                  description: Current order status
                  enum:
                    - resting
                    - canceled
                    - executed
                    - unknown
                  x-parser-schema-id: <anonymous-schema-394>
                side: &ref_1
                  type: string
                  description: Market side
                  enum:
                    - 'yes'
                    - 'no'
                  x-parser-schema-id: marketSide
                is_yes:
                  type: boolean
                  deprecated: true
                  description: >
                    Deprecated. Use `outcome_side` (or `book_side`) instead. See
                    [Order direction](/getting_started/order_direction). This
                    field will not be removed before May 14, 2026.
                  x-parser-schema-id: <anonymous-schema-395>
                outcome_side: *ref_1
                book_side:
                  type: string
                  description: >-
                    Side of the book for an order or trade. 'bid' is equivalent
                    to outcome_side 'yes'; 'ask' is equivalent to outcome_side
                    'no'.
                  enum:
                    - bid
                    - ask
                  x-parser-schema-id: bookSide
                yes_price_dollars:
                  type: string
                  description: Yes price in fixed-point dollars (4 decimals)
                  x-rust-type: common::types::Price
                  x-rust-serialize-with: ws::dto::serde_money::serialize_price_dollars
                  x-parser-schema-id: <anonymous-schema-396>
                fill_count_fp:
                  type: string
                  description: Number of contracts filled in fixed-point (2 decimals)
                  x-rust-type: common::types::Amount
                  x-rust-serialize-with: ws::dto::serde_money::serialize_amount_fixed_point_count
                  x-parser-schema-id: <anonymous-schema-397>
                remaining_count_fp:
                  type: string
                  description: Number of contracts remaining in fixed-point (2 decimals)
                  x-rust-type: common::types::Amount
                  x-rust-serialize-with: ws::dto::serde_money::serialize_amount_fixed_point_count
                  x-parser-schema-id: <anonymous-schema-398>
                initial_count_fp:
                  type: string
                  description: Initial number of contracts in fixed-point (2 decimals)
                  x-rust-type: common::types::Amount
                  x-rust-serialize-with: ws::dto::serde_money::serialize_amount_fixed_point_count
                  x-parser-schema-id: <anonymous-schema-399>
                taker_fill_cost_dollars:
                  type: string
                  description: Taker fill cost in fixed-point dollars (6 decimals)
                  x-rust-type: common::types::Value
                  x-rust-serialize-with: ws::dto::serde_money::serialize_value_microcent_dollars
                  x-parser-schema-id: <anonymous-schema-400>
                maker_fill_cost_dollars:
                  type: string
                  description: Maker fill cost in fixed-point dollars (6 decimals)
                  x-rust-type: common::types::Value
                  x-rust-serialize-with: ws::dto::serde_money::serialize_value_microcent_dollars
                  x-parser-schema-id: <anonymous-schema-401>
                taker_fees_dollars:
                  type: string
                  description: Taker fees in fixed-point dollars (6 decimals).
                  x-rust-type: common::types::Value
                  x-rust-serialize-with: ws::dto::serde_money::serialize_value_microcent_dollars
                  x-parser-schema-id: <anonymous-schema-402>
                maker_fees_dollars:
                  type: string
                  description: Maker fees in fixed-point dollars (6 decimals).
                  x-rust-type: common::types::Value
                  x-rust-serialize-with: ws::dto::serde_money::serialize_value_microcent_dollars
                  x-parser-schema-id: <anonymous-schema-403>
                client_order_id:
                  type: string
                  description: Client-provided order identifier
                  x-parser-schema-id: <anonymous-schema-404>
                order_group_id:
                  type: string
                  description: Order group identifier, if applicable
                  x-parser-schema-id: <anonymous-schema-405>
                self_trade_prevention_type:
                  type: string
                  description: Self-trade prevention type
                  enum:
                    - taker_at_cross
                    - maker
                  x-parser-schema-id: <anonymous-schema-406>
                created_time:
                  type: *ref_2
                  deprecated: true
                  description: >-
                    Deprecated - Order creation time in RFC3339 format,
                    truncated to milliseconds. Use created_ts_ms instead.
                  format: date-time
                  x-parser-schema-id: <anonymous-schema-407>
                last_update_time:
                  type: string
                  deprecated: true
                  description: >-
                    Deprecated - Last update time in RFC3339 format, truncated
                    to milliseconds. Use last_updated_ts_ms instead.
                  format: date-time
                  x-parser-schema-id: <anonymous-schema-408>
                expiration_time:
                  type: string
                  deprecated: true
                  description: >-
                    Deprecated - Order expiration time in RFC3339 format,
                    truncated to milliseconds. Use expiration_ts_ms instead.
                  format: date-time
                  x-parser-schema-id: <anonymous-schema-409>
                expiration_ts_ms:
                  type: integer
                  description: Order expiration time as a Unix timestamp in milliseconds
                  format: int64
                  x-parser-schema-id: <anonymous-schema-410>
                created_ts_ms:
                  type: *ref_3
                  description: Order creation time as a Unix timestamp in milliseconds
                  format: int64
                  x-parser-schema-id: <anonymous-schema-411>
                last_updated_ts_ms:
                  type: integer
                  description: Last update time as a Unix timestamp in milliseconds
                  format: int64
                  x-parser-schema-id: <anonymous-schema-412>
                last_update_reason:
                  type: string
                  description: >-
                    Order update reason. The value ReduceOnlyCancel means
                    reduce_only capped the order at placement.
                  enum:
                    - Decrease
                    - Amend
                    - MarginCancel
                    - SelfTradeCancel
                    - ExpiryCancel
                    - CloseCancel
                    - HaltCancel
                    - Trade
                    - PostOnlyCrossCancel
                    - ReduceOnlyCancel
                    - SettlementBoundsCancel
                  x-parser-schema-id: lastUpdateReason
                subaccount_number:
                  type: integer
                  description: Subaccount number (0 for primary, 1-63 for subaccounts)
                  x-parser-schema-id: <anonymous-schema-413>
              x-parser-schema-id: <anonymous-schema-390>
            sending_ts_ms:
              type: integer
              format: int64
              description: >-
                Unix timestamp in milliseconds when Kalshi queued this message
                at the network layer.
              x-parser-schema-id: sendingTimestampMs
          x-parser-schema-id: userOrderPayload
        title: User Order Update
        description: Real-time order updates for authenticated user
        example: |-
          {
            "type": "user_order",
            "sending_ts_ms": 1669149841234,
            "sid": 22,
            "msg": {
              "order_id": "ee587a1c-8b87-4dcf-b721-9f6f790619fa",
              "user_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
              "ticker": "FED-23DEC-T3.00",
              "exchange_index": 2,
              "status": "resting",
              "side": "yes",
              "is_yes": true,
              "outcome_side": "yes",
              "book_side": "bid",
              "yes_price_dollars": "0.3500",
              "fill_count_fp": "0.00",
              "remaining_count_fp": "10.00",
              "initial_count_fp": "10.00",
              "taker_fill_cost_dollars": "0.000000",
              "maker_fill_cost_dollars": "0.000000",
              "taker_fees_dollars": "0.000000",
              "maker_fees_dollars": "0.000000",
              "client_order_id": "my-order-1",
              "order_group_id": "og_123",
              "self_trade_prevention_type": "taker_at_cross",
              "created_time": "2024-12-01T10:00:00Z",
              "created_ts_ms": 1733047200000,
              "expiration_time": "2024-12-01T11:00:00Z",
              "expiration_ts_ms": 1733050800000,
              "subaccount_number": 0
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: userOrder
    bindings: []
    extensions:
      - id: x-parser-unique-object-id
        value: user_orders
sendOperations: []
receiveOperations:
  - *ref_4
sendMessages: []
receiveMessages:
  - *ref_5
extensions:
  - id: x-parser-unique-object-id
    value: user_orders
securitySchemes:
  - id: apiKey
    name: apiKey
    type: apiKey
    description: |
      API key authentication required for WebSocket connections.
      The API key should be provided during the WebSocket handshake.
    in: user
    extensions: []

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.