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

# Get Conversation by ID

> Retrieve a single SMS conversation and its messages by its ID

<Info>
  **Enterprise Feature** - SMS is only available on Enterprise plans. Contact your Bland representative for access.
</Info>

### Headers

<ParamField header="authorization" type="string" required>
  Your API key for authentication
</ParamField>

### Path Parameters

<ParamField path="id" type="string" required>
  The unique ID of the conversation to retrieve.
</ParamField>

### Response

<ResponseField name="data" type="object">
  The full conversation object, including its messages.
</ResponseField>

<ResponseField name="data.id" type="string">
  The unique ID of the conversation.
</ResponseField>

<ResponseField name="data.created_at" type="string">
  ISO timestamp for when the conversation was created.
</ResponseField>

<ResponseField name="data.updated_at" type="string">
  ISO timestamp for when the conversation was last updated.
</ResponseField>

<ResponseField name="data.user_number" type="string">
  The user's phone number in the conversation.
</ResponseField>

<ResponseField name="data.agent_number" type="string">
  The assistant's phone number in the conversation.
</ResponseField>

<ResponseField name="data.variables" type="object|null">
  Variables stored on the conversation, or `null` if none.
</ResponseField>

<ResponseField name="data.current_node_id" type="string|null">
  The current node ID in the pathway, if any.
</ResponseField>

<ResponseField name="data.curr_pathway_id" type="string|null">
  The UUID of the current pathway being used in this conversation.
</ResponseField>

<ResponseField name="data.curr_pathway_version" type="string|null">
  The specific version of the pathway being used (e.g., "latest", "v1.0").
</ResponseField>

<ResponseField name="data.timed_out_at" type="string|null">
  ISO timestamp when the conversation timed out due to inactivity, if applicable. When set, the conversation will not respond to new user messages but will store them.
</ResponseField>

<ResponseField name="data.is_active" type="boolean">
  Whether the conversation is still active.
</ResponseField>

<ResponseField name="data.effective_channel" type="string|null">
  The resolved delivery channel for this conversation: `"sms"`, `"rcs"`, or `"whatsapp"`. Determined based on the input channel and whether the messaging service supports RCS.
</ResponseField>

<ResponseField name="data.summary" type="string|null">
  AI-generated conversation summary, produced when the conversation ends and a summary prompt is configured on the SMS number.
</ResponseField>

<ResponseField name="data.citation_variables" type="object|null">
  Extracted citation variable values from the conversation transcript. Keys are variable names, values are the extracted data. Only populated when citation schemas are configured.
</ResponseField>

<ResponseField name="data.disposition_tag" type="string|null">
  The first successful outcome result tag. Provides a quick classification of the conversation outcome without needing to inspect the full `disposition_logs`.
</ResponseField>

<ResponseField name="data.messages" type="array">
  An array of message objects in the conversation, sorted chronologically.
</ResponseField>

<ResponseField name="data.messages[].id" type="string">
  Unique ID of the message.
</ResponseField>

<ResponseField name="data.messages[].created_at" type="string">
  ISO timestamp of when the message was created.
</ResponseField>

<ResponseField name="data.messages[].message" type="string">
  The message body.
</ResponseField>

<ResponseField name="data.messages[].from" type="string">
  Sender phone number.
</ResponseField>

<ResponseField name="data.messages[].to" type="string">
  Receiver phone number.
</ResponseField>

<ResponseField name="data.messages[].sender" type="string">
  Either `"USER"` or `"AGENT"` to indicate who sent the message.
</ResponseField>

<ResponseField name="data.messages[].status" type="string">
  Delivery status of the message. Possible values: `"pending"`, `"queued"`, `"sent"`, `"delivered"`, `"read"`, `"failed"`, `"undelivered"`. The `"read"` status is available for RCS and WhatsApp channels.
</ResponseField>

<ResponseField name="data.messages[].error_code" type="string|null">
  Twilio error code if the message failed, otherwise `null`.
</ResponseField>

<ResponseField name="data.disposition_logs" type="array">
  An array of outcome run results for this conversation. Each entry represents one outcome that was evaluated when the conversation ended.
</ResponseField>

<ResponseField name="data.disposition_logs[].disposition_id" type="string">
  The ID of the outcome that was run.
</ResponseField>

<ResponseField name="data.disposition_logs[].snippet_version" type="number">
  The version of the outcome's transformation code that was executed.
</ResponseField>

<ResponseField name="data.disposition_logs[].status" type="string">
  The execution status. `"COMPLETE"` indicates the outcome ran successfully, `"ERROR"` indicates a failure.
</ResponseField>

<ResponseField name="data.disposition_logs[].result" type="object|null">
  The extracted outcome values, or `null` if the run failed.
</ResponseField>

<ResponseField name="data.disposition_logs[].error" type="string|null">
  Error message if the outcome run failed, otherwise `null`.
</ResponseField>

<ResponseField name="data.disposition_logs[].exec_time" type="number">
  Execution time in milliseconds.
</ResponseField>

<ResponseField name="errors" type="null|array">
  `null` on success, or a list of error objects if a failure occurred.
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": {
      "id": "convo_abc123",
      "created_at": "2025-05-13T20:50:59.233Z",
      "updated_at": "2025-05-13T20:50:59.233Z",
      "user_id": "user_abc123",
      "user_number": "+15550001111",
      "agent_number": "+15550002222",
      "inbound_id": 123456,
      "variables": null,
      "current_node_id": null,
      "curr_pathway_id": "pathway_abc123",
      "curr_pathway_version": "latest",
      "timed_out_at": null,
      "last_message_at": "2025-05-13T20:50:59.233Z",
      "is_active": true,
      "effective_channel": "sms",
      "summary": null,
      "citation_variables": null,
      "disposition_tag": null,
      "messages": [
        {
          "created_at": "2025-05-13T20:50:59.708Z",
          "message": "<Call Connected>",
          "from": "+15550002222",
          "to": "+15550001111",
          "sender": "USER",
          "id": 100001,
          "status": null,
          "error_code": null
        },
        {
          "created_at": "2025-05-13T20:51:00.917Z",
          "message": "Hey, what's up?",
          "from": "+15550002222",
          "to": "+15550001111",
          "sender": "AGENT",
          "id": 100002,
          "status": "delivered",
          "error_code": null
        }
      ],
      "disposition_logs": [
        {
          "disposition_id": "d1234567-abcd-1234-efgh-123456789012",
          "snippet_version": 1,
          "status": "COMPLETE",
          "result": {
            "appointmentBooked": true,
            "callDisposition": "confirmed"
          },
          "error": null,
          "exec_time": 1234
        }
      ]
    },
    "errors": null
  }
  ```
</ResponseExample>

***

Docs for agents: [llms.txt](/llms.txt)
