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

# Get messages for a web chat thread

> Get paginated message history for a web chat thread. Requires chat JWT authentication.



## OpenAPI

````yaml get /api/v1/chat/threads/{threadId}/messages
openapi: 3.0.0
info:
  version: 1.0.0
  title: Feather AI API
servers:
  - url: https://prod.featherhq.com
    description: Production environment
security: []
paths:
  /api/v1/chat/threads/{threadId}/messages:
    get:
      tags:
        - Chat
      summary: Get messages for a web chat thread
      description: >-
        Get paginated message history for a web chat thread. Requires chat JWT
        authentication.
      parameters:
        - schema:
            type: string
            format: uuid
          required: true
          name: threadId
          in: path
        - schema:
            type: string
          required: false
          description: 'Number of messages per page (default: 50, max: 100)'
          name: limit
          in: query
        - schema:
            type: string
          required: false
          description: Cursor for pagination (createdAt_id of the last message)
          name: cursor
          in: query
      responses:
        '200':
          description: Chat thread messages
          content:
            application/json:
              schema:
                type: object
                properties:
                  messages:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        direction:
                          type: string
                          enum:
                            - INBOUND
                            - OUTBOUND
                        messageBody:
                          type: string
                        status:
                          type: string
                          enum:
                            - QUEUED
                            - SENDING
                            - SENT
                            - DELIVERED
                            - FAILED
                            - UNDELIVERED
                            - READ
                            - RECEIVED
                            - DISCARDED
                        createdAt:
                          type: string
                      required:
                        - id
                        - direction
                        - messageBody
                        - status
                        - createdAt
                  pagination:
                    type: object
                    properties:
                      limit:
                        type: number
                        minimum: 1
                        maximum: 100
                        default: 10
                      nextCursor:
                        type: string
                required:
                  - messages
                  - pagination
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    default: 400
                  message:
                    type: string
                    default: Bad request
                  code:
                    type: string
                    enum:
                      - BAD_REQUEST
                    default: BAD_REQUEST
                  success:
                    type: boolean
                    enum:
                      - false
                    default: false
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    default: 403
                  message:
                    type: string
                    default: Forbidden
                  code:
                    type: string
                    enum:
                      - FORBIDDEN
                    default: FORBIDDEN
                  success:
                    type: boolean
                    enum:
                      - false
                    default: false
        '404':
          description: Thread not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    default: 404
                  message:
                    type: string
                    default: Not found
                  code:
                    type: string
                    enum:
                      - NOT_FOUND
                    default: NOT_FOUND
                  success:
                    type: boolean
                    enum:
                      - false
                    default: false
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    default: 500
                  message:
                    type: string
                    default: Internal server error
                  code:
                    type: string
                    enum:
                      - INTERNAL_SERVER_ERROR
                    default: INTERNAL_SERVER_ERROR
                  success:
                    type: boolean
                    enum:
                      - false
                    default: false

````