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

# List Run Messages

> Get paginated messages for an agent run. Messages are returned in chronological order.



## OpenAPI

````yaml /api-reference/openapi.json get /v2/runs/{run_id}/messages
openapi: 3.0.3
info:
  title: Duvo Public API
  description: >-
    Public API for programmatic access to Duvo. Authenticate with API keys
    created in the Duvo dashboard.
  version: 1.0.0
servers:
  - url: https://api.duvo.ai
    description: Production server
security: []
tags:
  - name: Runs
    description: Start, monitor, and manage agent runs (Runs in the Duvo UI)
  - name: Sandboxes
    description: Create sandboxes and upload files for agent runs
  - name: Queues
    description: Manage queues and their agent bindings
  - name: Cases
    description: Create, list, and manage cases and their labels within queues
  - name: Case Approvals
    description: Submit decisions on pending case approval requests issued by an agent run
  - name: Agents
    description: Create and manage agents for automation workloads
  - name: Revisions
    description: Create and manage agent revisions — the underlying Setup for an Agent
  - name: Agent Folders
    description: Organize agents into folders
  - name: Agent Memory
    description: Read an agent's memory files (the Memory feature in the Duvo UI)
  - name: Suggestions
    description: >-
      List, apply, and dismiss an Agent's improvement suggestions (the
      suggestions inbox in the Duvo UI)
  - name: Schedules
    description: List schedules configured for an agent
  - name: Duvo Pulse
    description: >-
      Create, list, iterate on, and delete Duvo Pulse dashboards — live,
      agent-generated visualizations of your Duvo data
  - name: Case Triggers
    description: >-
      Configure case triggers that automatically dispatch agent runs (Runs in
      the Duvo UI) for cases added to a queue
  - name: Triggers
    description: >-
      Configure event triggers that start a Run automatically when an external
      event fires (e.g. an email arrives, a Linear issue is created, or a file
      changes in Google Drive)
  - name: Skills
    description: Manage team and system skills (reusable knowledge packs).
  - name: Files
    description: Manage team files.
  - name: Plugins
    description: Discover plugins that can be referenced from a revision.
  - name: Organizations
    description: Inspect organizations you belong to and the teams within them
  - name: Team
    description: Inspect the team and members associated with the API key
  - name: Integrations
    description: Browse the team's catalog of available integration types
  - name: Connections
    description: Manage your connected integrations
  - name: Credentials
    description: >-
      Manage logins (domain + username + password + TOTP) used by agents to sign
      in to websites and desktop applications, and attach them to assignment
      revisions
  - name: Secrets
    description: >-
      Manage env-var secrets injected into runs, and attach them to assignment
      revisions. Only metadata is exposed; values are never returned
  - name: Revision Integrations
    description: >-
      Attach integrations to assignment revisions, pin specific connections, and
      link queues
  - name: ClarityV2
    description: >-
      Manage Clarity v2 process snapshots, transformation proposals, and the
      extra-capture-request follow-up loop
paths:
  /v2/runs/{run_id}/messages:
    get:
      tags:
        - Runs
      summary: List Run Messages
      description: >-
        Get paginated messages for an agent run. Messages are returned in
        chronological order.
      operationId: listRunMessages
      parameters:
        - schema:
            default: 20
            type: integer
            minimum: 1
            maximum: 50
          in: query
          name: limit
          required: false
          description: Number of messages per page (1-50, default 20)
        - schema:
            type: integer
            minimum: 0
            maximum: 9007199254740991
          in: query
          name: offset
          required: false
          description: Number of messages to skip
        - schema:
            type: string
            format: uuid
          in: path
          name: run_id
          required: true
          description: The run's unique identifier
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  messages:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique message identifier
                        type:
                          type: string
                          description: Message type
                        role:
                          type: string
                          description: Sender role (e.g., user, assistant, tool)
                        timestamp:
                          type: string
                          description: ISO 8601 timestamp when the message was sent
                        text_content:
                          description: Plain text content of the message
                          type: string
                        tool_call:
                          description: Tool invocation details when role is assistant
                          type: object
                          properties:
                            id:
                              type: string
                              description: Tool call identifier
                            name:
                              type: string
                              description: Tool name being invoked
                            arguments:
                              description: Arguments passed to the tool
                              type: object
                              additionalProperties: {}
                          required:
                            - id
                            - name
                          additionalProperties: false
                        tool_result:
                          description: Tool result details when role is tool
                          type: object
                          properties:
                            tool_call_id:
                              type: string
                              description: ID of the tool call this result corresponds to
                            result:
                              description: Serialized tool output
                            error:
                              description: Error message if the tool invocation failed
                              type: string
                          required:
                            - tool_call_id
                          additionalProperties: false
                      required:
                        - id
                        - type
                        - role
                        - timestamp
                      additionalProperties: false
                    description: Messages for the run, in chronological order
                  total:
                    type: number
                    description: Total number of messages for the run
                  limit:
                    type: number
                    description: Number of messages per page
                  offset:
                    type: number
                    description: Number of messages skipped
                required:
                  - messages
                  - total
                  - limit
                  - offset
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your API key from the Duvo dashboard.

````