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

# List conversation messages

> Lists the messages of a conversation, newest first by default. The conversation id is the `call.customerPlatformId` returned by the sessions endpoints. Paginate with the returned `nextCursor`.



## OpenAPI

````yaml get /v1/conversations/{id}/messages
openapi: 3.0.0
info:
  title: Kinbox API
  description: Kinbox public API
  version: '2.0'
  contact: {}
servers: []
security: []
tags: []
paths:
  /v1/conversations/{id}/messages:
    get:
      tags:
        - v1Messages
      summary: List conversation messages
      description: >-
        Lists the messages of a conversation, newest first by default. The
        conversation id is the `call.customerPlatformId` returned by the
        sessions endpoints. Paginate with the returned `nextCursor`.
      operationId: getConversationMessages
      parameters:
        - name: id
          required: true
          in: path
          description: Conversation id (customerPlatformId)
          schema:
            type: number
        - name: limit
          required: false
          in: query
          description: >-
            A limit on the number of objects to be returned. Limit can range
            between 1 and 100.
          schema:
            default: 20
            type: number
        - name: cursor
          required: false
          in: query
          description: >-
            A cursor for use in pagination. Use the `nextCursor` returned by the
            previous request.
          schema:
            type: string
        - name: order
          required: false
          in: query
          description: Sort order by creation. `desc` returns the newest messages first.
          schema:
            default: desc
            enum:
              - asc
              - desc
            type: string
        - name: created_at_from
          required: false
          in: query
          description: Only return messages created after this date.
          schema:
            type: string
        - name: created_at_to
          required: false
          in: query
          description: Only return messages created before this date.
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageCursorPaginatedResponseDto'
components:
  schemas:
    MessageCursorPaginatedResponseDto:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/MessagePublicDto'
        nextCursor:
          type: string
          nullable: true
          description: Cursor for the next page. Null if there are no more results.
      required:
        - data
        - nextCursor
    MessagePublicDto:
      type: object
      properties:
        id:
          type: string
          example: '37826587'
          description: >-
            Id da mensagem. Numérico para mensagens comuns; pode ser um ObjectId
            para mensagens sem id numérico.
        conversationId:
          type: number
          example: 1234567
          description: Id da conversa (contato no canal) a que a mensagem pertence
        callId:
          type: number
          example: 987654
          nullable: true
          description: Id da sessão de atendimento (call) da mensagem
        channelId:
          type: number
          example: 103
          nullable: true
          description: Id do canal pelo qual a mensagem passou
        sender:
          type: string
          enum:
            - contact
            - operator
            - bot
            - note
            - system
          example: contact
        type:
          type: number
          example: 0
          description: 'Tipo bruto: 0 comum, 1 sistema, 2 nota interna, 3 bot, 4 e-mail'
        operatorId:
          type: number
          example: 42
          nullable: true
        operatorName:
          type: string
          example: Maria
          nullable: true
        contactName:
          type: string
          example: Fulano
          nullable: true
        content:
          type: string
          example: '[{"insert":"Olá"}]'
          description: >-
            Conteúdo bruto como armazenado (normalmente um Quill Delta
            serializado)
        text:
          type: string
          example: Olá
          description: Texto extraído de `content`
        media:
          description: Mídias extraídas de `content`
          type: array
          items:
            $ref: '#/components/schemas/MessageMediaDto'
        isMedia:
          type: boolean
          example: false
        fileName:
          type: string
          example: contrato.pdf
          nullable: true
        externalId:
          type: string
          example: wamid.HBgLNTU4NT...
          nullable: true
          description: 'Id da mensagem na plataforma de origem (ex.: WhatsApp)'
        replyTo:
          type: object
          nullable: true
          description: Referência da mensagem respondida, quando houver
        status:
          type: number
          example: 6
          nullable: true
          description: >-
            Status de envio: 0 enviada ao módulo, 2 enviada à API, 4 aguardando
            reenvio, 6 entregue, 8 erro
        isSent:
          type: boolean
          example: true
        isError:
          type: boolean
          example: false
        errorDescription:
          type: string
          nullable: true
        isDeleted:
          type: boolean
          example: false
        isScheduled:
          type: boolean
          example: false
        isForwarding:
          type: boolean
          example: false
        viewedAt:
          type: string
          example: '2026-09-14T12:00:00.000Z'
          nullable: true
          description: Quando a mensagem foi visualizada pelo destinatário
        createdAt:
          type: string
          example: '2026-09-14T11:58:00.000Z'
      required:
        - id
        - conversationId
        - sender
        - type
        - content
        - text
        - isMedia
        - isSent
        - isError
        - isDeleted
        - isScheduled
        - isForwarding
        - createdAt
    MessageMediaDto:
      type: object
      properties:
        kind:
          type: string
          example: image
          description: Tipo da mídia (image, video, audio, file...)
        url:
          type: string
          example: https://cdn.kinbox.com.br/media/abc.jpg
      required:
        - kind
        - url

````