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

# Get a conversation



## OpenAPI

````yaml api-reference/openapi3.json get /conversations/{conversation_id}
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}:
    get:
      tags:
        - Conversations
      summary: Get a conversation
      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:
            application/json:
              schema:
                properties:
                  id:
                    description: >-
                      Unique identifier for the conversation, e.g.
                      `conv_8qm9JBCiTe7`.
                    type: string
                  agent_id:
                    description: >-
                      Version-specific identifier for the agent that handled the
                      conversation, e.g. `ca_8qm9JBCiTe7@v0`.
                    type: string
                  customer_id:
                    type: string
                    default: null
                    description: >-
                      Unique identifier for the customer, e.g.
                      `cus_8qm9JBCiTe7`.
                  channel_type:
                    enum:
                      - phone
                      - chat_realtime
                      - chat_async
                    type: string
                    default: null
                    description: The channel of the conversation.
                  channel:
                    anyOf:
                      - $ref: '#/components/schemas/GetConversationOutPhoneChannel'
                        title: phone_channel
                      - $ref: >-
                          #/components/schemas/GetConversationOutChatRealtimeChannel
                        title: chat_realtime_channel
                      - $ref: >-
                          #/components/schemas/GetConversationOutChatAsyncChannel
                        title: chat_async_channel
                    default: null
                    description: The channel of the conversation.
                  livemode:
                    description: Whether the conversation is in livemode.
                    type: boolean
                  override_config:
                    additionalProperties: true
                    type: object
                    default: null
                    description: >-
                      Partial override for the agent's configuration (e.g.
                      voice, runtime, tools). Follows the same shape as the
                      agent configuration object, but all fields are optional
                      since it is merged into the base config.
                  created_at:
                    description: When the conversation was created.
                    format: date-time
                    type: string
                  started_at:
                    format: date-time
                    type: string
                    default: null
                    description: When the conversation was started.
                  completed_at:
                    format: date-time
                    type: string
                    default: null
                    description: When the conversation was completed.
                  direction:
                    description: The direction of the conversation.
                    enum:
                      - inbound
                      - outbound
                    type: string
                  status:
                    description: The status of the conversation.
                    enum:
                      - queued
                      - in-progress
                      - completed
                      - voicemail
                      - failed
                      - busy
                      - no-answer
                    type: string
                  failure_reason:
                    enum:
                      - dial_failed
                      - number_marked_disconnected
                      - pstn_blocked
                      - dnc_rejected
                      - tcpa_rejected
                      - number_invalid
                      - internal_error
                      - twilio_error
                      - agent_timeout
                      - customer_requested_dnc
                    type: string
                    default: null
                    description: >-
                      The reason for the conversation failure, only set when
                      status is `failed`.
                  custom_fields:
                    additionalProperties: true
                    description: >-
                      Additional key-value pairs attached to the conversation.
                      These can be used to store arbitrary data by procedural
                      agents.
                    type: object
                  summary:
                    type: string
                    default: null
                    description: The summary of the conversation.
                  duration_sec:
                    type: integer
                    default: null
                    description: The duration of the conversation in seconds.
                  sentiment:
                    type: string
                    default: null
                    description: The sentiment of the customer during the conversation.
                required:
                  - id
                  - agent_id
                  - livemode
                  - created_at
                  - direction
                  - status
                  - custom_fields
                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:
  schemas:
    GetConversationOutPhoneChannel:
      description: Response object for a phone channel conversation.
      properties:
        type:
          default: phone
          type: string
          enum:
            - phone
        callee_no:
          type: string
          default: null
          description: The phone number that was called, in E.164 format.
        caller_no:
          type: string
          default: null
          description: The phone number that called, in E.164 format.
        recording_url:
          type: string
          default: null
          description: >-
            The URL of the recording of the conversation, available after the
            conversation is completed. This is a signed URL that will expire in
            1 hour.
      type: object
    GetConversationOutChatRealtimeChannel:
      description: Response object for a chat-channel websocket conversation.
      properties:
        type:
          default: chat_realtime
          type: string
          enum:
            - chat_realtime
        caller_no:
          type: string
          default: null
          description: >-
            The phone number of the caller, in E.164 format. Available only in
            test mode, where it's populated from the customer's data so you can
            test your webhooks.
        callee_no:
          type: string
          default: null
          description: >-
            The phone number of the callee, in E.164 format. Available only in
            test mode, where it's populated from the customer's phone number so
            you can test your webhooks.
      type: object
    GetConversationOutChatAsyncChannel:
      description: Response object for a chat-channel http async conversation.
      properties:
        type:
          default: chat_async
          type: string
          enum:
            - chat_async
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key

````