> ## 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.

# Get Events

> Get all events. This endpoint excludes multivariate events.
To retrieve multivariate events, use the GET /events/multivariate endpoint.
All events are accessible through this endpoint, even if their associated markets are older than the historical cutoff.




## OpenAPI

````yaml /openapi.yaml get /events
openapi: 3.0.0
info:
  title: Kalshi Trade API Manual Endpoints
  version: 3.34.0
  description: >-
    Manually defined OpenAPI spec for endpoints being migrated to spec-first
    approach
servers:
  - url: https://external-api.kalshi.com/trade-api/v2
    description: Production Trade API server
  - url: https://api.elections.kalshi.com/trade-api/v2
    description: Production shared API server, also supported
  - url: https://external-api.demo.kalshi.co/trade-api/v2
    description: Demo Trade API server
  - url: https://demo-api.kalshi.co/trade-api/v2
    description: Demo shared API server, also supported
security: []
tags:
  - name: api-keys
    description: API key management endpoints
  - name: orders
    description: Order management endpoints
  - name: order-groups
    description: Order group management endpoints
  - name: portfolio
    description: Portfolio and balance information endpoints
  - name: communications
    description: Request-for-quote (RFQ) endpoints
  - name: multivariate
    description: Multivariate event collection endpoints
  - name: exchange
    description: Exchange status and information endpoints
  - name: live-data
    description: Live data endpoints
  - name: markets
    description: Market data endpoints
  - name: milestone
    description: Milestone endpoints
  - name: search
    description: Search and filtering endpoints
  - name: incentive-programs
    description: Incentive program endpoints
  - name: fcm
    description: FCM member specific endpoints
  - name: events
    description: Event endpoints
  - name: structured-targets
    description: Structured targets endpoints
paths:
  /events:
    get:
      tags:
        - events
      summary: Get Events
      description: >
        Get all events. This endpoint excludes multivariate events.

        To retrieve multivariate events, use the GET /events/multivariate
        endpoint.

        All events are accessible through this endpoint, even if their
        associated markets are older than the historical cutoff.
      operationId: GetEvents
      parameters:
        - name: limit
          in: query
          required: false
          description: >-
            Parameter to specify the number of results per page. Defaults to
            200. Maximum value is 200.
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 200
        - name: cursor
          in: query
          required: false
          description: >-
            Parameter to specify the pagination cursor. Use the cursor value
            returned from the previous response to get the next page of results.
            Leave empty for the first page.
          schema:
            type: string
        - name: with_nested_markets
          in: query
          required: false
          description: >-
            Parameter to specify if nested markets should be included in the
            response. When true, each event will include a 'markets' field
            containing a list of Market objects associated with that event.
            Historical markets settled before the historical cutoff will not be
            included.
          schema:
            type: boolean
            default: false
          x-go-type-skip-optional-pointer: true
        - name: with_milestones
          in: query
          required: false
          description: If true, includes related milestones as a field alongside events.
          schema:
            type: boolean
            default: false
          x-go-type-skip-optional-pointer: true
        - name: status
          in: query
          required: false
          description: >-
            Filter by event status. Possible values are 'unopened', 'open',
            'closed', 'settled'. Leave empty to return events with any status.
          schema:
            type: string
            enum:
              - unopened
              - open
              - closed
              - settled
        - $ref: '#/components/parameters/SeriesTickerQuery'
        - $ref: '#/components/parameters/EventTickersQuery'
        - name: min_close_ts
          in: query
          required: false
          description: >-
            Filter events with at least one market with close timestamp greater
            than this Unix timestamp (in seconds).
          schema:
            type: integer
            format: int64
        - name: min_updated_ts
          in: query
          required: false
          description: >-
            Filter events with metadata updated after this Unix timestamp (in
            seconds). Use this to efficiently poll for changes.
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Events retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
components:
  parameters:
    SeriesTickerQuery:
      name: series_ticker
      in: query
      description: Filter by series ticker
      schema:
        type: string
        x-go-type-skip-optional-pointer: true
    EventTickersQuery:
      name: tickers
      in: query
      description: >-
        Filter by specific event tickers. Comma-separated list of event tickers
        to retrieve.
      schema:
        type: string
  schemas:
    GetEventsResponse:
      type: object
      required:
        - events
        - cursor
      properties:
        events:
          type: array
          description: Array of events matching the query criteria.
          items:
            $ref: '#/components/schemas/EventData'
        milestones:
          type: array
          description: Array of milestones related to the events.
          items:
            $ref: '#/components/schemas/Milestone'
        cursor:
          type: string
          description: >-
            Pagination cursor for the next page. Empty if there are no more
            results.
    EventData:
      type: object
      required:
        - event_ticker
        - series_ticker
        - sub_title
        - title
        - collateral_return_type
        - mutually_exclusive
        - settlement_sources
      properties:
        event_ticker:
          type: string
          description: Unique identifier for this event.
        series_ticker:
          type: string
          description: Unique identifier for the series this event belongs to.
        sub_title:
          type: string
          description: Shortened descriptive title for the event.
        title:
          type: string
          description: Full title of the event.
        collateral_return_type:
          type: string
          description: >
            Collateral-return netting type for this event: `MECNET` for mutually
            exclusive markets, `DIRECNET` for directional netting, or an empty
            string for no collateral-return netting.

            Netting applies within this event, not across all events in its
            series, and also requires netting to be enabled for the trading
            account or subtrader.

            Use `with_nested_markets=true` to retrieve the markets associated
            with each event.
        mutually_exclusive:
          type: boolean
          description: >
            True when `collateral_return_type` is `MECNET`: at most one market
            in this event can resolve to 'yes'.

            False for both `DIRECNET` and an empty collateral-return type. A
            false value does not mean collateral-return netting is unavailable.
            Use `collateral_return_type` to distinguish these cases.
        category:
          type: string
          description: Event category (deprecated, use series-level category instead).
          deprecated: true
          x-go-type-skip-optional-pointer: true
        strike_date:
          type: string
          format: date-time
          nullable: true
          x-omitempty: true
          description: >-
            The specific date this event is based on. Only filled when the event
            uses a date strike (mutually exclusive with strike_period).
        strike_period:
          type: string
          nullable: true
          x-omitempty: true
          description: >-
            The time period this event covers (e.g., 'week', 'month'). Only
            filled when the event uses a period strike (mutually exclusive with
            strike_date).
        markets:
          type: array
          x-omitempty: true
          description: >-
            Array of markets associated with this event. Only populated when
            'with_nested_markets=true' is specified in the request.
          items:
            $ref: '#/components/schemas/Market'
          x-go-type-skip-optional-pointer: true
        product_metadata:
          type: object
          nullable: true
          x-omitempty: true
          description: Additional metadata for the event.
          x-go-type-skip-optional-pointer: true
        settlement_sources:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/SettlementSource'
          description: >-
            The official sources used for the determination of markets within
            this event. Methodology is defined in the rulebook.
        last_updated_ts:
          type: string
          format: date-time
          description: Timestamp of when this event's metadata was last updated.
        fee_type_override:
          type: string
          nullable: true
          x-omitempty: true
          description: >-
            Fee type override for this event. When present, takes precedence
            over the series-level fee for this event's markets.
        fee_multiplier_override:
          type: number
          format: double
          nullable: true
          x-omitempty: true
          description: >-
            Fee multiplier override for this event. Paired with
            fee_type_override.
        exchange_index:
          allOf:
            - $ref: '#/components/schemas/ExchangeIndex'
          x-go-type-skip-optional-pointer: true
          x-omitempty: false
    Milestone:
      type: object
      required:
        - id
        - category
        - type
        - start_date
        - related_event_tickers
        - title
        - notification_message
        - details
        - primary_event_tickers
        - last_updated_ts
      properties:
        id:
          type: string
          description: Unique identifier for the milestone.
        category:
          type: string
          description: Category of the milestone. E.g. Sports, Elections, Esports, Crypto.
          example: Sports
        type:
          type: string
          description: >-
            Type of the milestone. E.g. football_game, basketball_game,
            soccer_tournament_multi_leg, baseball_game, hockey_match,
            golf_tournament, political_race.
          example: football_game
        start_date:
          type: string
          format: date-time
          description: Start date of the milestone.
        end_date:
          type: string
          format: date-time
          nullable: true
          description: End date of the milestone, if any.
        related_event_tickers:
          type: array
          items:
            type: string
          description: List of event tickers related to this milestone.
        title:
          type: string
          description: Title of the milestone.
        notification_message:
          type: string
          description: Notification message for the milestone.
        source_id:
          type: string
          nullable: true
          description: Source id of milestone if available.
        source_ids:
          type: object
          additionalProperties:
            type: string
          description: Source ids of milestone if available.
        details:
          type: object
          additionalProperties: true
          description: >-
            Additional details about the milestone. `details.status`, when
            present, is maintained by a periodic background job. It lags the
            game's live state and may be stale or inaccurate, for example
            remaining `live` after the game ends. For game status, prefer live
            data, which is updated far more often: `live_data.details.status`
            from `GET /live_data/milestone/{milestone_id}`, or each entry's
            `details.status` from `GET /live_data/batch`. Scores are in the
            sport-specific fields of that live data `details` object.
        primary_event_tickers:
          type: array
          items:
            type: string
          description: >-
            List of event tickers directly related to the outcome of this
            milestone.
        last_updated_ts:
          type: string
          format: date-time
          description: Last time this structured target was updated.
    Market:
      type: object
      required:
        - ticker
        - event_ticker
        - market_type
        - yes_sub_title
        - no_sub_title
        - created_time
        - updated_time
        - open_time
        - close_time
        - latest_expiration_time
        - settlement_timer_seconds
        - status
        - notional_value_dollars
        - yes_bid_dollars
        - yes_ask_dollars
        - no_bid_dollars
        - no_ask_dollars
        - yes_bid_size_fp
        - yes_ask_size_fp
        - last_price_dollars
        - previous_yes_bid_dollars
        - previous_yes_ask_dollars
        - previous_price_dollars
        - volume_fp
        - volume_24h_fp
        - open_interest_fp
        - result
        - can_close_early
        - expiration_value
        - rules_primary
        - rules_secondary
        - price_level_structure
        - price_ranges
        - settlement_bounds_type
      properties:
        ticker:
          type: string
        event_ticker:
          type: string
        market_type:
          type: string
          enum:
            - binary
            - scalar
          description: Identifies the type of market
        title:
          type: string
          deprecated: true
          x-go-type-skip-optional-pointer: true
        subtitle:
          type: string
          deprecated: true
          x-go-type-skip-optional-pointer: true
        yes_sub_title:
          type: string
          description: Shortened title for the yes side of this market
        no_sub_title:
          type: string
          description: Shortened title for the no side of this market
        created_time:
          type: string
          format: date-time
        updated_time:
          type: string
          format: date-time
          description: Time of the last non-trading metadata update.
        open_time:
          type: string
          format: date-time
        close_time:
          type: string
          format: date-time
        expected_expiration_time:
          type: string
          format: date-time
          nullable: true
          x-omitempty: true
          description: Time when this market is expected to expire
        expiration_time:
          type: string
          format: date-time
          deprecated: true
          x-go-type-skip-optional-pointer: true
        latest_expiration_time:
          type: string
          format: date-time
          description: Latest possible time for this market to expire
        settlement_timer_seconds:
          type: integer
          description: The amount of time after determination that the market settles
        status:
          type: string
          enum:
            - initialized
            - inactive
            - active
            - closed
            - determined
            - disputed
            - amended
            - finalized
          description: The current status of the market in its lifecycle.
        yes_bid_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          description: Price for the highest YES buy offer on this market in dollars
        yes_bid_size_fp:
          $ref: '#/components/schemas/FixedPointCount'
          description: >-
            Total contract size of orders to buy YES at the best bid price
            (fixed-point count string).
        yes_ask_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          description: Price for the lowest YES sell offer on this market in dollars
        yes_ask_size_fp:
          $ref: '#/components/schemas/FixedPointCount'
          description: >-
            Total contract size of orders to sell YES at the best ask price
            (fixed-point count string).
        no_bid_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          description: Price for the highest NO buy offer on this market in dollars
        no_ask_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          description: Price for the lowest NO sell offer on this market in dollars
        last_price_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          description: Price for the last traded YES contract on this market in dollars
        volume_fp:
          $ref: '#/components/schemas/FixedPointCount'
          description: String representation of the market volume in contracts
        volume_24h_fp:
          $ref: '#/components/schemas/FixedPointCount'
          description: String representation of the 24h market volume in contracts
        result:
          type: string
          enum:
            - 'yes'
            - 'no'
            - scalar
            - ''
        can_close_early:
          type: boolean
        open_interest_fp:
          $ref: '#/components/schemas/FixedPointCount'
          description: >-
            String representation of the number of contracts bought on this
            market disconsidering netting
        notional_value_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          description: The total value of a single contract at settlement in dollars
        previous_yes_bid_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          description: >-
            Price for the highest YES buy offer on this market a day ago in
            dollars
        previous_yes_ask_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          description: >-
            Price for the lowest YES sell offer on this market a day ago in
            dollars
        previous_price_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          description: >-
            Price for the last traded YES contract on this market a day ago in
            dollars
        settlement_value_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          nullable: true
          x-omitempty: true
          description: >-
            The settlement value of the YES/LONG side of the contract in
            dollars. Only filled after determination
        settlement_ts:
          type: string
          format: date-time
          nullable: true
          x-omitempty: true
          description: >-
            Timestamp when the market was settled. Only filled for settled
            markets
        settlement_bounds_type:
          type: string
          enum:
            - default
            - floor
          description: >-
            Which settlement bounds apply to this market. default means the
            market has no settlement bounds
        settlement_floor_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          nullable: true
          x-omitempty: true
          description: >-
            The lowest value the YES/LONG side of the contract can settle at in
            dollars. Only filled when settlement_bounds_type is floor
        expiration_value:
          type: string
          description: The value that was considered for the settlement
        occurrence_datetime:
          type: string
          format: date-time
          nullable: true
          description: >-
            The recorded datetime when the underlying event occurred, if
            available
        fee_waiver_expiration_time:
          type: string
          format: date-time
          nullable: true
          x-omitempty: true
          description: Time when this market's fee waiver expires
        early_close_condition:
          type: string
          nullable: true
          x-omitempty: true
          description: The condition under which the market can close early
          x-go-type-skip-optional-pointer: true
        strike_type:
          type: string
          enum:
            - greater
            - greater_or_equal
            - less
            - less_or_equal
            - between
            - functional
            - custom
            - structured
          x-omitempty: true
          description: Strike type defines how the market strike is defined and evaluated
          x-go-type-skip-optional-pointer: true
        floor_strike:
          type: number
          format: double
          nullable: true
          x-omitempty: true
          description: Minimum expiration value that leads to a YES settlement
        cap_strike:
          type: number
          format: double
          nullable: true
          x-omitempty: true
          description: Maximum expiration value that leads to a YES settlement
        functional_strike:
          type: string
          nullable: true
          x-omitempty: true
          description: Mapping from expiration values to settlement values
        custom_strike:
          type: object
          nullable: true
          x-omitempty: true
          description: Expiration value for each target that leads to a YES settlement
        rules_primary:
          type: string
          description: A plain language description of the most important market terms
        rules_secondary:
          type: string
          description: A plain language description of secondary market terms
        mve_collection_ticker:
          type: string
          x-omitempty: true
          description: The ticker of the multivariate event collection
          x-go-type-skip-optional-pointer: true
        mve_selected_legs:
          type: array
          x-omitempty: true
          items:
            $ref: '#/components/schemas/MveSelectedLeg'
          x-go-type-skip-optional-pointer: true
        primary_participant_key:
          type: string
          nullable: true
          x-omitempty: true
        price_level_structure:
          type: string
          description: >-
            Price level structure for this market, defining price ranges and
            tick sizes
        price_ranges:
          type: array
          description: Valid price ranges for orders on this market
          items:
            $ref: '#/components/schemas/PriceRange'
        is_provisional:
          type: boolean
          x-omitempty: true
          description: >-
            If true, the market may be removed after determination if there is
            no activity on it
          x-go-type-skip-optional-pointer: true
        exchange_index:
          allOf:
            - $ref: '#/components/schemas/ExchangeIndex'
          x-go-type-skip-optional-pointer: true
          x-omitempty: false
    SettlementSource:
      type: object
      properties:
        name:
          type: string
          description: Name of the settlement source
          x-go-type-skip-optional-pointer: true
        url:
          type: string
          description: URL to the settlement source
          x-go-type-skip-optional-pointer: true
    ExchangeIndex:
      type: integer
      description: Identifier for an exchange shard.
      example: 0
    FixedPointDollars:
      type: string
      description: >-
        Fixed-point US dollar string. Most request fields accept 2-4 decimal
        places (e.g., "0.56", "0.5600"); responses emit up to 6. Valid quote
        intervals for a given market are constrained by that market's price
        level structure.
      example: '0.5600'
    FixedPointCount:
      type: string
      description: >-
        Fixed-point contract count string (2 decimals, e.g., "10.00"; referred
        to as "fp" in field names). Requests accept 0-2 decimal places (e.g.,
        "10", "10.0", "10.00"); responses always emit 2 decimals. Fractional
        contract values (e.g., "2.50") are supported; the minimum granularity is
        0.01 contracts.
      example: '10.00'
    MveSelectedLeg:
      type: object
      properties:
        event_ticker:
          type: string
          description: Unique identifier for the selected event
          x-go-type-skip-optional-pointer: true
        market_ticker:
          type: string
          description: Unique identifier for the selected market
          x-go-type-skip-optional-pointer: true
        side:
          type: string
          description: The side of the selected market
          x-go-type-skip-optional-pointer: true
        yes_settlement_value_dollars:
          $ref: '#/components/schemas/FixedPointDollars'
          nullable: true
          x-omitempty: true
          description: >-
            The settlement value of the YES/LONG side of the contract in
            dollars. Only filled after determination
    PriceRange:
      type: object
      required:
        - start
        - end
        - step
      properties:
        start:
          type: string
          description: Starting price for this range in dollars
        end:
          type: string
          description: Ending price for this range in dollars
        step:
          type: string
          description: Price step/tick size for this range in dollars

````

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