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

# Get messages

> List all messages of a conversation



## OpenAPI

````yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/swagger/tag_groups/application_swagger.json get /api/v1/accounts/{account_id}/conversations/{conversation_id}/messages
openapi: 3.1.0
info:
  title: Chatwoot
  description: This is the API documentation for Chatwoot server.
  version: 1.1.0
  termsOfService: https://www.chatwoot.com/terms-of-service/
  contact:
    email: hello@chatwoot.com
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://app.chatwoot.com/
security: []
tags:
  - name: Account AgentBots
    description: Account-specific Agent Bots
  - name: Agents
    description: Agent management APIs
  - name: Canned Responses
    description: Pre-defined responses for common queries
  - name: Contacts
    description: Contact management APIs
  - name: Contact Labels
    description: Manage contact labels
  - name: Conversation Assignments
    description: Manage conversation assignments
  - name: Conversation Labels
    description: Manage conversation labels
  - name: Conversations
    description: Conversation management APIs
  - name: Custom Attributes
    description: Custom fields for contacts and conversations
  - name: Custom Filters
    description: Saved filters for conversations
  - name: Inboxes
    description: Communication channels setup
  - name: Integrations
    description: Third-party integrations
  - name: Labels
    description: Account label management APIs
  - name: Messages
    description: Message management APIs
  - name: Profile
    description: User profile APIs
  - name: Reports
    description: Analytics and reporting APIs
  - name: Teams
    description: Team management APIs
  - name: Webhooks
    description: Event notification webhooks
  - name: Automation Rule
    description: Workflow automation rules
  - name: Help Center
    description: Knowledge base management
paths:
  /api/v1/accounts/{account_id}/conversations/{conversation_id}/messages:
    parameters:
      - $ref: '#/components/parameters/account_id'
      - $ref: '#/components/parameters/conversation_id'
    get:
      tags:
        - Messages
      summary: Get messages
      description: List all messages of a conversation
      operationId: list-all-messages
      parameters:
        - name: after
          in: query
          schema:
            type: integer
          description: >-
            Fetch messages after the message with this ID. Returns up to 100
            messages in ascending order.
        - name: before
          in: query
          schema:
            type: integer
          description: >-
            Fetch messages before the message with this ID. Returns up to 20
            messages in ascending order.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                    properties:
                      labels:
                        type: array
                        items:
                          type: string
                      additional_attributes:
                        type: object
                      contact:
                        $ref: '#/components/schemas/contact'
                      assignee:
                        $ref: '#/components/schemas/agent'
                      agent_last_seen_at:
                        type:
                          - string
                          - 'null'
                        format: date-time
                      assignee_last_seen_at:
                        type:
                          - string
                          - 'null'
                        format: date-time
                  payload:
                    type: array
                    description: Array of messages
                    items:
                      $ref: '#/components/schemas/message'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
        '404':
          description: Conversation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
      security:
        - userApiKey: []
components:
  parameters:
    account_id:
      in: path
      name: account_id
      schema:
        type: integer
      required: true
      description: The numeric ID of the account
    conversation_id:
      in: path
      name: conversation_id
      schema:
        type: integer
      required: true
      description: The numeric ID of the conversation
  schemas:
    contact:
      type: object
      properties:
        payload:
          type: array
          items:
            type: object
            properties:
              additional_attributes:
                type: object
                description: >-
                  The object containing additional attributes related to the
                  contact
              availability_status:
                type: string
                description: The availability status of the contact
              email:
                type: string
                description: The email address of the contact
              id:
                type: integer
                description: The ID of the contact
              name:
                type: string
                description: The name of the contact
              phone_number:
                type: string
                description: The phone number of the contact
              blocked:
                type: boolean
                description: Whether the contact is blocked
              identifier:
                type: string
                description: The identifier of the contact
              thumbnail:
                type: string
                description: The thumbnail of the contact
              custom_attributes:
                type: object
                description: The custom attributes of the contact
                example:
                  attribute_key: attribute_value
                  signed_up_at: dd/mm/yyyy
              last_activity_at:
                type: integer
                description: The last activity at of the contact
              created_at:
                type: integer
                description: The created at of the contact
              contact_inboxes:
                type: array
                items:
                  $ref: '#/components/schemas/contact_inboxes'
    agent:
      type: object
      properties:
        id:
          type: integer
        account_id:
          type: integer
        availability_status:
          type: string
          enum:
            - available
            - busy
            - offline
          description: The availability status of the agent computed by Chatwoot.
        auto_offline:
          type: boolean
          description: >-
            Whether the availability status of agent is configured to go offline
            automatically when away.
        confirmed:
          type: boolean
          description: Whether the agent has confirmed their email address.
        email:
          type: string
          description: The email of the agent
        available_name:
          type: string
          description: The available name of the agent
        name:
          type: string
          description: The name of the agent
        role:
          type: string
          enum:
            - agent
            - administrator
          description: The role of the agent
        thumbnail:
          type: string
          description: The thumbnail of the agent
        custom_role_id:
          type:
            - integer
            - 'null'
          description: The custom role id of the agent
    message:
      type: object
      properties:
        id:
          type: number
          description: The ID of the message
        content:
          type: string
          description: The text content of the message
        account_id:
          type: number
          description: The ID of the account
        inbox_id:
          type: number
          description: The ID of the inbox
        conversation_id:
          type: number
          description: The ID of the conversation
        message_type:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 3
          description: The type of the message
        created_at:
          type: integer
          description: The time at which message was created
        updated_at:
          type:
            - integer
            - string
          description: The time at which message was updated
        private:
          type: boolean
          description: The flags which shows whether the message is private or not
        status:
          type:
            - string
            - 'null'
          enum:
            - sent
            - delivered
            - read
            - failed
            - null
          description: The status of the message
        source_id:
          type:
            - string
            - 'null'
          description: The source ID of the message
        content_type:
          type:
            - string
            - 'null'
          enum:
            - text
            - input_text
            - input_textarea
            - input_email
            - input_select
            - cards
            - form
            - article
            - incoming_email
            - input_csat
            - integrations
            - sticker
            - voice_call
            - null
          description: The type of the template message
        content_attributes:
          type: object
          description: The content attributes for each content_type
        sender_type:
          type:
            - string
            - 'null'
          enum:
            - Contact
            - User
            - AgentBot
            - Captain::Assistant
            - null
          description: The type of the sender
        sender_id:
          type:
            - number
            - 'null'
          description: The ID of the sender
        external_source_ids:
          type: object
          description: The external source IDs of the message
        additional_attributes:
          type: object
          description: The additional attributes of the message
        processed_message_content:
          type:
            - string
            - 'null'
          description: The processed message content
        sentiment:
          type:
            - object
            - 'null'
          description: The sentiment of the message
        conversation:
          type:
            - object
            - 'null'
          description: The conversation object
        attachment:
          type:
            - object
            - 'null'
          description: The file object attached to the image
        sender:
          type: object
          description: User/Agent/AgentBot object
    bad_request_error:
      title: data
      type: object
      properties:
        description:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/request_error'
    contact_inboxes:
      type: object
      properties:
        source_id:
          type: string
          description: Contact Inbox Source Id
        inbox:
          $ref: '#/components/schemas/inbox_contact'
    request_error:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        code:
          type: string
    inbox_contact:
      type: object
      properties:
        id:
          type: number
          description: ID of the inbox
        avatar_url:
          type: string
          description: The avatar image of the inbox
        channel_id:
          type: number
          description: The ID of the channel
        name:
          type: string
          description: The name of the inbox
        channel_type:
          type: string
          description: The type of the inbox
        provider:
          type: string
          description: The provider of the inbox
  securitySchemes:
    userApiKey:
      type: apiKey
      in: header
      name: api_access_token
      description: >-
        This token can be obtained by visiting the profile page or via rails
        console. Provides access to  endpoints based on the user permissions
        levels. This token can be saved by an external system when user is
        created via API, to perform activities on behalf of the user.

````