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

# Get Task Thread

> Get task conversation thread with user and assistant messages

Retrieve the root conversation thread for a task/thread ID as a simple array. When you continue a conversation by passing the same invocation `id`, the new turns are appended here under that same task/thread ID.

## Path Parameters

<ParamField path="task_id" type="string" required>
  Unique identifier of the task (UUID format)
</ParamField>

## Response

Returns an array of message objects representing the root conversation:

<ResponseField name="[array]" type="array">
  Array of conversation messages

  <Expandable title="Message Object">
    <ResponseField name="id" type="string">
      Unique message identifier (UUID)
    </ResponseField>

    <ResponseField name="role" type="string">
      Message role: `user` or `assistant`
    </ResponseField>

    <ResponseField name="content" type="string">
      Message content text
    </ResponseField>

    <ResponseField name="created_at" type="integer">
      Unix timestamp of message creation
    </ResponseField>
  </Expandable>
</ResponseField>

## Example Request

```bash theme={"dark"}
curl -X GET -H "x-api-key: <your-api-key>" \
  "https://api.xpander.ai/v1/tasks/<task-id>/thread"
```

## Example Response

Multi-turn conversation thread:

```json theme={"dark"}
[
  {
    "id": "<task-id>_user_1",
    "role": "user",
    "content": "Reply with exactly FIRST",
    "created_at": 1774226722
  },
  {
    "id": "<task-id>_agent_1",
    "role": "assistant",
    "content": "FIRST",
    "created_at": 1774226726
  },
  {
    "id": "<task-id>_user_2",
    "role": "user",
    "content": "Reply with exactly SECOND",
    "created_at": 1774226726
  },
  {
    "id": "<task-id>_agent_2",
    "role": "assistant",
    "content": "SECOND",
    "created_at": 1774226730
  }
]
```

## Parsing Examples

**Pretty print the conversation:**

```bash theme={"dark"}
curl -s -H "x-api-key: <your-api-key>" \
  "https://api.xpander.ai/v1/tasks/<task-id>/thread" | \
  jq '.[] | "\(.role): \(.content)"'
```

**Count messages in the thread:**

```bash theme={"dark"}
curl -s -H "x-api-key: <your-api-key>" \
  "https://api.xpander.ai/v1/tasks/<task-id>/thread" | \
  jq 'length'
```

**Extract the latest assistant response:**

```bash theme={"dark"}
curl -s -H "x-api-key: <your-api-key>" \
  "https://api.xpander.ai/v1/tasks/<task-id>/thread" | \
  jq '[.[] | select(.role == "assistant")][-1].content'
```

## Use Cases

* **View conversation history** - See the complete interaction between user and agent
* **Review agent responses** - Understand what the agent said and its reasoning
* **Track token usage** - Monitor LLM API costs per message
* **Audit conversations** - Review interaction history for compliance

## Notes

* Returns only the root task's messages (excludes sub-task buckets)
* Continuing a conversation with the same invocation `id` appends new turns to this array
* For multi-agent workflows with sub-tasks, use [Get Task Thread (Full)](/api-reference/v1/tasks/get-thread-full)
* Messages are ordered chronologically by creation time


## OpenAPI

````yaml GET /v1/tasks/{task_id}/thread
openapi: 3.1.0
info:
  title: xpander.ai API Service
  description: |2-

        The xpander.ai API Service provides a unified REST API for managing AI agents,
        executing tasks, managing knowledge bases, and integrating with external systems.
        
        Features:
        - Agent Management: Create, update, deploy, and delete AI agents
        - Task Execution: Invoke agents with support for sync, async, and streaming modes
        - Knowledge Bases: Manage knowledge bases and documents for RAG workflows
        - Tools: Discover, connect, and attach tools (connectors, custom functions, MCP servers, sub-agents, workflows) to agents and workflows
        - MCP Integration: Model Context Protocol support for standardized AI interactions
        
        Authentication: All endpoints require authentication via either an API key (`x-api-key`) or an OAuth2 JWT (`Authorization: Bearer <jwt>`).
        
  version: '0.001'
servers:
  - url: https://api.xpander.ai
security: []
paths:
  /v1/tasks/{task_id}/thread:
    get:
      tags:
        - API v1
        - Tasks
        - Tasks CRUD
      summary: Get Task'S Thread
      description: Get Task's thread
      operationId: Get_Task_s_thread_v1_tasks__task_id__thread_get
      parameters:
        - name: task_id
          in: path
          required: true
          schema:
            type: string
            title: Task Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      description: API Key for authentication
      in: header
      name: x-api-key

````