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

# Get Conversation

> Retrieve the message history of a conversation

This endpoint retrieves the complete message history of an existing conversation. Use this to display previous messages when resuming a conversation or to review conversation content.

### Path Parameters

<ParamField path="uuid" type="string" required>
  The unique UUID identifier of the conversation to retrieve
</ParamField>

### Response Fields

<ResponseField name="status" type="boolean">
  Indicates whether the request was successful
</ResponseField>

<ResponseField name="history" type="array">
  Array of messages in the conversation, ordered chronologically (oldest first).

  <Expandable title="Message object properties">
    <ResponseField name="role" type="string">
      The message role: `assistant` or `user`
    </ResponseField>

    <ResponseField name="content" type="string">
      The message content
    </ResponseField>

    <ResponseField name="function_calls" type="array">
      Optional. Array of function calls made by the assistant during this message (e.g., calendar bookings, API calls).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="variables" type="object">
  Custom variables associated with the conversation (key-value pairs). Returns `null` if no variables are set.
</ResponseField>

<ResponseField name="external_identifier" type="string">
  Your external system's identifier for this conversation. Only present for `api` type conversations that have an external identifier set.
</ResponseField>

<ResponseField name="whatsapp_sender" type="object">
  The WhatsApp business sender information. Only present for `whatsapp` type conversations.

  <Expandable title="whatsapp_sender properties">
    <ResponseField name="name" type="string">
      The WhatsApp sender's display name (business name)
    </ResponseField>

    <ResponseField name="phone" type="string">
      The WhatsApp sender's phone number
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="customer" type="object">
  The customer information. Only present for `whatsapp` type conversations.

  <Expandable title="customer properties">
    <ResponseField name="name" type="string">
      The customer's name (if available)
    </ResponseField>

    <ResponseField name="phone" type="string">
      The customer's phone number
    </ResponseField>
  </Expandable>
</ResponseField>

### Error Responses

<ResponseField name="status" type="boolean">
  Will be `false` when an error occurs
</ResponseField>

<ResponseField name="error" type="string">
  Error message. Possible values:

  * `Conversation not found` - The provided UUID does not match any conversation
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://app.autocalls.ai/api/conversations/7c9e6679-7425-40de-944b-e07fc1f90ae7"
  ```

  ```javascript JavaScript theme={null}
  const conversationId = '7c9e6679-7425-40de-944b-e07fc1f90ae7';

  const response = await fetch(
    `https://app.autocalls.ai/api/conversations/${conversationId}`
  );

  const data = await response.json();
  console.log(data.history);
  ```

  ```python Python theme={null}
  import requests

  conversation_id = '7c9e6679-7425-40de-944b-e07fc1f90ae7'

  response = requests.get(
      f'https://app.autocalls.ai/api/conversations/{conversation_id}'
  )

  data = response.json()
  print(data['history'])
  ```
</RequestExample>

<ResponseExample>
  ```json 200 Success theme={null}
  {
    "status": true,
    "history": [
      {
        "role": "assistant",
        "content": "Hello! Welcome to our support. How can I help you today?"
      },
      {
        "role": "user",
        "content": "I'd like to schedule a demo"
      },
      {
        "role": "assistant",
        "content": "I'd be happy to help you schedule a demo! I have availability tomorrow at 2 PM or Thursday at 10 AM. Which works better for you?",
        "function_calls": [
          {
            "name": "check_calendar_availability",
            "arguments": {
              "date_range": "next_7_days"
            },
            "result": {
              "available_slots": ["2025-01-10 14:00", "2025-01-12 10:00"]
            }
          }
        ]
      },
      {
        "role": "user",
        "content": "Thursday at 10 AM works for me"
      },
      {
        "role": "assistant",
        "content": "I've scheduled your demo for Thursday, January 12th at 10 AM. You'll receive a calendar invitation shortly. Is there anything specific you'd like us to cover during the demo?",
        "function_calls": [
          {
            "name": "book_appointment",
            "arguments": {
              "datetime": "2025-01-12T10:00:00",
              "title": "Product Demo"
            },
            "result": {
              "success": true,
              "booking_id": "abc123"
            }
          }
        ]
      }
    ],
    "variables": {
      "user_name": "Jane Smith",
      "plan": "premium"
    }
  }
  ```

  ```json 200 API Conversation with External ID theme={null}
  {
    "status": true,
    "history": [
      {
        "role": "assistant",
        "content": "Hi! I'm following up on your recent inquiry. How can I help you today?"
      },
      {
        "role": "user",
        "content": "I wanted to know more about your enterprise plan"
      }
    ],
    "variables": {
      "lead_id": "12345",
      "source": "website"
    },
    "external_identifier": "crm-lead-12345"
  }
  ```

  ```json 200 WhatsApp Conversation theme={null}
  {
    "status": true,
    "history": [
      {
        "role": "user",
        "content": "Hi, I need help with my order"
      },
      {
        "role": "assistant",
        "content": "Hello! I'd be happy to help you with your order. Could you please provide your order number?"
      }
    ],
    "variables": null,
    "whatsapp_sender": {
      "name": "Acme Corp Support",
      "phone": "+14155551234"
    },
    "customer": {
      "name": "John Doe",
      "phone": "+14155559876"
    }
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "status": false,
    "error": "Conversation not found"
  }
  ```
</ResponseExample>

## Variables

All conversations include a `variables` field containing custom key-value pairs set when the conversation was created. Use variables to:

* Store user context (name, plan, preferences)
* Track lead information from your forms
* Pass custom data for personalized AI responses

## API Conversations

For API-created conversations, the response may include an `external_identifier` field if one was set when creating the conversation. This allows you to:

* Link conversations to your CRM leads or contacts
* Track conversations across your internal systems
* Look up conversations by your external reference

## WhatsApp Conversations

For WhatsApp conversations, the response includes additional fields:

* **whatsapp\_sender**: The business WhatsApp number that handled the conversation (name and phone)
* **customer**: The customer who initiated or received the conversation (name and phone)

These fields help you identify the parties involved when integrating WhatsApp conversations with your CRM or support systems.

## Use Cases

* **Resume conversations**: Retrieve history when a user returns to continue a conversation
* **Analytics**: Review conversation content for quality assurance
* **CRM Integration**: Use `external_identifier` and `variables` to sync with your CRM
* **WhatsApp tracking**: Match conversations to customers using their phone numbers
