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

# List Events

> Returns prediction market events. Set `expand=markets` to include per-event markets and top market.

List prediction market events. Set `expand=markets` when you want nested markets inline.

```bash theme={null}
curl -sS "$MONETARY_API_BASE_URL/v1/prediction_markets/events?provider=kalshi&status=open&expand=markets&limit=5" \
  -H "Authorization: Bearer $MONETARY_API_TOKEN" \
  -H "Accept: application/json"
```


## OpenAPI

````yaml GET /v1/prediction_markets/events
openapi: 3.1.0
info:
  title: Monetary Public API
  description: Read-only market intelligence API for companies and prediction market data.
  version: 1.0.0
servers:
  - url: http://127.0.0.1:3003
    description: Local development
  - url: https://api.monetary.dev
    description: Production
security: []
tags:
  - name: System
    description: Service and health endpoints
  - name: Companies
    description: Company directory search and filtering
  - name: Prediction Markets
    description: Prediction market events, markets, and similarity grouping
paths:
  /v1/prediction_markets/events:
    get:
      tags:
        - Prediction Markets
      summary: List prediction market events
      description: >-
        Returns prediction market events. Set `expand=markets` to include
        per-event markets and top market.
      operationId: listPredictionMarketEvents
      parameters:
        - name: provider
          in: query
          description: Provider filter.
          schema:
            type: string
            enum:
              - kalshi
              - polymarket
        - name: status
          in: query
          description: Event status filter.
          schema:
            type: string
            enum:
              - open
              - closed
        - name: eventId
          in: query
          description: Internal event id (`evt_...`).
          schema:
            type: string
        - name: externalId
          in: query
          description: Provider event external id.
          schema:
            type: string
        - name: category
          in: query
          description: >-
            Case-insensitive category match against event and market category
            text.
          schema:
            type: string
        - name: expand
          in: query
          description: Include market details for each event.
          schema:
            type: string
            enum:
              - markets
        - name: limit
          in: query
          description: Maximum records returned.
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 20
      responses:
        '200':
          description: Prediction market events
          headers:
            Cache-Control:
              description: Caching policy for successful GET responses.
              schema:
                type: string
              example: private, max-age=60, stale-while-revalidate=30
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PredictionMarketEventsResponse'
              examples:
                eventsOnly:
                  value:
                    data:
                      - category: US Politics
                        id: evt_7f345954fbe84e4ca17ceb02
                        provider: kalshi
                        scheduledAt: '2026-11-03T00:00:00.000Z'
                        status: open
                        title: Will Candidate A win the 2026 election?
                    filters:
                      category: politics
                      limit: 20
                      provider: kalshi
                      status: open
                eventsExpanded:
                  value:
                    data:
                      - category: Crypto
                        id: evt_d6b6bcc2bc9f4a6e9f87aa35
                        provider: polymarket
                        scheduledAt: '2026-07-01T00:00:00.000Z'
                        status: open
                        title: Will BTC close above $100k this quarter?
                        markets:
                          - category: Crypto
                            event:
                              category: Crypto
                              id: evt_d6b6bcc2bc9f4a6e9f87aa35
                              provider: polymarket
                              scheduledAt: '2026-07-01T00:00:00.000Z'
                              status: open
                              title: Will BTC close above $100k this quarter?
                            eventId: evt_d6b6bcc2bc9f4a6e9f87aa35
                            id: mkt_6ed3e093b8b14d7ea6fe3e6a
                            outcomes:
                              - id: out_5f280f9c95d1484f90ee8c61
                                label: 'Yes'
                                probability: 0.62
                              - id: out_64854391e5c74ec188f270fd
                                label: 'No'
                                probability: 0.38
                            provider: polymarket
                            resolutionAt: null
                            resolutionSource: null
                            resolvedAt: null
                            resolvedOutcomeId: null
                            status: open
                            title: BTC above $100k by quarter close
                        topMarket:
                          category: Crypto
                          event:
                            category: Crypto
                            id: evt_d6b6bcc2bc9f4a6e9f87aa35
                            provider: polymarket
                            scheduledAt: '2026-07-01T00:00:00.000Z'
                            status: open
                            title: Will BTC close above $100k this quarter?
                          eventId: evt_d6b6bcc2bc9f4a6e9f87aa35
                          id: mkt_6ed3e093b8b14d7ea6fe3e6a
                          outcomes:
                            - id: out_5f280f9c95d1484f90ee8c61
                              label: 'Yes'
                              probability: 0.62
                            - id: out_64854391e5c74ec188f270fd
                              label: 'No'
                              probability: 0.38
                          provider: polymarket
                          resolutionAt: null
                          resolutionSource: null
                          resolvedAt: null
                          resolvedOutcomeId: null
                          status: open
                          title: BTC above $100k by quarter close
                    filters:
                      expand: markets
                      limit: 20
                      provider: polymarket
                      status: open
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    PredictionMarketEventsResponse:
      type: object
      required:
        - data
        - filters
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PredictionMarketEventExpanded'
        filters:
          $ref: '#/components/schemas/PredictionMarketFilters'
    PredictionMarketEventExpanded:
      allOf:
        - $ref: '#/components/schemas/PredictionMarketEvent'
        - type: object
          properties:
            markets:
              type: array
              items:
                $ref: '#/components/schemas/PredictionMarketMarket'
            topMarket:
              anyOf:
                - $ref: '#/components/schemas/PredictionMarketMarket'
                - type: 'null'
    PredictionMarketFilters:
      type: object
      required:
        - limit
      properties:
        category:
          type: string
        eventId:
          type: string
        expand:
          type: string
          enum:
            - markets
        externalId:
          type: string
        limit:
          type: integer
          minimum: 1
          maximum: 500
        provider:
          $ref: '#/components/schemas/PredictionMarketProvider'
        status:
          $ref: '#/components/schemas/PredictionMarketStatus'
    ErrorResponse:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          examples:
            - BadRequest
            - Unauthorized
            - InternalServerError
        message:
          type: string
    PredictionMarketEvent:
      type: object
      required:
        - category
        - id
        - provider
        - scheduledAt
        - status
        - title
      properties:
        category:
          type:
            - string
            - 'null'
        id:
          type: string
        provider:
          $ref: '#/components/schemas/PredictionMarketProvider'
        scheduledAt:
          type:
            - string
            - 'null'
          format: date-time
        status:
          $ref: '#/components/schemas/PredictionMarketStatus'
        title:
          type: string
    PredictionMarketMarket:
      type: object
      required:
        - category
        - event
        - eventId
        - id
        - outcomes
        - provider
        - resolutionAt
        - resolutionSource
        - resolvedAt
        - resolvedOutcomeId
        - status
        - title
      properties:
        category:
          type:
            - string
            - 'null'
        event:
          $ref: '#/components/schemas/PredictionMarketEvent'
        eventId:
          type: string
        id:
          type: string
        outcomes:
          type: array
          items:
            $ref: '#/components/schemas/PredictionMarketOutcome'
        provider:
          $ref: '#/components/schemas/PredictionMarketProvider'
        resolutionAt:
          type:
            - string
            - 'null'
          format: date-time
        resolutionSource:
          type:
            - string
            - 'null'
        resolvedAt:
          type:
            - string
            - 'null'
          format: date-time
        resolvedOutcomeId:
          type:
            - string
            - 'null'
        status:
          $ref: '#/components/schemas/PredictionMarketStatus'
        title:
          type: string
    PredictionMarketProvider:
      type: string
      enum:
        - kalshi
        - polymarket
    PredictionMarketStatus:
      type: string
      enum:
        - open
        - closed
    PredictionMarketOutcome:
      type: object
      required:
        - id
        - label
        - probability
      properties:
        id:
          type:
            - string
            - 'null'
        label:
          type: string
        probability:
          type: number
          minimum: 0
          maximum: 1
  responses:
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            invalidLimit:
              value:
                error: BadRequest
                message: limit must be an integer between 1 and 500
            invalidExpand:
              value:
                error: BadRequest
                message: expand must be 'markets'
    Unauthorized:
      description: Missing or invalid API token
      headers:
        Cache-Control:
          description: Unauthorized responses are never cached.
          schema:
            type: string
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingBearerToken:
              value:
                error: Unauthorized
                message: 'Expected Authorization: Bearer <token>'
            invalidToken:
              value:
                error: Unauthorized
                message: Invalid API token
    InternalServerError:
      description: Unexpected server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            default:
              value:
                error: InternalServerError
                message: Unexpected error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key token

````