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

# Stream conversation events

> Streams events from an active or recently completed conversation over Server-Sent Events (SSE). This can be used to monitor the conversation in real time, e.g. to fetch the live transcript.

- Events are streamed as newline-delimited JSON via Server-Sent Events (SSE).
- The stream starts as soon as events are available.
- After a conversation ends, the stream remains active for 24 hours.
- See the [Conversation events schema](../conversation-events) for event types, schema, and usage.
- See the [Real-time events example](../real-time-events-example) for the live transcript usage.
- See the [Post-analysis example](../post-analysis-example) for a simplified server-side usage.



## OpenAPI

````yaml api-reference/openapi3.json get /conversations/{conversation_id}/events
openapi: 3.0.0
info:
  title: Operator API
  version: '2025-06-19'
  description: API for Operator
servers:
  - url: https://api.operator.xyz
security: []
paths:
  /conversations/{conversation_id}/events:
    get:
      tags:
        - Conversations
      summary: Stream conversation events
      description: >-
        Streams events from an active or recently completed conversation over
        Server-Sent Events (SSE). This can be used to monitor the conversation
        in real time, e.g. to fetch the live transcript.


        - Events are streamed as newline-delimited JSON via Server-Sent Events
        (SSE).

        - The stream starts as soon as events are available.

        - After a conversation ends, the stream remains active for 24 hours.

        - See the [Conversation events schema](../conversation-events) for event
        types, schema, and usage.

        - See the [Real-time events example](../real-time-events-example) for
        the live transcript usage.

        - See the [Post-analysis example](../post-analysis-example) for a
        simplified server-side usage.
      parameters:
        - name: Operator-Version
          in: header
          required: true
          schema:
            type: string
            enum:
              - '2025-06-19'
          description: The API version to use.
          example: '2025-06-19'
        - name: conversation_id
          in: path
          required: true
          schema:
            description: Unique identifier for the conversation, e.g. `conv_8qm9JBCiTe7`.
            type: string
          description: Unique identifier for the conversation, e.g. `conv_8qm9JBCiTe7`.
      responses:
        '200':
          description: Successful response.
          content:
            text/event-stream:
              schema:
                description: >-
                  Events emitted by the agent system in response to client input
                  or internal agent logic.


                  Typically the conversation begins with a setup when the agent
                  fetches the conversation context and initializes.


                  The conversation's 'start' and 'end' indicate the live
                  session's bounds - when the user was actively connected
                  through phone or chat. In case of an async chat the bounds are
                  determined automatically.


                  User's and agent's messages are recorded as they are processed
                  by the agent. Agent's speech is streamed as partial updates,
                  terminated with a final message. User's messages are captured
                  as a single event.
                properties:
                  id:
                    description: Unique identifier for the event, e.g. `ev_8qm9JBCiTe7`.
                    type: string
                  created_at:
                    description: When the event was created.
                    format: date-time
                    type: string
                  agent_id:
                    description: >-
                      Version-specific identifier for the agent that handled the
                      conversation, e.g. `ca_8qm9JBCiTe7@v0`.
                    type: string
                  livemode:
                    description: Whether the conversation is in livemode.
                    type: boolean
                  conversation_id:
                    description: >-
                      Unique identifier for the conversation, e.g.
                      `conv_8qm9JBCiTe7`.
                    type: string
                  payload:
                    type: object
                    description: >-
                      Check out the [Conversation
                      events](/docs/api-reference/conversation-events)
                      documentation page for the full description of the payload
                      types.
                  experimental:
                    description: Whether this event is experimental.
                    type: boolean
                required:
                  - id
                  - created_at
                  - agent_id
                  - livemode
                  - conversation_id
                  - payload
                  - experimental
                type: object
        '404':
          description: The requested resource was not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  data: {}
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key

````