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

# List messages in a conversation

> Returns a cursor-paginated list of messages for the given conversation. Supports loading around a specific starter message, text search, and bi-directional cursor pagination.



## OpenAPI

````yaml /openapi.yaml get /conversations/{conversation}/messages
openapi: 3.0.0
info:
  title: Ziik API
  version: '1.0'
servers: []
security: []
tags:
  - name: Auth
    description: Auth
  - name: Posts
    description: Posts
  - name: Counters
    description: Counters
  - name: Groups
    description: Groups
  - name: Languages
    description: Languages
  - name: Timezones
    description: Timezones
  - name: Units
    description: Units
  - name: User unit memberships
    description: User unit memberships
  - name: Users
    description: Users
  - name: User types
    description: User types
  - name: Conversations
    description: Conversations
paths:
  /conversations/{conversation}/messages:
    get:
      tags:
        - Conversations
      summary: List messages in a conversation
      description: >-
        Returns a cursor-paginated list of messages for the given conversation.
        Supports loading around a specific starter message, text search, and
        bi-directional cursor pagination.
      operationId: 3eb0820762ee84d6558e8e9ce3370a95
      parameters:
        - name: conversation
          in: path
          description: Conversation ID
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: Maximum number of messages to return (default 25)
          required: false
          schema:
            type: integer
            default: 25
            maximum: 100
            minimum: 1
        - name: starter_message_id
          in: query
          description: >-
            ID of a message to load around; when provided (without cursor or
            query), the API returns messages before and after this message and
            custom cursors to continue pagination.
          required: false
          schema:
            type: integer
        - name: cursor
          in: query
          description: >-
            Cursor string used for pagination when not using starter_message_id
            flow.
          required: false
          schema:
            type: string
        - name: query
          in: query
          description: Full-text search in message body; only normal messages are searched.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Cursor-paginated list of messages in the conversation.
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Message'
                  meta:
                    properties:
                      next_cursor:
                        type: string
                        nullable: true
                      prev_cursor:
                        type: string
                        nullable: true
                    type: object
                type: object
components:
  schemas:
    Message:
      properties:
        id:
          type: integer
          example: 1
        type:
          type: string
        conversationId:
          type: integer
        is_reply:
          type: boolean
        parent:
          oneOf:
            - $ref: '#/components/schemas/Message'
          nullable: true
        deleted:
          type: boolean
        message:
          type: string
        date:
          description: Unix timestamp
          type: integer
        edited_at:
          type: integer
          nullable: true
        reactions:
          type: array
          items:
            type: object
        author:
          oneOf:
            - $ref: '#/components/schemas/BasicUser'
          nullable: true
        files:
          type: array
          items:
            $ref: '#/components/schemas/File'
        voice:
          oneOf:
            - $ref: '#/components/schemas/Voice'
          nullable: true
      type: object
    BasicUser:
      properties:
        id:
          type: integer
          example: 1
        first_name:
          type: string
          example: John
        last_name:
          type: string
          example: Doe
        name:
          type: string
          example: John Doe
        title:
          type: string
          example: Manager
        active:
          type: boolean
          example: true
        avatar:
          description: Avatar image or null
          type: object
          nullable: true
        archived_at:
          description: Conversation participant archived timestamp or null
          type: integer
          format: int64
          nullable: true
        participant_type:
          description: Conversation participant type when present
          type: string
          nullable: true
        subtext:
          description: Short descriptive text combining title/unit/department
          type: string
          example: Manager - HQ (Sales)
        department:
          properties:
            id:
              type: integer
              example: 10
            name:
              type: string
              example: Sales
          type: object
          nullable: true
        unit:
          properties:
            id:
              type: integer
              example: 5
            name:
              type: string
              example: HQ
          type: object
          nullable: true
      type: object
    File:
      properties:
        id:
          type: integer
          example: 1
        name:
          type: string
          example: document.pdf
        mime:
          type: string
          example: application/pdf
        size:
          type: integer
          example: 102400
        type:
          type: string
          example: file
        extension:
          type: string
          example: pdf
        uploaded:
          type: boolean
          example: true
        processing:
          type: boolean
          example: false
        height:
          description: Image height when file is an image
          type: integer
          nullable: true
        width:
          description: Image width when file is an image
          type: integer
          nullable: true
        source:
          description: URL used for getting the file
          type: string
          format: uri
        stream:
          description: Streaming URL for video files when available
          type: string
          format: uri
          nullable: true
        versions:
          description: Key-value map of available image versions and their URLs
          type: object
        screenshot:
          oneOf:
            - $ref: '#/components/schemas/File'
          nullable: true
          description: Screenshot file for video or PDF files
        date:
          description: Unix timestamp of last update
          type: integer
          format: int64
        created_at:
          description: File creation timestamp
          type: integer
          format: int64
        updated_at:
          description: File last update timestamp
          type: integer
          format: int64
        created_formatted:
          description: Human-readable creation date
          type: string
          nullable: true
        updated_formatted:
          description: Human-readable update date
          type: string
          nullable: true
      type: object
    Voice:
      properties:
        id:
          type: integer
          example: 1
        processing:
          type: boolean
          example: true
        extension:
          type: string
          example: mp3
          nullable: true
        duration:
          type: number
          format: float
          example: 12.5
          nullable: true
        url:
          description: Temporary URL to access the voice file
          type: string
          format: uri
          nullable: true
      type: object

````