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

# Get a conversation

> One conversation with its summary, the questions the customer asked, its task, and the full transcript. Very long conversations are cut, and truncated says so. Customer API.




## OpenAPI

````yaml /openapi.yaml get /conversations/{conversation_id}
openapi: 3.0.0
info:
  title: Answering Agent API
  description: >
    The Customer API reads a team's conversations, transcripts, recordings,
    tasks, contacts, and reports. It also updates tasks and adds notes to them.
    The Partner API lets reseller accounts manage organizations, users,
    locations, partner links, and embed tokens. Both use an X-API-KEY header.
    Requests from this playground go to production.
  version: 1.0.0
servers:
  - url: https://answeringagent.com/api/v1
    description: Production
security: []
tags:
  - name: Account
    description: Customer API. Your team, phone lines, and members.
  - name: Conversations
    description: >-
      Customer API. Calls, texts, website chats, and emails, with transcripts
      and recordings.
  - name: Tasks
    description: >-
      Customer API. Follow-up tasks. Read them, update their status or assignee,
      and add notes.
  - name: Contacts
    description: Customer API. Your customers.
  - name: Reports
    description: Customer API. Report metrics, totals, and breakdowns.
  - name: Organizations
    description: Partner API, reseller accounts only.
  - name: Users
    description: Partner API, reseller accounts only.
  - name: Locations
    description: Partner API, reseller accounts only.
  - name: Account Linking
    description: Partner API, reseller accounts only.
  - name: Embed Tokens
    description: Partner API, reseller accounts only.
paths:
  /conversations/{conversation_id}:
    get:
      tags:
        - Conversations
      summary: Get a conversation
      description: >
        One conversation with its summary, the questions the customer asked, its
        task, and the full transcript. Very long conversations are cut, and
        truncated says so. Customer API.
      operationId: getConversation
      parameters:
        - $ref: '#/components/parameters/ConversationId'
      responses:
        '200':
          description: The conversation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationDetail'
        '400':
          $ref: '#/components/responses/CustomerBadRequest'
        '401':
          $ref: '#/components/responses/CustomerUnauthorized'
        '403':
          $ref: '#/components/responses/CustomerForbidden'
        '404':
          $ref: '#/components/responses/CustomerNotFound'
        '405':
          $ref: '#/components/responses/CustomerMethodNotAllowed'
        '429':
          $ref: '#/components/responses/CustomerRateLimited'
      security:
        - ApiKeyAuth: []
components:
  parameters:
    ConversationId:
      in: path
      name: conversation_id
      required: true
      schema:
        type: integer
        minimum: 1
      description: The conversation ID.
  schemas:
    ConversationDetail:
      allOf:
        - $ref: '#/components/schemas/Conversation'
        - type: object
          properties:
            questions:
              type: array
              items:
                type: object
                properties:
                  question:
                    type: string
                  answer:
                    type: string
                    nullable: true
                  answered:
                    type: boolean
            task:
              anyOf:
                - $ref: '#/components/schemas/TaskDetail'
                - $ref: '#/components/schemas/NullValue'
              description: The task this conversation created. Null when it created none.
            transcript:
              type: object
              nullable: true
              description: >-
                The spoken transcript of a phone call. Null for texts, chats,
                and emails.
              properties:
                truncated:
                  type: boolean
                omitted_earlier_turns:
                  type: integer
                turns:
                  type: array
                  items:
                    type: object
                    properties:
                      speaker:
                        type: string
                        enum:
                          - ai
                          - customer
                          - unknown
                      text:
                        type: string
                      seconds_into_call:
                        type: number
                        nullable: true
            written:
              type: object
              nullable: true
              description: Texts, chat messages, and emails in the conversation.
              properties:
                truncated:
                  type: boolean
                omitted_messages:
                  type: integer
                messages:
                  type: array
                  items:
                    type: object
                    properties:
                      from:
                        type: string
                        enum:
                          - customer
                          - business
                      channel:
                        type: string
                        enum:
                          - phone
                          - text
                          - web_chat
                          - email
                      text:
                        type: string
                      sent_at:
                        type: string
                        format: date-time
                        nullable: true
                      not_delivered:
                        type: boolean
                        description: >-
                          Present and true when a business message did not reach
                          the customer.
    Conversation:
      type: object
      properties:
        id:
          type: integer
          example: 184532
        url:
          type: string
          example: https://answeringagent.com/dashboard/conversations/184532
        channel:
          anyOf:
            - $ref: '#/components/schemas/Channel'
            - $ref: '#/components/schemas/NullValue'
        channels:
          type: array
          description: >
            Every channel the conversation happened on. A call the customer
            replied to by text lists phone and text. Texts the AI sent during or
            after a call appear in written.messages but don't add text.
          items:
            $ref: '#/components/schemas/Channel'
        started_at:
          type: string
          format: date-time
          nullable: true
        last_activity_at:
          type: string
          format: date-time
          nullable: true
        title:
          type: string
          nullable: true
          example: Cancel monthly membership
        summary:
          type: string
          nullable: true
        category:
          anyOf:
            - $ref: '#/components/schemas/Category'
            - $ref: '#/components/schemas/NullValue'
        customer:
          $ref: '#/components/schemas/CustomerRef'
        phone_line:
          anyOf:
            - $ref: '#/components/schemas/PhoneLine'
            - $ref: '#/components/schemas/NullValue'
        duration_seconds:
          type: integer
          nullable: true
          example: 214
        has_recording:
          type: boolean
          description: >
            True when GET /conversations/{conversation_id}/recording has audio
            to stream. For some calls the recording provider stores the audio
            and can delete it, so true can still get a 404.
    TaskDetail:
      allOf:
        - $ref: '#/components/schemas/Task'
        - type: object
          properties:
            description:
              type: string
              nullable: true
              maxLength: 5000
    NullValue:
      description: No value.
      type: object
      nullable: true
      enum:
        - null
    CustomerError:
      type: object
      required:
        - error
        - code
      properties:
        error:
          type: string
          description: A message for people. The text can change.
          example: That conversation is not available.
        code:
          type: string
          description: A stable code to branch on.
          enum:
            - invalid_request
            - unauthorized
            - forbidden
            - not_found
            - method_not_allowed
            - conflict
            - unprocessable
            - rate_limited
            - internal
          example: not_found
        issues:
          type: array
          description: >-
            Present when code is invalid_request. One entry for each input that
            failed validation.
          items:
            type: object
            properties:
              path:
                type: array
                items: {}
              message:
                type: string
    Channel:
      type: string
      enum:
        - phone
        - text
        - web_chat
        - email
    Category:
      type: string
      description: >
        A category key. Conversations, tasks, and reports share one list. A form
        task has form. GET /reports/metrics lists every key with its label under
        categories. Older records can have a retired key that is not in that
        list.
      example: cancellation
    CustomerRef:
      type: object
      properties:
        name:
          type: string
          nullable: true
          example: Dana Ruiz
        phone:
          type: string
          nullable: true
          example: '+15125550118'
        email:
          type: string
          nullable: true
          example: dana.ruiz@example.com
    PhoneLine:
      type: object
      properties:
        id:
          type: integer
          example: 2181
        name:
          type: string
          nullable: true
          example: Westside Wash
        phone_number:
          type: string
          nullable: true
          example: '+15125550142'
    Task:
      type: object
      properties:
        id:
          type: string
          example: conversation-184532
        url:
          type: string
          example: https://answeringagent.com/dashboard/conversations/184532
        title:
          type: string
          nullable: true
        status:
          $ref: '#/components/schemas/TaskStatus'
        assignee:
          anyOf:
            - $ref: '#/components/schemas/Person'
            - $ref: '#/components/schemas/NullValue'
        category:
          anyOf:
            - $ref: '#/components/schemas/Category'
            - $ref: '#/components/schemas/NullValue'
        priority:
          type: string
          enum:
            - low
            - medium
            - high
            - urgent
            - normal
        created_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the source conversation started or the form was submitted. Not
            when the AI created the task.
        customer:
          allOf:
            - $ref: '#/components/schemas/CustomerRef'
          description: >-
            From the conversation's contact, or from the form submission for a
            form task.
        conversation:
          type: object
          nullable: true
          properties:
            id:
              type: integer
              example: 184532
            url:
              type: string
            channel:
              anyOf:
                - $ref: '#/components/schemas/Channel'
                - $ref: '#/components/schemas/NullValue'
            phone_line:
              anyOf:
                - $ref: '#/components/schemas/PhoneLine'
                - $ref: '#/components/schemas/NullValue'
        form:
          type: object
          nullable: true
          properties:
            title:
              type: string
              nullable: true
    TaskStatus:
      type: string
      enum:
        - open
        - in_progress
        - on_hold
        - done
    Person:
      type: object
      description: >-
        A team member. The id is what assigned_to and report
        filters.team_member_ids take.
      properties:
        id:
          type: integer
          example: 9034
        name:
          type: string
          example: Priya Shah
  responses:
    CustomerBadRequest:
      description: An input is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerError'
    CustomerUnauthorized:
      description: >-
        The X-API-KEY header is missing, the key is wrong or revoked, or its
        owner was deactivated.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerError'
    CustomerForbidden:
      description: The key's owner is not an owner, admin, or manager on the team.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerError'
    CustomerNotFound:
      description: The record does not exist, or the key's owner cannot see it.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerError'
    CustomerMethodNotAllowed:
      description: The endpoint does not support that HTTP method. Nothing changed.
      headers:
        Allow:
          description: The methods the endpoint supports, such as GET, HEAD, OPTIONS.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerError'
          example:
            error: This endpoint accepts GET.
            code: method_not_allowed
    CustomerRateLimited:
      description: More than 120 requests in a minute for this user.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerError'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````

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