---
title: "List another user's agent thread messages"
method: GET
path: "/api/observed-agent-threads/{threadId}/messages"
tags: ["Agent Threads"]
---

# List another user's agent thread messages

`GET /api/observed-agent-threads/{threadId}/messages`

## Request

- The document declares no server URL.
- Auth: HTTP bearer

Read-only, whoever owns the thread. Takes can.observe(agent.threads); the response matches the owner's route. `authors` names who wrote the page's messages.

## Path parameters

- `threadId` string, required

## Query parameters

- `role` 'system' | 'user' | 'assistant'
- `limit` string
- `offset` string
- `order` 'asc' | 'desc'

## Response `200`

Response for status 200

- object
  - `messages` object[], required
    - `id` string, required
    - `projectId` string, required
    - `threadId` string, required
    - `runId` string, nullable, required
    - `role` 'system' | 'user' | 'assistant', required
    - `authorPrincipal` object
      - `type` 'user' | 'serviceAccount' | 'system', required
      - `id` string, required
    - `seq` number, required
    - `parts` union[], required
      - union
        - object
          - `type` 'text', required
          - `text` string, required
          - `providerMetadata` union: Any JSON-compatible value.
            - string
            - number
            - boolean
            - unknown[]
              - …
            - object
        - object
          - `type` 'continuation', required
        - object
          - `type` 'reasoning', required
          - `text` string, required
          - `providerMetadata` union: Any JSON-compatible value.
            - string
            - number
            - boolean
            - unknown[]
              - …
            - object
        - object
          - `type` 'step-start', required
        - object
          - `type` 'file', required
          - `fileRef` object, required
            - `blobId` string, required
            - `digest` string, required
            - `sizeBytes` integer, required
            - `fileName` string
            - `mediaType` string
            - `logicalPath` string
          - `providerMetadata` union: Any JSON-compatible value.
            - string
            - number
            - boolean
            - unknown[]
              - …
            - object
        - object
          - `type` 'provider-state', required
          - `providerId` string, required
          - `data` union, required: Any JSON-compatible value.
            - string
            - number
            - boolean
            - unknown[]
              - …
            - object
        - object
          - `context` union, required
            - object
              - …
            - object
              - …
          - `origin` 'ambient' | 'explicit', required
          - `type` 'context', required
        - object
          - `type` 'tool-call', required
          - `toolCallId` string, required
          - `toolName` string, required
          - `dynamic` boolean
          - `providerExecuted` boolean
          - `input` union, required: Any JSON-compatible value.
            - string
            - number
            - boolean
            - unknown[]
              - …
            - object
          - `providerMetadata` union: Any JSON-compatible value.
            - string
            - number
            - boolean
            - unknown[]
              - …
            - object
          - `state` 'output-available', required
          - `output` union, required: Any JSON-compatible value.
            - string
            - number
            - boolean
            - unknown[]
              - …
            - object
        - object
          - `type` 'tool-call', required
          - `toolCallId` string, required
          - `toolName` string, required
          - `dynamic` boolean
          - `providerExecuted` boolean
          - `input` union, required: Any JSON-compatible value.
            - string
            - number
            - boolean
            - unknown[]
              - …
            - object
          - `providerMetadata` union: Any JSON-compatible value.
            - string
            - number
            - boolean
            - unknown[]
              - …
            - object
          - `state` 'output-error', required
          - `errorText` string, required
    - `annotations` object[], required
      - `code` 'step_limit_reached' | 'output_limit_reached', required
      - `severity` 'warning' | 'error', required
      - `scope` 'run', required
      - `message` string, required
    - `compaction` object
      - `checkpointId` string, required
      - `summary` string, required
      - `createdAt` string, required
    - `metadata` union: Any JSON-compatible value.
      - string
      - number
      - boolean
      - unknown[]
        - unknown
      - object
    - `contentVersion` number, required
    - `createdAt` string, required
    - `completedAt` string
  - `authors` object[], required
    - `type` 'user' | 'serviceAccount' | 'system', required
    - `id` string, required
    - `displayName` string
  - `hasMore` boolean, required
  - `total` number, required

## Other responses

- `400`: Response for status 400
- `403`: Response for status 403
- `404`: Response for status 404
- `501`: Response for status 501

## Changes

- **2026-10-21** `54deed43546b`: 1 warning
  - added the new `output_limit_reached` enum value to the `messages/items/annotations/items/code` response property for the response status `200`
- **2026-10-20** `ebeab1520daa`: 1 info
  - endpoint added
- **2026-10-20** `2529bf887ba6`: 1 breaking
  - api path removed without deprecation
- **2026-10-20** `8df745541b3a`: 1 info
  - endpoint added
- **2026-10-14** `59a844bdcb75`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/sixb-ai/apis/sixb-api/changes/api/observed-agent-threads/:threadId/messages/get.md)

---

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