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

# List trading events

> Returns source-backed and classified trading events. Event rows can include assumed, retrospective, and auto-generated flags; user-facing clients should usually hide assumed and auto-generated system events.



## OpenAPI

````yaml /openapi.json get /api/v1/events
openapi: 3.1.0
info:
  title: Centaur API
  version: 1.0.0
  description: >-
    Public, read-only API for Centaur's data over REST with a companion MCP
    surface.
servers:
  - url: https://partners.centaur.io
    description: Current service base URL
security: []
tags:
  - name: System
    description: Health and service metadata endpoints.
  - name: Discovery
    description: Read-only trader and asset directory discovery endpoints.
  - name: Events
    description: >-
      Historical trade-event reads with source, trader, asset, and position
      context.
  - name: Messages
    description: >-
      Read-only access to source messages by message timestamp or Source Message
      ID.
  - name: Channel Summaries
    description: Generated channel narrative summaries selected by Source Window overlap.
  - name: Aggregate Summaries
    description: >-
      Generated aggregate narrative summaries selected by Aggregate Window
      overlap.
  - name: Positions
    description: Read-only position history and open-position live state reads.
  - name: Stats
    description: Read-only aggregate trader and asset stats.
externalDocs:
  description: Canonical Centaur API documentation
  url: https://partners.centaur.io/docs
paths:
  /api/v1/events:
    get:
      tags:
        - Events
      summary: List trading events
      description: >-
        Returns source-backed and classified trading events. Event rows can
        include assumed, retrospective, and auto-generated flags; user-facing
        clients should usually hide assumed and auto-generated system events.
      operationId: listEvents
      parameters:
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: array
                items:
                  type: number
            description: Filter to specific trader IDs.
          required: false
          description: Filter to specific trader IDs.
          name: traderIds
          in: query
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: array
                items:
                  type: number
            description: Filter to specific asset IDs.
          required: false
          description: Filter to specific asset IDs.
          name: assetIds
          in: query
        - schema:
            anyOf:
              - anyOf:
                  - type: string
                  - type: array
                    items:
                      type: string
                  - type: array
                    items:
                      type: number
              - type: array
                items:
                  $ref: '#/components/schemas/TraderDirection'
            description: Filter to `long` and/or `short` positions.
          required: false
          description: Filter to `long` and/or `short` positions.
          name: directions
          in: query
        - schema:
            type: string
            format: date-time
            description: Inclusive ISO-8601 lower time bound.
          required: false
          description: Inclusive ISO-8601 lower time bound.
          name: startTime
          in: query
        - schema:
            type: string
            format: date-time
            description: Inclusive ISO-8601 upper time bound.
          required: false
          description: Inclusive ISO-8601 upper time bound.
          name: endTime
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 200
            description: Maximum number of rows to return.
          required: false
          description: Maximum number of rows to return.
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
            description: Forward pagination cursor from `meta.nextCursor`.
          required: false
          description: Forward pagination cursor from `meta.nextCursor`.
          name: cursor
          in: query
        - schema:
            anyOf:
              - anyOf:
                  - type: string
                  - type: array
                    items:
                      type: string
                  - type: array
                    items:
                      type: number
              - type: array
                items:
                  $ref: '#/components/schemas/EventType'
            description: >-
              Filter to specific event types: `open`, `close`, `increase`, or
              `decrease`.
          required: false
          description: >-
            Filter to specific event types: `open`, `close`, `increase`, or
            `decrease`.
          name: types
          in: query
      responses:
        '200':
          description: >-
            Paginated list of public trading events with compact entity
            references
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    $ref: '#/components/schemas/EventsResponseData'
                  requestId:
                    type: string
                    example: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
                required:
                  - success
                  - data
                  - requestId
        '400':
          description: Invalid cursor or query parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                success: false
                error:
                  code: INVALID_CURSOR
                  message: Malformed cursor
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Unauthorized
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Forbidden
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '503':
          description: Authentication service temporarily unavailable
          headers:
            Retry-After:
              description: Seconds to wait before retrying authentication
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                success: false
                error:
                  code: AUTHENTICATION_UNAVAILABLE
                  message: Authentication is temporarily unavailable
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
      security:
        - ApiKeyAuth: []
components:
  schemas:
    TraderDirection:
      type: string
      enum:
        - long
        - short
    EventType:
      type: string
      enum:
        - open
        - close
        - increase
        - decrease
    EventsResponseData:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Event'
        meta:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              type: string
              nullable: true
            appliedTimeRange:
              $ref: '#/components/schemas/AppliedTimeRange'
          required:
            - hasMore
            - nextCursor
            - appliedTimeRange
      required:
        - results
        - meta
    ErrorEnvelope:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          $ref: '#/components/schemas/Error'
        requestId:
          type: string
          example: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
      required:
        - success
        - error
        - requestId
    Event:
      type: object
      properties:
        id:
          type: integer
        type:
          $ref: '#/components/schemas/EventType'
        price:
          type: number
          nullable: true
          description: Event price when extracted or assigned; null when unavailable.
        quoteSymbol:
          type: string
          nullable: true
          description: >-
            Quote currency of the asset's preferred market (e.g. USDT, USDC,
            CAD), labelling the price fields. Resolved from the asset's current
            markets, not stored per trade. Null when the asset has no active
            market.
        timeOfEvent:
          type: string
          format: date-time
          description: Timestamp used for event ordering and time filters.
        assumed:
          type: boolean
          description: >-
            True when the system inferred this event from position progression
            rather than direct source text.
        retrospective:
          type: boolean
          description: True when the source described the action after it happened.
        autoGenerated:
          type: boolean
          description: >-
            True when the system generated this event, usually to close stale or
            superseded position state.
        positionId:
          type: integer
          description: >-
            Related position ID. Use position reads to hydrate performance
            details.
        traderId:
          type: integer
          description: Related trader ID. Use trader discovery for display metadata.
        assetId:
          type: integer
          description: Related asset ID. Use asset discovery for display metadata.
        messageId:
          type: string
          nullable: true
          description: >-
            Related Source Message ID when this event has source-message
            context.
      required:
        - id
        - type
        - price
        - quoteSymbol
        - timeOfEvent
        - assumed
        - retrospective
        - autoGenerated
        - positionId
        - traderId
        - assetId
        - messageId
    AppliedTimeRange:
      type: object
      properties:
        startTime:
          type: string
          nullable: true
          format: date-time
        endTime:
          type: string
          nullable: true
          format: date-time
      required:
        - startTime
        - endTime
    Error:
      type: object
      properties:
        code:
          type: string
          description: Stable machine-readable error code.
          example: UNAUTHORIZED
        message:
          type: string
          description: Human-readable explanation for the failure.
          example: Unauthorized
        details:
          nullable: true
          description: Optional structured details for validation or input failures.
      required:
        - code
        - message
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key issued by Centaur.
      x-default: <api-key>

````