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

# Read thread

> Read a past chat thread.



## OpenAPI

````yaml /api-reference/openapi.json get /chat/threads/{threadId}
openapi: 3.1.0
info:
  title: Dench API
  version: 1.0.0
  description: >-
    Versioned Dench workspace API. The operation registry is shared with the
    Dench CLI parity layer, so every CLI command maps to an endpoint here.
servers:
  - url: https://www.dench.com/api/v1
security: []
tags:
  - name: agent-config
    description: Agent Config operations.
  - name: approvals
    description: Approvals operations.
  - name: apps
    description: Apps operations.
  - name: auth
    description: Auth operations.
  - name: billing
    description: Billing operations.
  - name: browser
    description: Browser operations.
  - name: chat
    description: Chat operations.
  - name: crm
    description: Crm operations.
  - name: email
    description: Email operations.
  - name: files
    description: Files operations.
  - name: gateway
    description: Gateway operations.
  - name: local
    description: Local operations.
  - name: memory
    description: Memory operations.
  - name: meta
    description: Meta operations.
  - name: routines
    description: Routines operations.
  - name: workspace
    description: Workspace operations.
paths:
  /chat/threads/{threadId}:
    get:
      tags:
        - chat
      summary: Read thread
      description: Read a past chat thread.
      operationId: chat_read
      parameters:
        - name: threadId
          in: path
          required: true
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  thread:
                    type: object
                    properties:
                      threadId:
                        type: string
                      title:
                        type: string
                      lastMessageAt:
                        type: number
                      createdAt:
                        type: number
                      status:
                        type: string
                        enum:
                          - idle
                          - streaming
                          - error
                      visibility:
                        type: string
                        enum:
                          - private
                          - shared
                      createdByUserId:
                        type: string
                      archivedAt:
                        anyOf:
                          - type: number
                          - type: 'null'
                      fileContextPath:
                        anyOf:
                          - type: string
                          - type: 'null'
                      parentThreadId:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: Parent thread when this is a spawned sub-agent.
                      nestingDepth:
                        anyOf:
                          - type: number
                          - type: 'null'
                      summary:
                        anyOf:
                          - type: string
                          - type: 'null'
                      activeRunId:
                        anyOf:
                          - type: string
                          - type: 'null'
                    required:
                      - threadId
                      - title
                      - lastMessageAt
                      - createdAt
                      - status
                      - visibility
                      - createdByUserId
                      - archivedAt
                      - fileContextPath
                      - parentThreadId
                      - nestingDepth
                      - summary
                      - activeRunId
                    additionalProperties: false
                  messages:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        role:
                          type: string
                          enum:
                            - user
                            - assistant
                            - system
                        createdAt:
                          type: number
                        updatedAt:
                          type: number
                        text:
                          type: string
                        runId:
                          anyOf:
                            - type: string
                            - type: 'null'
                        status:
                          anyOf:
                            - type: string
                              enum:
                                - streaming
                                - complete
                                - error
                                - canceled
                            - type: 'null'
                        revision:
                          type: number
                        isDraft:
                          type: boolean
                      required:
                        - id
                        - role
                        - createdAt
                        - updatedAt
                        - text
                        - runId
                        - status
                        - revision
                        - isDraft
                      additionalProperties: false
                required:
                  - thread
                  - messages
                additionalProperties: false
              example:
                thread:
                  threadId: th_abc123
                  title: Deploy checklist
                  lastMessageAt: 1765526400000
                  createdAt: 1765526000000
                  status: idle
                  visibility: private
                  createdByUserId: us_xyz789
                  archivedAt: null
                  fileContextPath: null
                  parentThreadId: null
                  nestingDepth: null
                  summary: null
                  activeRunId: null
                messages:
                  - id: cm_def456
                    role: user
                    createdAt: 1765526400000
                    updatedAt: 1765526400000
                    text: How do we deploy?
                    runId: null
                    status: complete
                    revision: 0
                    isDraft: false
                  - id: cm_ghi789
                    role: assistant
                    createdAt: 1765526460000
                    updatedAt: 1765526460000
                    text: Push to main; Vercel auto-deploys.
                    runId: rn_jkl012
                    status: complete
                    revision: 1
                    isDraft: false
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - DenchApiKey: []
        - AgentSession: []
components:
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Unauthorized:
      description: Missing or invalid authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: Operation or resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    InternalError:
      description: Server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    ApiError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
            - type
            - code
          properties:
            message:
              type: string
            type:
              type: string
            code:
              type: string
            details: {}
  securitySchemes:
    DenchApiKey:
      type: http
      scheme: bearer
      bearerFormat: DENCH_API_KEY
      description: >-
        Workspace-scoped Dench API key from workspace settings. This is the same
        key used by DENCH_API_KEY in sandboxes.
    AgentSession:
      type: http
      scheme: bearer
      bearerFormat: dch_agent_*
      description: >-
        Agent session token created by `dench signin`. Gateway-backed routes
        exchange this token for the workspace gateway key.

````