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

# List conversations

> Returns the list of conversations.



## OpenAPI

````yaml get /conversations
openapi: 3.0.3
info:
  version: 0.1.1
  title: Datagrid API
  description: Datagrid API
servers:
  - url: https://api.datagrid.com/v1
security:
  - BearerAuth: []
paths:
  /conversations:
    get:
      tags:
        - Conversations
      summary: List conversations
      description: Returns the list of conversations.
      operationId: Conversations.listConversations
      parameters:
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/after'
        - $ref: '#/components/parameters/before'
        - name: sort
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/ConversationSortField'
          description: The field to sort the conversations by.
        - $ref: '#/components/parameters/direction'
        - name: has_messages
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: >-
            When true, excludes conversations that never had a message sent
            (e.g. abandoned sessions). Defaults to false, returning every
            conversation regardless of message count. Changing this value
            between requests that reuse the same `before`/`after` cursor is not
            supported — the cursor was computed against a different result set,
            so pass a consistent value for the lifetime of a given pagination
            sequence.
        - name: has_voice_messages
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: >-
            When true, restricts the list to conversations that contain at least
            one voice message. Defaults to false, returning conversations
            regardless of modality. Changing this value between requests that
            reuse the same `before`/`after` cursor is not supported — the cursor
            was computed against a different result set, so pass a consistent
            value for the lifetime of a given pagination sequence.
        - name: has_voice_or_mobile_messages
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: >-
            When true, restricts the list to conversations that contain at least
            one voice message or had a message sent from the Datagrid mobile
            app. Defaults to false, returning conversations regardless of
            modality or client. Combined with `has_voice_messages=true`, both
            filters apply and only voice conversations are returned. Changing
            this value between requests that reuse the same `before`/`after`
            cursor is not supported — the cursor was computed against a
            different result set, so pass a consistent value for the lifetime of
            a given pagination sequence.
      responses:
        '200':
          description: List of conversations
          content:
            application/json:
              schema:
                type: object
                required:
                  - object
                  - data
                properties:
                  object:
                    type: string
                    enum:
                      - list
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Conversation'
                    description: >-
                      An array containing the actual response elements,
                      paginated by any request parameters.
                  has_more:
                    type: boolean
                    description: >-
                      Whether or not there are more elements available after
                      this set. If false, this set comprises the end of the
                      list.
        '429':
          description: >-
            Rate limit exceeded. The request has been throttled because the rate
            limit for this endpoint has been reached. Check the `Retry-After`
            response header and retry after the specified number of seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
components:
  parameters:
    limit:
      name: limit
      in: query
      schema:
        type: integer
        default: 50
        minimum: 1
        maximum: 100
      required: false
      description: The limit on the number of objects to return, ranging between 1 and 100.
    after:
      name: after
      in: query
      schema:
        type: string
      required: false
      description: >-
        A cursor to use in pagination. `after` is an object ID that defines your
        place in the list. For example, if you make a list request and receive
        100 objects, ending with `obj_foo`, your subsequent call can include
        `after=obj_foo` to fetch the next page of the list.
    before:
      name: before
      in: query
      schema:
        type: string
      required: false
      description: >-
        A cursor to use in pagination. `before` is an object ID that defines
        your place in the list. For example, if you make a list request and
        receive 100 objects, starting with `obj_bar`, your subsequent call can
        include `before=obj_bar` to fetch the previous page of the list.
    direction:
      name: direction
      in: query
      schema:
        type: string
        enum:
          - asc
          - desc
      required: false
      description: The direction to sort the results.
  schemas:
    ConversationSortField:
      type: string
      description: The field to sort the conversations by.
      enum:
        - created_at
        - updated_at
    Conversation:
      type: object
      description: The `conversation` object represents a conversation with an AI agent.
      required:
        - object
        - id
        - created_at
        - updated_at
      properties:
        object:
          type: string
          enum:
            - conversation
          description: The object type, which is always `conversation`.
        id:
          type: string
          description: >-
            The conversation identifier, which can be referenced in the API
            endpoints.
        name:
          type: string
          description: The name of the conversation.
        created_at:
          type: string
          format: date-time
          description: The ISO string for when the conversation was created.
        updated_at:
          type: string
          format: date-time
          description: The ISO string for when the conversation was last updated.
        agent_ids:
          type: array
          items:
            type: string
          description: Array of agent IDs currently assigned to this conversation.
        participated_agent_ids:
          type: array
          items:
            type: string
          description: >-
            Array of agent IDs that have previously responded in this
            conversation. This list only grows and is never cleared when agents
            are reassigned.
    RateLimitError:
      type: object
      description: >-
        Returned when the rate limit is exceeded. Rate limits are enforced per
        teamspace, endpoint path, and HTTP method over a 60-second sliding
        window. Each endpoint may have its own limit — check the
        X-RateLimit-Limit response header for the effective value.
      required:
        - error
        - message
        - retryable
        - status_code
      properties:
        status_code:
          type: integer
          description: The HTTP status code (429).
        statusCode:
          type: integer
          deprecated: true
          description: Deprecated. Use status_code instead.
        error:
          type: string
          enum:
            - rate_limit_exceeded
          description: The error code identifying this as a rate limit error.
        message:
          type: string
          description: A human-readable error message.
        mitigation:
          type: string
          description: Suggested action to resolve the error.
        retryable:
          type: boolean
          description: Whether the request can be retried after a delay.
        details:
          type: object
          properties:
            reason:
              type: string
              description: A detailed explanation of why the rate limit was exceeded.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.