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

# List messages in a chat

> Lists the messages in a chat, newest first. Each message includes its plain-text content plus structured parts (reasoning, tool activity, and referenced charts).



## OpenAPI

````yaml https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/chats/{chatId}/messages
openapi: 3.1.0
info:
  title: Basedash Public API
  version: 0.0.0
  description: >-
    API for programmatic access to Basedash features. Use API keys for
    authentication.
  contact:
    name: Basedash Support
    url: https://basedash.com
    email: support@basedash.com
servers:
  - url: https://charts.basedash.com
    description: Production
security: []
tags:
  - name: Organizations
    description: Manage organizations
  - name: Groups
    description: Manage organization groups and memberships
  - name: Data Sources
    description: Manage database connections and data sources
  - name: MCP servers
    description: Manage MCP server data sources
  - name: Insights
    description: Manage generated insights
  - name: Automations
    description: Manage automations and automation runs
  - name: Skills
    description: Manage organization skills
  - name: Definitions
    description: Manage reusable SQL definitions
  - name: Dashboards
    description: Manage dashboards and their tabs
  - name: Charts
    description: Manage charts and their SQL queries
  - name: Chats
    description: >-
      Chat with the Basedash AI agent about your data. Start a chat by sending a
      message, then continue the conversation with follow-up messages. The
      assistant responds asynchronously: pass the `wait` query parameter to
      receive the finished response in the same request, or poll the assistant
      message (or stream its events) after an HTTP 202. Chats created through
      the API are not shown in the Basedash app.
paths:
  /api/public/organizations/{orgId}/chats/{chatId}/messages:
    get:
      tags:
        - Chats
      summary: List messages in a chat
      description: >-
        Lists the messages in a chat, newest first. Each message includes its
        plain-text content plus structured parts (reasoning, tool activity, and
        referenced charts).
      parameters:
        - schema:
            type: string
            description: Organization ID
          required: true
          description: Organization ID
          name: orgId
          in: path
        - schema:
            type: string
            description: Chat ID
          required: true
          description: Chat ID
          name: chatId
          in: path
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
            description: Maximum number of items to return (1-100, default 50)
          required: false
          description: Maximum number of items to return (1-100, default 50)
          name: limit
          in: query
        - schema:
            type: string
            description: Cursor for pagination (ID of the last item from previous page)
          required: false
          description: Cursor for pagination (ID of the last item from previous page)
          name: cursor
          in: query
      responses:
        '200':
          description: Messages retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicChatMessageListResponse'
        '401':
          description: Unauthorized - Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found - Chat not found or no member access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded - Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    PublicChatMessageListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PublicChatMessage'
        pagination:
          $ref: '#/components/schemas/PaginationMeta'
      required:
        - data
        - pagination
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - error
    RateLimitErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/RateLimitError'
      required:
        - error
    PublicChatMessage:
      type: object
      properties:
        id:
          type: string
          description: Chat message ID
        chatId:
          type: string
          description: Chat ID
        role:
          type: string
          enum:
            - user
            - assistant
          description: Message author role
        status:
          $ref: '#/components/schemas/PublicChatMessageStatus'
        parentId:
          type:
            - string
            - 'null'
          description: User message ID associated with an assistant response
        text:
          type: string
          description: >-
            The message as plain text. For assistant messages this is the final
            answer, without reasoning or tool activity; see parts for the full
            structured content.
        parts:
          type: array
          items:
            $ref: '#/components/schemas/PublicChatContentPart'
          description: Ordered structured message content
        charts:
          type: array
          items:
            $ref: '#/components/schemas/PublicChatChart'
          description: Charts referenced by the assistant response
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
        updatedAt:
          type: string
          format: date-time
          description: Last update timestamp
      required:
        - id
        - chatId
        - role
        - status
        - parentId
        - text
        - parts
        - charts
        - createdAt
        - updatedAt
      description: The message you sent
    PaginationMeta:
      type: object
      properties:
        nextCursor:
          type:
            - string
            - 'null'
          description: Cursor for the next page (null if no more pages)
        hasMore:
          type: boolean
          description: Whether there are more items after this page
      required:
        - nextCursor
        - hasMore
    ApiError:
      type: object
      properties:
        title:
          type: string
          description: Error type identifier
        detail:
          type: string
          description: Human-readable error description
      required:
        - title
        - detail
    RateLimitError:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - type: object
          properties:
            title:
              type: string
              enum:
                - RateLimitExceeded
            retryAfterMs:
              type: number
              description: Milliseconds until the rate limit window resets
          required:
            - retryAfterMs
    PublicChatMessageStatus:
      type: string
      enum:
        - generating
        - finished
        - aborted
        - error
        - action_required
      description: >-
        `generating` while the assistant is responding, `finished` when the
        response is complete, `aborted` if it was canceled, `error` if it
        failed, and `action_required` if the assistant is waiting on a
        confirmation it cannot receive over the API
    PublicChatContentPart:
      type: object
      properties:
        id:
          type: string
          description: Content part ID
        type:
          type: string
          enum:
            - text
            - reasoning_summary
            - tool_call
            - tool_call_result
            - context
            - action
            - image
            - file
          description: Content part type
        content:
          type: string
          description: Text content or a JSON-encoded payload for structured part types
        externalId:
          type:
            - string
            - 'null'
          description: Provider item or tool call ID, when present
        name:
          type:
            - string
            - 'null'
          description: Tool or content part name
        phase:
          type:
            - string
            - 'null'
          enum:
            - commentary
            - final_answer
            - null
          description: Assistant response phase
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
        updatedAt:
          type: string
          format: date-time
          description: Last update timestamp
      required:
        - id
        - type
        - content
        - externalId
        - name
        - phase
        - createdAt
        - updatedAt
    PublicChatChart:
      type: object
      properties:
        chartId:
          type: string
          description: Chart ID
        chartVersionId:
          type: string
          description: Chart version ID
        title:
          type: string
          description: Chart title
        imageUrl:
          type: string
          format: uri
          description: >-
            URL that renders this chart as a PNG. Request it with the same API
            key authentication.
        mimeType:
          type: string
          description: Screenshot MIME type
        width:
          type: integer
          exclusiveMinimum: 0
          description: Screenshot width
        height:
          type: integer
          exclusiveMinimum: 0
          description: Screenshot height
      required:
        - chartId
        - chartVersionId
        - title
        - imageUrl
        - mimeType
        - width
        - height
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key authentication using Bearer token format: `Bearer
        <basedash_api_key>`

````