---
title: "Get thread status and messages"
method: GET
path: "/v4/agents/{agent_id}/threads/{thread_ref}/"
tags: ["Agents"]
---

# Get thread status and messages

`GET /v4/agents/{agent_id}/threads/{thread_ref}/`

## Request

- The document declares no server URL.
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Retrieve the current status and messages of an agent thread.

## Path parameters

- `agent_id` string, uuid, required: External ID of this agent, used on the simple agent thread API
- `thread_ref` string, required

## Query parameters

- `account_id` integer

## Response `200`

- PublicSimpleAgentThreadDetail: Public-facing thread details with limited message info.
  - `id` integer, required
  - `title` string, required
  - `visibility` 'private' | 'account_read' | 'account_write', required: * `private` - Private * `account_read` - Account read * `account_write` - Account write
  - `externalReferenceId` string, required
  - `account` integer, required
  - `agent` string, uuid, required: External ID of this agent, used on the simple agent thread API
  - `currentAgent` string, uuid, required: External ID of this agent, used on the simple agent thread API
  - `user` integer, required
  - `executionStatus` 'idle' | 'running' | 'completed' | 'failed': * `idle` - Idle * `running` - Running * `completed` - Completed * `failed` - Failed
  - `taxonomyClassification` TaxonomyClassification, required
    - `id` integer, required
    - `account` integer, required
    - `thread` integer, required: Source thread that was classified.
    - `threadExternalReferenceId` string, required
    - `taxonomyAgent` integer, required: Agent owning the taxonomy tree the category belongs to (the classified corpus's source agent).
    - `taxonomyAgentKey` string, required
    - `category` integer, required: Selected taxonomy category.
    - `categoryCode` string, required
    - `categoryName` string, required
    - `classifierThread` integer, nullable, required: Nested taxonomy-agent thread that produced this classification.
    - `classifierThreadExternalReferenceId` string, nullable, required
    - `confidence` number, double, nullable, required
    - `rationale` string, required
    - `rawResult` object, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - `contentType` string, nullable: Lowercased Django model name of the linked object (e.g. 'layout', 'tracking'). Pair with object_id.
  - `objectId` string
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `messages` union[], required
    - union
      - PublicInputMessage
        - `created_at` string, date-time
        - `input_message_id` string, nullable
        - `id` string, nullable
        - `type` 'input_message'
        - `kind` 'user' | 'handover_continuation'
        - `target_agent_id` integer, nullable
        - `reasoning_effort` 'off' | 'low' | 'medium' | 'high' | 'xhigh'
        - `context` object
        - `query` string, required
        - `attachments` InputAttachment[]
          - `id` integer, required
          - `name` string, required
          - `content_type` string, required
          - `byte_size` integer, required
      - OutputMessage
        - `created_at` string, date-time
        - `input_message_id` string, nullable
        - `id` string
        - `type` 'response' | 'rejection'
        - `response` string, required
        - `data` object
        - `attachments` OutputAttachment[]
          - `id` integer, required
          - `name` string, required
          - `content_type` string, required
          - `byte_size` integer, required
          - `workspace_path` string, required
  - `progressText` string, required
  - `progressReasoning` string, required
  - `stream` object, required
    - `enabled` boolean, required
    - `interactive` boolean, required
    - `status` 'unavailable' | 'pending' | 'active', required
    - `expectedInputId` string, nullable, required
    - `websocketUrl` string, nullable, required
    - `endpointToken` string, nullable, required
    - `workspaceFileUrl` string, nullable, required
    - `expiresAt` string, nullable, required

## Other responses

- `400`
- `403`
- `404`

## Changes

- **2026-11-03** `84524f38b6c9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/parcellab/apis/parcellab-api/changes/v4/agents/:agent_id/threads/:thread_ref/get.md)

---

[API](https://skmtc.dev/parcellab/apis/parcellab-api.md) - [All operations](https://skmtc.dev/parcellab/apis/parcellab-api/llms.txt) - [OpenAPI document](https://skmtc.dev/parcellab/apis/parcellab-api/revisions/84524f38b6c9?raw)
